Skip to main content

Forwarding Overview

Beacon supports CrowdStrike Falcon HEC forwarding in two ways:
  • Collector forwarding sends OTLP events that pass through Beacon’s local collector directly to Falcon.
  • Vector runtime-log forwarding tails Beacon’s local runtime.jsonl file and forwards hook-written events to Falcon.
Use Vector runtime-log forwarding when Claude Code telemetry is produced by Beacon hooks, or when your organization manages Claude’s OTLP settings separately. Beacon still writes every normalized endpoint event to the active runtime JSONL log.

Runtime log paths

Use system mode for MDM deployments so every managed endpoint writes to /var/log/beacon-agent/runtime.jsonl while the collector forwards to Falcon LogScale.

Falcon LogScale data connection

Use CrowdStrike Falcon LogScale data onboarding to collect Beacon endpoint telemetry from local JSONL logs. Beacon writes one JSON object per line, so create a custom parser before creating the data connection.

Open data onboarding

In CrowdStrike Falcon, go to Next-Gen SIEM > Log management > Data onboarding. CrowdStrike Falcon navigation showing Next-Gen SIEM data onboarding under Log management.

Select the Falcon LogScale Collector

Search for logscale, select Falcon LogScale Collector, then choose Configure. CrowdStrike data connectors page filtered to the Falcon LogScale Collector connector.

Create the Beacon parser

In Parsing and enrichment, select Create new parser. Name the parser beacon-jsonl, choose Blank template, and create the parser. CrowdStrike create new parser dialog with parser name beacon-jsonl and blank template selected. Paste this parser script:
Use this sample event as parser test data:
Run the parser test and confirm the parsed fields include event.dataset, event.action, host.hostname, user.name, process.name, and message. Events that include command.command also populate process.command_line. Save the parser when the sample event passes. CrowdStrike parser editor with the Beacon JSONL parser script and test data results.

Create the data connection

Return to the Falcon LogScale Collector connection details. Enter a connection name such as Beacon Agent Logs, add a description, select the beacon-jsonl parser, enable host enrichment if desired, accept the connector terms, and create the connection. CrowdStrike new connection details page with Beacon Agent Logs and the beacon-jsonl parser selected. After creating the connection, open the connection actions menu and select Generate API key. Save the generated API key with the connection API URL so your LogScale Collector can authenticate when forwarding Beacon events. CrowdStrike connection details page for Beacon Agent Logs showing the Generate API key action.

Run a smoke test

Run this local smoke test, replacing the token value with the API key generated for your data connection:
Run the local smoke test
A working connection returns a success JSON response. Then search LogScale for the smoke-test message:
This is what the smoke-test event looks like in CrowdStrike: CrowdStrike Advanced event search showing a parsed Beacon endpoint smoke test event with normalized fields.

Choose a forwarding path

Collector forwarding

Pass Falcon HEC settings during endpoint install:
Pass Falcon HEC settings during endpoint install
To add or update Falcon HEC on an existing endpoint, run repair with the same destination flags:
Update Falcon HEC on an existing endpoint

Settings

If your Falcon LogScale endpoint uses a private CA, pass the CA bundle with --falcon-ca-file /path/to/ca.pem.

Collector behavior

When Falcon HEC is configured, Beacon writes a collector pipeline with both exporters enabled:
The beaconjson exporter preserves the local runtime log. The falcon_hec exporter sends Beacon-normalized OTLP logs, traces, and metrics to Falcon LogScale as newline-delimited HEC events. Each HEC payload wraps the normalized Beacon event object, includes an @timestamp, and uses the configured token, source, sourcetype, and repository.

Vector runtime-log forwarding

Beacon v0.0.49 adds a managed Vector path for hook-only deployments. This is the recommended path when Claude Code hooks write events to runtime.jsonl but the Beacon collector is not the source of those events. The data flow is:

Package requirement

Use the Beacon macOS package that includes Vector. Homebrew updates the beacon CLI, but it does not install /opt/beacon/bin/vector or the Jamf helper scripts. The package installs:
These packaged helpers come from the repository paths:

Manual setup without Jamf

To simulate the Jamf setup on one Mac, install the Beacon package, then run the packaged helper manually. Jamf reserves script arguments 1-3, so pass _ _ _ before the custom parameters:
Simulate the Jamf setup on one Mac
The script:
  • prepares /var/log/beacon-agent/runtime.jsonl,
  • installs Claude Code hooks for the logged-in console user,
  • creates /Library/Application Support/Beacon/Forwarders/falcon-vector.toml,
  • stores the token in /Library/Application Support/Beacon/Forwarders/falcon-vector.env,
  • starts com.beacon.endpoint.falcon-forwarder.

Jamf parameters

Use /opt/beacon/jamf/claude/falcon/repair-hooks-and-forwarder.sh when one policy should repair Beacon, install Claude hooks, and start the Vector forwarder. For a forwarder-only policy, use /opt/beacon/jamf/claude/falcon/install-forwarder.sh with the same endpoint and token.

Validate hook-only forwarding

Confirm Vector is running:
Confirm Vector is running
Generate a unique Claude prompt and confirm it appears locally:
Generate a unique Claude prompt and confirm it appears locally
Search Falcon for the same marker:

Validate forwarding

Confirm Beacon has the destination configured:
Confirm Beacon has the destination configured
In the JSON output, check that destinations.falcon_hec.configured is true and that the endpoint, repository, source, and sourcetype match your deployment. The token is not printed. Then write a validation event:
Write a validation event
Search Falcon LogScale for the validation event and normalized Beacon fields:
If events do not appear, verify that the collector service is running, the Falcon HEC endpoint accepts the configured token, the repository name matches the token scope, and TLS settings match your LogScale deployment.
Check endpoint status as JSON

Content Handling

Beacon applies redaction, sanitization, truncation, and event-size limits before events are written locally or forwarded through Falcon HEC. Review repository access, parser behavior, retention, and downstream consumers so retained telemetry matches your approved collection policy.

Log forwarding

Review forwarding patterns and validation steps.

Deploy Beacon With Jamf And CrowdStrike Falcon

Roll out Claude hooks and Falcon runtime-log forwarding with Jamf Pro.

Endpoint install

Configure Falcon HEC forwarding during endpoint install.

Endpoint repair

Add or update Falcon HEC forwarding on an existing endpoint.

Endpoint event schema

Review normalized Beacon JSONL fields and example events.