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 : les inputs (entrées) du pipeline en détail

Tout sur les inputs de Fluent Bit : rôle des tags, lecture de fichiers avec tail (positions, rotation, multil…

Fluent Bit : parsers et filters, structurer et transformer les logs

Structurer et transformer les logs dans Fluent Bit : parsers (json, regex, logfmt, ltsv), parsers multilignes…

Fluent Bit : les outputs (sorties), routage et fiabilité de l'envoi

Envoyer les données de Fluent Bit : routage par Match et Match_Regex, sorties Loki, Elasticsearch/OpenSearch,…

Pour aller plus loin

Soutenir

♥ SOUTENIR

Soutenez RousselTM Learning

Les formations, articles, TP et attestations restent gratuits et sans publicité intrusive. Une contribution libre, du montant de votre choix, finance l’hébergement, les environnements de TP et l’écriture de nouveaux contenus.

Contribuer avec PayPal Montant libre · carte bancaire ou compte PayPalEn savoir plus
QR code PayPal
Ou scannez ce QR code avec votre téléphone

Merci, chaque contribution compte !