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.
