Filebeat avec Elasticsearch 9.x

Publié le 10/08/2025

« Voir toutes les conférences Contactez-nous
Filebeat with Elasticsearch 9.x

Introduction

Nous allons installer Filebeat avec Elasticsearch et Kibana 9.x. Si vous n'avez pas encore configuré Elasticsearch et Kibana,suivez ces instructions.

Télécharger le code depuis github

Sur cette base documentation

Exigences

A Running instance of Elasticsearch and Kibana.

Une instance d'un autre serveur Ubuntu 24.04 exécutant n'importe quel type de service.

Mesures

Étape 1 - Installer Filebeat

Sur la machine Ubuntu qui exécutera Filebeat, exécutez ces commandes pour télécharger les dépendances :

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o /usr/share/keyrings/elasticsearch-keyring.gpg echo "deb [signed-by=/usr/share/keyrings/elasticsearch-keyring.gpg] https://artifacts.elastic.co/packages/9.x/apt stable main" | sudo tee /etc/apt/sources.list.d/elastic-9.x.list apt-get update; apt-get install -y apt-transport-https; apt-get install -y filebeat;

Étape 2 - Activer les modules de journalisation

Aller à la /etc/filebeat/modules.d répertoire. Sélectionnez les types de journaux pour lesquels vous souhaitez activer la journalisation en renommant le répertoire correspondant.*.yml.disabled à *.yml. Pour certains de ces services, vous devrez peut-être ajouter le enabled: true option à la *.yml fichier ainsi que saisir les détails de connexion et de configuration appropriés.

Étape 3 - Créer un rôle de configuration

Référence pour le rôle de configuration

À Kibana, allez à Gestion de la pile > Rôles > Créer un rôle. Remplissez ensuite ces champs :

Role name: filebeat_setup Cluster privileges: monitor manage_ilm Indices: filebeat-* Privileges: manage

Étape 4 - Créer un utilisateur Filebeat

À Kibana, allez à Gestion de la pile > Utilisateurs > Créer un utilisateur. Remplissez ensuite ces champs :

Username: filebeat_user Full name: filebeat_user Email address: anything@anything.com Password: anything Roles: filebeat_setup kibana_admin ingest_admin

Appuyez sur Enregistrer.

Étape 5 - Configurer Filebeat

Modifiez ces champs pour le /etc/filebeat.yml

setup.kibana: host: "https://<kibana-domain>:<kibana-port>" ssl.certificate_authorities: ["/path/to/http_ca.crt"] output.elasticsearch: hosts: ["<elasticsearch-domain-or-ip>:<elasticsearch-port>"] protocol: "https" username: "filebeat_user" password: "<your filebeat_user password>" ssl.certificate_authorities: ["/path/to/http_ca.crt"] setup.ilm.check_exists: false

Le fichier filebeat.yml complété peut être trouvé ici.

IMPORTANT : nous utilisons l'utilisateur « configuration » pour la configuration initiale. Nous modifierons les privilèges ultérieurement.

Testez ensuite votre configuration avec ces commandes :

/usr/share/filebeat/bin/filebeat test config -c /etc/filebeat/filebeat.yml --path.data /var/lib/filebeat --path.home /usr/share/filebeat /usr/share/filebeat/bin/filebeat test output -c /etc/filebeat/filebeat.yml --path.data /var/lib/filebeat --path.home /usr/share/filebeat

Confirmez que vous recevez des messages de réussite.

Étape 6 - Configuration de Filebeat

Exécutez maintenant cette commande pour configurer les flux de données et les vues Filebeat dans Elasticsearch et Kibana :

/usr/share/filebeat/bin/filebeat setup -c /etc/filebeat/filebeat.yml --path.data /var/lib/filebeat --path.home /usr/share/filebeat

Une fois la commande terminée, allez sur Kibana Menu et visiter Tableau de bord pour voir de nombreux tableaux de bord pré-fabriqués.

Étape 7 – Créer un rôle de publication

Référence pour le rôle de publication

À Kibana, allez à Gestion de la pile > Rôles > Créer un rôle. Remplissez ensuite ces champs :

Role name: filebeat_publisher Cluster privileges: monitor read_ilm read_pipeline Indices: filebeat-* Privileges: create_doc auto_configure

Étape 8 - Modifier le rôle de Filebeat

Supprimer les rôles précédents pour filebeat_user et définissez simplement ceci :

Roles: filebeat_publisher

Appuyez sur Enregistrer.

Créer une clé API pour l'utilisateur

À Kibana, allez à Outils de développement > Console. Exécutez ensuite cette commande :

POST /_security/api_key/grant { "grant_type": "password", "username": "filebeat_user", "password": "anything", "api_key": { "name": "filebeat_user" } }

Cela devrait produire un résultat comme :

{ "id": "J3oInZgBRvUg0VanE8wj", "name": "filebeat_user", "api_key": "6Wwht52HgB-M8reGwXUM6g", "encoded": "SjNvSW5aZ0JSdlVnMFZhbkU4d2o6Nld3aHQ1MkhnQi1NOHJlR3dYVU02Zw==" }

Modifier le /etc/filebeat/filebeat.yml en commentant le filebeat_user nom d'utilisateur et mot de passe et activation du api_key comme ça:

output.elasticsearch: ...etc... api_key: "${ES_API_KEY}" #username: "filebeat_user" #password: "" ...etc...

Nous utiliserons le keystore Filebeat pour charger les secrets à l'exécution. Exécutez maintenant cette commande pour définir ES_API_KEY variable de magasin de clés :

/usr/share/filebeat/bin/filebeat keystore add ES_API_KEY -c /etc/filebeat/filebeat.yml --path.data /var/lib/filebeat --path.home /usr/share/filebeat

Presse entrer et lorsque vous y êtes invité, collez <id>:<api_key> où le <id> et le <api_key> sont les valeurs de la réponse du jeton utilisateur que vous avez obtenue précédemment.

Étape 9 - Exécuter Filebeat

systemctl enable filebeat; systemctl start filebeat;

Dans un instant, vous devriez commencer à voir des résultats dans Kibana dans l'un ou l'autre Découvrir, Observabilité, Gestion de la pile > Gestion des index > Flux de données, Tableau de bord > Sélectionnez un tableau de bord Filebeat.

Note finale

Chaque fois que vous activez un nouveau module dans modules.d, tu dois courir systemctl restart filebeat. systemctl restart filebeat peut déclencher des actions en arrière-plan similaires à installation ce qui signifie que l'utilisateur dans votre filebeat.yml devrait avoir le installation privilèges mentionnés à l'étape 3. Si vous ne souhaitez pas exécuter manuellement systemctl restart filebeat après des changements dans le modules.d répertoire, vous pouvez demander à Filebeat de charger automatiquement les modules nouvellement activés en définissant cette propriété sur true: filebeat.config.modules.reload.enabled: true. Encore une fois, assurez-vous que l'utilisateur dans filebeat.yml a le installation privilèges.