Fluentd
Technologie

Fluentd

Eine einheitliche Logging-Schicht zum Sammeln und Routen von Logs

Fluentd ist ein Open-Source-Datensammler, der das Sammeln und Verbrauchen von Logs vereinheitlicht. Er verfolgt, parst, puffert und routet Logdaten aus vielen Quellen zu vielen Zielen und entkoppelt so, wie Logs erzeugt werden, davon, wo sie landen – in einem Suchindex, Objektspeicher, einer Log-Analyse-Plattform oder allem zugleich.

So funktioniert es

Fluentd läuft als Agent (oft als Kubernetes-DaemonSet, einer pro Knoten), der Logdaten über Input-Plugins liest, sie optional über Filter-Plugins transformiert und über Output-Plugins ausgibt. Seine Plugin-Architektur ermöglicht es, dass eine einzelne Fluentd-Pipeline Container-Logs aus dem Dateisystem eines Knotens liest und sie mit unterschiedlichen Formaten und Retry-Semantiken an mehrere Ziele verteilt.

Kernkonzepte

  • Input-Plugin — liest Log-Events aus einer Quelle: einer Datei, einem TCP-Socket, dem Kubernetes-Container-Log-Verzeichnis und vielen weiteren.
  • Filter-Plugin — transformiert oder reichert Events in der Pipeline an, etwa indem es strukturierte Felder aus einer rohen Logzeile parst oder Kubernetes-Metadaten anhängt.
  • Output-Plugin — schreibt Events an ein Ziel: Elasticsearch, S3, Kafka, eine gehostete Log-Plattform und Dutzende mehr.
  • Buffer — Fluentds interne Warteschlange zwischen Inputs und Outputs, die Backpressure abfängt und fehlgeschlagene Schreibvorgänge wiederholt.

Warum Teams Fluentd einsetzen

  • Herstellerneutral. Ein großes Plugin-Ökosystem bedeutet, dass der Wechsel des Log-Ziels eine Konfigurationsänderung ist und keine Neuarchitektur.
  • Für hohes Volumen gebaut. Sein Buffering- und Chunking-Modell ist darauf ausgelegt, stoßweise, durchsatzstarke Log-Ströme zuverlässig zu bewältigen.
  • Ein strukturiertes Log-Modell. Events tragen strukturierte Felder statt rohen Texts, was nachgelagertes Filtern und Routen deutlich präziser macht.
  • CNCF-graduiert. Es ist das Logging-Gegenstück zum Platz von Prometheus im Observability-Stack – breit eingesetzt und aktiv gepflegt.

Erste Schritte

Deploye Fluentd als DaemonSet, sodass auf jedem Knoten ein Agent läuft, konfiguriere ihn, Container-Logs zu verfolgen, und füge die Output-Plugins für das hinzu, wohin deine Logs gelangen sollen. Die folgenden Anleitungen behandeln die gängigsten Setups für Sammlung und Routing.