Aller au contenu principal

Filebeat — collecte de logs

Filebeat (Elastic) est un agent léger de collecte de logs : il surveille des fichiers de log (ou d'autres sources) sur une machine et transmet leur contenu vers Logstash, Elasticsearch ou Kafka. C'est le "Beat" le plus utilisé de la suite Elastic Beats — conçu pour être minimal en ressources et fiable (il retient sa position de lecture, pas de perte en cas de redémarrage).

Installation

curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elastic.gpg
echo "deb [signed-by=/usr/share/keyrings/elastic.gpg] https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-8.x.list
sudo apt update && sudo apt install filebeat
sudo systemctl enable --now filebeat

Fichiers de configuration

CheminRôle
/etc/filebeat/filebeat.ymlConfiguration principale (inputs, output)
/etc/filebeat/modules.d/Modules préconfigurés (nginx, system, mysql...)
/var/lib/filebeat/registry/Position de lecture de chaque fichier suivi (pour ne rien relire/perdre)

Commandes utiles

CommandeFonction
filebeat test configValider la syntaxe de la configuration
filebeat test outputTester la connexion vers la destination (Logstash/Elasticsearch)
filebeat modules enable nginxActiver un module préconfiguré
filebeat -eLancer en avant-plan avec logs détaillés (debug)

Exemple de configuration

filebeat.inputs:
- type: log
paths:
- /var/log/nginx/access.log
fields:
service: nginx

output.logstash:
hosts: ["logstash.internal:5044"]

Sécurisation

  • Activer TLS entre Filebeat et sa destination (Logstash/Elasticsearch) — les logs en clair sur le réseau peuvent contenir des données sensibles.
  • Restreindre les permissions de lecture des fichiers suivis (Filebeat tourne généralement avec un utilisateur dédié, pas root).
  • Utiliser l'authentification (API key Elasticsearch, ou credentials Logstash) plutôt qu'un output ouvert.

Logs & dépannage

  • journalctl -u filebeat -f — erreurs de parsing, problèmes de connexion à l'output.
  • filebeat test output — premier réflexe en cas de logs qui n'arrivent pas à destination.
  • Registre de position (/var/lib/filebeat/registry/) — à supprimer avec précaution pour forcer une relecture complète des fichiers (déduplication à gérer côté destination sinon).

Voir aussi

  • logstash — destination fréquente de Filebeat pour du traitement/enrichissement avant indexation.
  • fluentd — alternative à la stack Elastic Beats/Logstash.