Fluent Bit
This guide configures logs. Replace YOUR_INGEST_KEY with your key on your server, never in a public example.
1. Save fluent-bit.yaml
Section titled “1. Save fluent-bit.yaml”Choose the multiline parser for your actual format. The tail source wraps unparsed lines in log; the adapter recognizes that field. Mount storage.path persistently and bound disk use. Fluent Bit forward protocol is not an HTTP ingest format; use this HTTP output.
service: flush: 1 log_level: info storage.path: /var/lib/fluent-bit/storagepipeline: inputs: - name: tail path: /var/log/my-app/*.log tag: app read_from_head: false multiline.parser: python, java storage.type: filesystem outputs: - name: http match: '*' host: otlp.siteqwality.com port: 443 tls: on tls.verify: on uri: /ingest format: json header: - "Authorization Bearer YOUR_INGEST_KEY" - "X-Service my-service" - "X-Env production" retry_limit: no_limits2. Validate, then start
Section titled “2. Validate, then start”Write a fresh line to the configured file. Check exporter errors and Logs. Keep batches below 4,000,000 wire bytes; a record can be truncated by per-record limits.
fluent-bit --dry-run --config fluent-bit.yamlfluent-bit --config fluent-bit.yamlSee your data
Section titled “See your data”Open Logs, Traces or Metrics. New data usually shows up within a minute, and a page that says it is waiting for data switches to your data on its own. Nothing arriving? See what each status code means in failure handling.
Production checklist
Section titled “Production checklist”Store the key in your platform secret mechanism, rotate it when exposed and remove test keys. Set a stable service.name and deployment.environment.name; avoid user IDs or unbounded values in metric labels. Prefer a persistent queue, bounded retries and exporter failure monitoring. Review redaction and processors before increasing traffic.