Fluent Bit ist ein leichtgewichtiger Log- und Metrik-Collector, der in C geschrieben ist und als einzelnes Binary ohne Laufzeitumgebung auskommt. Er ist Teil des Fluent-Ökosystems, wird von der Cloud Native Computing Foundation getragen und läuft heute auf Servern, in Kubernetes-Clustern als DaemonSet und in eingebetteten Systemen.
\nAufbau: Parser, Filter, Output
\nFluent Bit verarbeitet Daten in einer Pipeline:
\n- \n
- Input – liest Quellen, etwa
tailfür Dateien,systemdfür Journal-Einträge,dockeroderkubernetesfür Container-Metadaten,forwardfür andere Fluent-Agenten,httpundsyslogfür Netzwerkquellen. \n - Parser – zerlegt Text in strukturierte Felder, wahlweise mit Regex, JSON- oder Logfmt-Parser. \n
- Filter – verändert oder ergänzt Datensätze, etwa
grep,modify,kuberneteszum Anhängen von Pod- und Namespace-Namen odermultilinezum Zusammenfassen mehrzeiliger Stacktraces. \n - Output – schreibt weiter nach Elasticsearch, OpenSearch, Loki, Graylog, Kafka, S3, InfluxDB oder in eine Datei. \n
Beispielkonfiguration
\n[SERVICE]\n flush 1\n log_level info\n\n[INPUT]\n name tail\n path /var/log/nginx/*.log\n tag nginx\n\n[FILTER]\n name parser\n match nginx\n key_name log\n parser nginx\n\n[OUTPUT]\n name loki\n match *\n host 127.0.0.1\n port 3100\nAbgrenzung zu Fluentd
\nFluentd (Ruby) kann mehr Plugins und komplexere Transformationen, braucht aber deutlich mehr Ressourcen. Fluent Bit ist der Sammler am Rand, Fluentd häufig die Aggregationsstufe in der Mitte. Beide sprechen das Forward-Protokoll, sodass sich Fluent Bit auf jedem Knoten und Fluentd als zentraler Weiterleiter kombinieren lassen. Wer heute neu plant, fährt meist einstufig mit Fluent Bit direkt in das Zielsystem.
\nVerwandte Grundlagen: Logging, Graylog, Observability, Monitoring mit Prometheus und Grafana.