Installation · 6 min read · Oct 27, 2025

Comment installer FileBeat sur Ubuntu

La pile Elastic est une combinaison de quatre composants principaux : Elasticsearch, Logstash, Kibana et Beats. Filebeat est l’un des membres les plus connus de cette famille qui collecte, transmet et centralise les données de journal d’événements vers Elasticsearch ou Logstash pour indexation. Filebeat dispose de nombreux modules, y compris Apache, Nginx, Système, MySQL, auditd, et bien d’autres, qui simplifient la visualisation des formats de journal courants en une seule commande.

Dans ce tutoriel, nous allons vous montrer comment installer et configurer Filebeat pour transmettre les journaux d’événements, les événements d’authentification SSH à Logstash sur Ubuntu 18.04.

Prérequis

  • Un serveur exécutant Ubuntu 18.04 avec Elasticsearch, Kibana et Logstash installés et configurés.
  • Un mot de passe root configuré sur votre serveur.

Prise en main

Avant de commencer, mettez à jour votre système avec la dernière version. Vous pouvez le faire en exécutant la commande suivante :

apt-get update -y  
apt-get upgrade -y

Une fois votre système mis à jour, redémarrez-le pour appliquer les modifications.

Installer Filebeat

Par défaut, Filebeat n’est pas disponible dans le dépôt par défaut d’Ubuntu 18.04. Vous devrez donc ajouter le dépôt APT de la pile Elastic 7 dans votre système.

Tout d’abord, installez le package requis avec la commande suivante :

apt-get install apt-transport-https -y

Ensuite, téléchargez et ajoutez la clé de la pile Elastic avec la commande suivante :

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -

Ensuite, ajoutez le dépôt APT de la pile Elastic 7 avec la commande suivante :

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee /etc/apt/sources.list.d/elastic-7.x.list

Ensuite, mettez à jour le dépôt et installez Filebeat avec la commande suivante :

apt-get update -y  
apt-get install filebeat -y

Une fois l’installation terminée, vous pouvez passer à l’étape suivante.

Configurer Filebeat

Par défaut, Filebeat est configuré pour envoyer des données d’événements à Elasticsearch. Ici, nous allons configurer Filebeat pour envoyer des données d’événements à Logstash. Vous pouvez le faire en modifiant le fichier /etc/filebeat/filebeat.yml :

nano /etc/filebeat/filebeat.yml

Commentez la sortie d’Elasticsearch et décommentez la sortie de Logstash comme indiqué ci-dessous :

#-------------------------- Sortie Elasticsearch ------------------------------

# output.elasticsearch:
  # Tableau d'hôtes à connecter.
  # hosts: ["localhost:9200"]

#----------------------------- Sortie Logstash --------------------------------

output.logstash:
  # Les hôtes Logstash
  hosts: ["localhost:5044"]

Une fois que vous avez terminé, vous pouvez passer à l’étape suivante.

Activer le module système de Filebeat

Par défaut, Filebeat est livré avec de nombreux modules. Vous pouvez lister tous les modules avec la commande suivante :

filebeat modules list

Vous devriez voir la sortie suivante :

Enabled:

Disabled:
apache
auditd
aws
cef
cisco
coredns
elasticsearch
envoyproxy
googlecloud
haproxy
ibmmq
icinga
iis
iptables
kafka
kibana
logstash
mongodb
mssql
mysql
nats
netflow
nginx
osquery
panw
postgresql
rabbitmq
redis
santa
suricata
system
traefik
zeek

Par défaut, tous les modules sont désactivés. Vous devrez donc activer le module système pour collecter et analyser les journaux créés par le service de journalisation du système. Vous pouvez activer le module système avec la commande suivante :

filebeat modules enable system

Ensuite, vous pouvez vérifier le module système avec la commande suivante :

filebeat modules list

Vous devriez voir que le module système est maintenant activé :

Enabled:
system

Ensuite, vous devrez configurer le module système pour lire uniquement les journaux d’authentification. Vous pouvez le faire en modifiant le fichier /etc/filebeat/modules.d/system.yml :

nano /etc/filebeat/modules.d/system.yml

Changez les lignes suivantes :

- module: system
  # Syslog
  syslog:
    enabled: false
...
  # Journaux d'autorisation
  auth:
    enabled: true

    # Définir des chemins personnalisés pour les fichiers journaux. Si laissé vide,
    # Filebeat choisira les chemins en fonction de votre OS.
    var.paths: ["/var/log/auth.log"]

Enregistrez et fermez le fichier lorsque vous avez terminé.

Charger le modèle d’index dans Elasticsearch

Ensuite, vous devrez charger le modèle dans Elasticsearch manuellement. Vous pouvez le faire avec la commande suivante :

filebeat setup --index-management -E output.logstash.enabled=false -E 'output.elasticsearch.hosts=["localhost:9200"]'

Vous devriez voir la sortie suivante :

Configuration de l'index terminée.

Ensuite, générez le modèle d’index et installez le modèle sur le serveur de la pile Elastic avec la commande suivante :

filebeat export template > filebeat.template.json  
curl -XPUT -H 'Content-Type: application/json' http://localhost:9200/_template/filebeat-7.0.1 --data-binary @filebeat.template.json

Enfin, démarrez le service Filebeat et activez-le pour qu’il démarre après le redémarrage du système avec la commande suivante :

