AWS S3
Beaconv0.0.37 added AWS S3 support for teams that want Beacon endpoint events stored in an S3 bucket for data lake, SIEM, archive, or downstream detection workflows. Beacon remains the local JSONL producer and writes one source of truth, the active runtime JSONL log. Your customer-managed Vector agent tails that file and uploads gzip-compressed NDJSON objects to S3.
Use this path when you want Beacon events forwarded to S3 without storing AWS credentials, bucket policy, lifecycle, retention, or encryption settings in Beacon endpoint configuration.
Runtime log paths
| Mode | Runtime log |
|---|---|
| User mode | ~/.beacon/endpoint/logs/runtime.jsonl |
| System mode | /var/log/beacon-agent/runtime.jsonl |
/var/log/beacon-agent/runtime.jsonl without per-user home directory permissions.
Prerequisites
- Beacon endpoint installed and writing local JSONL.
- An AWS S3 bucket for Beacon runtime logs.
- Vector installed or deployable through your endpoint-management tooling.
- An IAM role or credentials available through the standard AWS credential provider chain for the process running Vector or the AWS CLI smoke test.
s3:PutObjectTagging, KMS permissions, or bucket-specific conditions only if your AWS controls require them. Configure bucket lifecycle, retention, server-side encryption, and access logging in AWS.
Install the S3 pack
Generate the AWS S3 content pack for a managed system-mode deployment:README.mdwith setup and validation stepss3-upload-smoke-test.shfor one-shot AWS CLI validation uploadsvector.tomlfor customer-managed Vector forwardingsample-event.jsonlwith Beacon endpoint sample events
--log-path /path/to/runtime.jsonl. The generated s3-upload-smoke-test.sh and vector.toml use the selected path.
One-shot smoke test
Use the generated smoke-test script to upload the current runtime log once. This is only for validation because it re-uploads the whole file every time.aws s3 cp and the standard AWS credential provider chain. You can provide credentials with an instance profile, SSO/profile configuration, environment variables, or your managed endpoint secret tooling. Beacon does not store AWS credentials.
Confirm the uploaded object:
Production forwarding
For production, use the generated Vector config as a customer-managed host-agent forwarding template. Beacon remains the local JSONL producer; Vector tailsruntime.jsonl, checkpoints file offsets in its data_dir, batches Beacon events, and writes gzip-compressed newline-delimited JSON objects into AWS S3.
Install Vector using your normal endpoint management tooling, then copy the generated config into Vector’s config directory. On a macOS system-mode Beacon deployment, the generated config tails /var/log/beacon-agent/runtime.jsonl:
BEACON_S3_BUCKET, optional BEACON_S3_PREFIX, AWS_REGION, optional BEACON_S3_STORAGE_CLASS, and any AWS credential-provider settings through the Vector service environment, host identity, or MDM/secret tooling. Do not store AWS destination secrets in Beacon endpoint configuration.
The template expects a Vector version with the file source, remap transform, and aws_s3 sink. It parses each Beacon JSONL line and re-encodes the original Beacon event as JSON with newline-delimited framing so S3 receives one Beacon event per line, without a Vector wrapper.
The template uses date-partitioned key_prefix, filename_time_format = "%s", and filename_append_uuid = true so production forwarding does not overwrite previous S3 objects. It also sets compression = "gzip", content_encoding = "gzip", and content_type = "application/x-ndjson".
If you adapt the config or use another forwarder, it should:
- Checkpoint file offsets.
- Follow Beacon’s local file rotation at the active
runtime.jsonlpath. - Keep each Beacon event as one JSON object per line.
- Batch newline-delimited JSON records.
- Use non-overwriting object keys.
- Retry transient failures without duplicating the whole file.
- Keep AWS credentials, IAM roles, bucket policy, lifecycle, and encryption outside Beacon endpoint configuration.
Validate forwarding
Confirm the Beacon runtime log exists and has recent endpoint events:s3:PutObject for the selected prefix.
Content retention
Beacon content retention controls what can be written toruntime.jsonl and forwarded to S3. Use metadata or redacted for stricter deployments:
full only when prompt text, tool input, command output, and retained content match your approved telemetry collection policy.
Related
beacon endpoint s3
Review AWS S3 command syntax, flags, and examples.
SIEM forwarding
Review forwarding patterns across Wazuh, Splunk HEC, Falcon LogScale, Elastic, Datadog, Sumo Logic, Rapid7, Microsoft Sentinel, AWS S3, Google Cloud Storage, and customer-managed pipelines.
Google Cloud Storage forwarding
Configure Vector forwarding from Beacon JSONL into Google Cloud Storage.
Endpoint event schema
Review normalized Beacon JSONL fields and example events.
Supported surfaces
Review supported agent harnesses, deployment modes, storage, and forwarding.

