Decide what may leave the host
Three settings control the content of every exported record:
A conservative posture for a regulated environment:
Send the records to a collector
The agent speaks OTLP/gRPC without TLS to a collector on the same host; the collector adds TLS, credentials and retention. Route the audit trail to a store with the retention your policy requires and to your SIEM:file_transfer record carries the time, the process, the script, the file identity, the peer address and the byte count. The full attribute list is in the metrics and attributes reference.
The questions the trail answers
Integrity and access
- The trail is only as good as the store. Use a backend with append-only or object-lock retention if the trail must be tamper-evident. Filetrace sends records; it does not sign them.
- The agent needs root. Only the agent loads BPF programs; the query commands need the agent’s socket. Restrict who can read it. See security.
- The metrics are not the trail. Counters survive an agent restart only as a reset; use the log records for per-file proof.
- Loss is recorded, not hidden. An
event_lossrecord withfiletrace.loss.kindsays when and where records were lost, so a gap in the trail is visible.
Sizing the trail
file_transfer records are emitted per transfer, not per byte, but a busy server can produce many. Batch in the collector and choose retention from policy, not from volume alone. If volume is a concern, export only file_transfer and event_loss, not network_send and network_receive, which are the numerous per-interval records.
Where the trail can mislead
- The agent’s history is in memory. A restart is a gap in the live view, but not in an exported trail.
INFERREDrecords are associations. The record says a thread read the file and then sent on the socket; it is evidence, not a signed statement of payload.- Device and inode identify a file for as long as it exists and has not been replaced. On a copy-on-write or overlay filesystem, the same path can have different inodes over time.
- Clock and ordering. Records carry the event time; use it, not arrival time, for the timeline.
Related pages
- OpenTelemetry export — settings, delivery and retries.
- Metrics and attributes reference — every record field.
- Security model
- Observability recipes — collector routing and joins.