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 #
| Outil | Langage | Licence | Points forts |
|---|---|---|---|
| Fluent Bit | C | Apache 2.0 (CNCF) | Très léger, plugins nombreux, standard de fait sur Kubernetes |
| Vector | Rust | MPL 2.0 (Datadog) | Langage de transformation VRL, tests unitaires, performances |
| Fluentd | Ruby + C | Apache 2.0 (CNCF) | Écosystème de plugins historique, agrégateur |
| Logstash | JVM | Elastic | Transformations riches pour la stack Elastic (voir la formation Logstash) |
| Beats | Go | Elastic | Agents spécialisés pour Elastic (voir la formation Beats) |
| Alloy | Go | Apache 2.0 | Agent unifié Grafana : logs, métriques, traces, profils |
| OpenTelemetry Collector | Go | Apache 2.0 (CNCF) | Standard OTLP, tous signaux |
3. Agent et agrégateur #
Deux rôles, parfois deux outils.
Architectures #
| Architecture | Principe | Quand |
|---|---|---|
| Agent direct | Chaque nœud envoie directement aux destinations | Petites et moyennes installations |
| Agent + agrégateur | Agents légers sur les nœuds, agrégateur central qui transforme, tamponne et route | Grand 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.
Mon suivi
Connectez-vous pour suivre votre progression et prendre des notes. Se connecter
Articles recommandés
Fluent Bit ou Vector ? Choisir, combiner et migrer
Comparer Fluent Bit et Vector (performances, transformations, écosystème, gouvernance), les combi...
Bonnes pratiques de collecte de logs avec Fluent Bit et Vector
Check-list de production pour la collecte de logs : structure, filtrage à la source, masquage, ta...
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, rota...
Fluent Bit : parsers et filters, structurer et transformer les logs
Structurer et transformer les logs dans Fluent Bit : parsers (json, regex, logfmt, ltsv), parsers...
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...
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 ...
Fluent Bit : pipeline, configuration et plugins essentiels
Les concepts de Fluent Bit (inputs, parsers, filters, tags et match, buffer, outputs), la configu...
Collecter des logs vers Loki : Alloy, Promtail, Docker et OpenTelemetry
Envoyer des logs vers Loki : Grafana Alloy, Promtail, driver Docker, OTLP, bons labels, parsing e...
Les logs avec OpenTelemetry : modèle de données, appenders, corrélation et collecte
Maîtriser le signal log : modèle de données LogRecord, Logs Bridge API et appenders (Logback, Log...