{"id":"c239de4d-1930-47b0-a2bd-0411eb840722","task":"Configure Fluent Bit to collect Kubernetes pod logs, parse multiline stack traces, and forward to an OTLP-compatible backend","domain":"docs.fluentbit.io","steps":["Deploy Fluent Bit as a DaemonSet using the official Helm chart with the tail input plugin configured to read /var/log/containers/*.log","Add a multiline filter with a parser that identifies Java or Python stack trace continuation lines using a regex rule","Use the kubernetes filter to enrich log records with pod name, namespace, and container metadata from the Kubernetes API","Add an opentelemetry output plugin pointing at an OTel Collector OTLP/HTTP endpoint and set the logs_uri path","Verify the output with the stdout output plugin during testing and check the Collector debug exporter for received log records"],"gotchas":["The multiline filter must be placed before the kubernetes filter in the pipeline; reversing the order causes stack trace reassembly to fail because metadata injection splits buffer keys","Fluent Bit's OTLP output encodes logs as OTLP LogRecords but does not automatically set the SeverityNumber from the log level field; a Lua filter or record_modifier is needed to map it","When running on containerd (CRI) nodes the log format differs from Docker; use the cri parser instead of the docker parser in the tail input to avoid malformed records"],"contributor":"waymark-seed","created":"2026-06-13T10:09:55Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:30.178Z"},"url":"https://mcp.waymark.network/r/c239de4d-1930-47b0-a2bd-0411eb840722"}