systemctl start filebeat  
systemctl enable filebeat

Vous pouvez vérifier l’état de Filebeat avec la commande suivante :

systemctl status filebeat

Vous devriez voir la sortie suivante :

? filebeat.service - Filebeat envoie des fichiers journaux à Logstash ou directement à Elasticsearch.
   Loaded: loaded (/lib/systemd/system/filebeat.service; disabled; vendor preset: enabled)
   Active: active (running) since Tue 2019-11-26 06:45:18 UTC; 14s ago
     Docs: https://www.elastic.co/products/beats/filebeat
 Main PID: 13059 (filebeat)
    Tasks: 28 (limit: 463975)
   CGroup: /system.slice/filebeat.service
           ??13059 /usr/share/filebeat/bin/filebeat -e -c /etc/filebeat/filebeat.yml -path.home /usr/share/filebeat -path.config /etc/filebeat 

Nov 26 06:45:18 ubuntu filebeat[13059]: 2019-11-26T06:45:18.528Z        INFO        log/harvester.go:251        Harvester started for file: /va
Nov 26 06:45:18 ubuntu filebeat[13059]: 2019-11-26T06:45:18.528Z        INFO        log/harvester.go:251        Harvester started for file: /va
Nov 26 06:45:18 ubuntu filebeat[13059]: 2019-11-26T06:45:18.529Z        INFO        log/harvester.go:251        Harvester started for file: /va
Nov 26 06:45:18 ubuntu filebeat[13059]: 2019-11-26T06:45:18.529Z        INFO        log/harvester.go:251        Harvester started for file: /va
Nov 26 06:45:18 ubuntu filebeat[13059]: 2019-11-26T06:45:18.530Z        INFO        log/harvester.go:251        Harvester started for file: /va
Nov 26 06:45:18 ubuntu filebeat[13059]: 2019-11-26T06:45:18.530Z        INFO        log/harvester.go:251        Harvester started for file: /va
Nov 26 06:45:21 ubuntu filebeat[13059]: 2019-11-26T06:45:21.485Z        INFO        add_cloud_metadata/add_cloud_metadata.go:87        add_clou
Nov 26 06:45:21 ubuntu filebeat[13059]: 2019-11-26T06:45:21.486Z        INFO        log/harvester.go:251        Harvester started for file: /va
Nov 26 06:45:22 ubuntu filebeat[13059]: 2019-11-26T06:45:22.485Z        INFO        pipeline/output.go:95        Connecting to backoff(async(tc
Nov 26 06:45:22 ubuntu filebeat[13059]: 2019-11-26T06:45:22.487Z        INFO        pipeline/output.go:105        Connection to backoff(async(t

Tester la réception des données Elasticsearch

Maintenant, vérifiez si Elasticsearch reçoit des données ou non avec la commande suivante :

curl -X GET localhost:9200/_cat/indices?v

Vous devriez voir la sortie suivante :

health status index                            uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   .kibana_task_manager_1           fpHT_GhXT3i_w_0Ob1bmrA   1   0          2            0     46.1kb         46.1kb
yellow open   ssh_auth-2019.11                 mtyIxhUFTp65WqVoriFvGA   1   1      15154            0      5.7mb          5.7mb
yellow open   filebeat-7.4.2-2019.11.26-000001 MXSpQH4MSZywzA5cEMk0ww   1   1          0            0       283b           283b
green  open   .apm-agent-configuration         Ft_kn1XXR16twRhcZE4xdQ   1   0          0            0       283b           283b
green  open   .kibana_1                        79FslznfTw6LfTLc60vAqA   1   0          8            0     31.9kb         31.9kb

Vous pouvez également vérifier l’index ssh_auth-2019.05 avec la commande suivante :

curl -X GET localhost:9200/ssh_auth-*/_search?pretty

Vous devriez voir la sortie suivante :

{
  "took" : 1,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 10000,
      "relation" : "gte"
    },
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : "ssh_auth-2019.11",
        "_type" : "_doc",
        "_id" : "g7OXpm4Bi50dVWRYAyK4",
        "_score" : 1.0,
        "_source" : {
          "log" : {
            "offset" : 479086,
            "file" : {
              "path" : "/var/log/elasticsearch/gc.log"
            }
          },
          "event" : {
            "timezone" : "+00:00",
            "dataset" : "elasticsearch.server",
            "module" : "elasticsearch"
          },

Ajouter un index sur Kibana

Maintenant, connectez-vous à votre tableau de bord Kibana et cliquez sur Modèles d’index. Vous devriez voir la page suivante :

Maintenant, cliquez sur Créer un modèle d’index. Vous devriez voir la page suivante :

Ajoutez l’index ssh_auth- et cliquez sur le bouton *Étape suivante. Vous devriez voir la page suivante :

Maintenant, sélectionnez @timestamp et cliquez sur le bouton Créer un modèle d’index. Vous devriez voir la page suivante :

Maintenant, cliquez sur l’onglet Découvrir dans le panneau de gauche. Vous devriez être en mesure de voir vos données à l’écran suivant :

Félicitations ! Vous avez réussi à installer et configurer Filebeat pour envoyer des données d’événements à Logstash. Vous pouvez maintenant procéder à la création de tableaux de bord Kibana après avoir reçu toutes les données.

Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.