RousselTMLEARNING

Observabilité

Collecteurs de logs légers : Fluent Bit, Vector et les autres

Pourquoi un collecteur de logs, ce qui distingue les agents légers (Fluent Bit, Vector) des collecteurs historiques (Logstash, Fluentd) et des agents unifiés (Alloy, OpenTelemetry Collector).

1. Le rôle d'un collecteur #

Lire, transformer, router.

Les fonctions #

Un collecteur de logs lit les journaux (fichiers, journald, sorties des conteneurs, syslog), les transforme (analyse, enrichissement, filtrage, masquage) et les route vers une ou plusieurs destinations (Loki, Elasticsearch, S3, Kafka...), avec un tampon pour ne rien perdre en cas de panne.

Sur Kubernetes, il tourne en DaemonSet : une instance par nœud. Sa consommation de ressources est donc multipliée par le nombre de nœuds, d'où l'intérêt des agents légers.

2. Le panorama #

Qui fait quoi.

Comparatif #

Empreinte mémoire
Ordres de grandeur indicatifs : la consommation réelle dépend surtout du débit et des transformations.
OutilLangageLicencePoints forts
Fluent BitCApache 2.0 (CNCF)Très léger, plugins nombreux, standard de fait sur Kubernetes
VectorRustMPL 2.0 (Datadog)Langage de transformation VRL, tests unitaires, performances
FluentdRuby + CApache 2.0 (CNCF)Écosystème de plugins historique, agrégateur
LogstashJVMElasticTransformations riches pour la stack Elastic (voir la formation Logstash)
BeatsGoElasticAgents spécialisés pour Elastic (voir la formation Beats)
AlloyGoApache 2.0Agent unifié Grafana : logs, métriques, traces, profils
OpenTelemetry CollectorGoApache 2.0 (CNCF)Standard OTLP, tous signaux

3. Agent et agrégateur #

Deux rôles, parfois deux outils.

Architectures #

ArchitecturePrincipeQuand
Agent directChaque nœud envoie directement aux destinationsPetites et moyennes installations
Agent + agrégateurAgents légers sur les nœuds, agrégateur central qui transforme, tamponne et routeGrand volume, destinations multiples, transformations lourdes
Bonne Pratique : Combinaison classique : Fluent Bit en agent (léger) et Vector ou Fluentd en agrégateur (transformations, routage, tampon disque), ou Fluent Bit partout.

Articles liés

Fluent Bit : pipeline, configuration et plugins essentiels

Les concepts de Fluent Bit (inputs, parsers, filters, tags et match, buffer, outputs), la configuration YAML,…

Fluent Bit sur Kubernetes : DaemonSet, multiline, tampon et supervision

Déployer Fluent Bit sur Kubernetes avec Helm, enrichir avec le filtre kubernetes, gérer les logs multilignes,…

Vector : sources, transforms, sinks et topologie

Les concepts de Vector (sources, transforms, sinks), la configuration YAML, les composants courants, les tamp…

Pour aller plus loin