Metricbeat avec Elasticsearch 9.x

Publié le 11/08/2025

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

Introduction

Nous allons installer Metricbeat 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 Metricbeat

Sur la machine Ubuntu qui exécutera metricbeat, 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 metricbeat;

Étape 2 - Activer les modules

Aller à la /etc/metricbeat/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: metricbeat_setup Cluster privileges: monitor manage_ilm Indices: metricbeat-* Privileges: manage

Étape 4 - Créer un utilisateur Metricbeat

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

Username: metricbeat_user Full name: metricbeat_user Email address: anything@anything.com Password: anything Roles: metricbeat_setup kibana_admin ingest_admin

Appuyez sur Enregistrer.

Étape 5 - Configurer Metricbeat

Modifiez ces champs pour le /etc/metricbeat.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: "metricbeat_user" password: "<your metricbeat_user password>" ssl.certificate_authorities: ["/path/to/http_ca.crt"] setup.ilm.check_exists: false

Le fichier metricbeat.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/metricbeat/bin/metricbeat test config -c /etc/metricbeat/metricbeat.yml --path.data /var/lib/metricbeat --path.home /usr/share/metricbeat /usr/share/metricbeat/bin/metricbeat test output -c /etc/metricbeat/metricbeat.yml --path.data /var/lib/metricbeat --path.home /usr/share/metricbeat

Confirmez que vous recevez des messages de réussite.

Étape 6 - Configuration de Metricbeat

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

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

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: metricbeat_publisher Cluster privileges: monitor read_ilm Indices: metricbeat-* Privileges: create_doc auto_configure

Étape 8 – Modifier le rôle de Metricbeat

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

Roles: metricbeat_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": "metricbeat_user", "password": "anything", "api_key": { "name": "metricbeat_user" } }

Cela devrait produire un résultat comme :

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

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

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

Nous utiliserons le keystore Metricbeat 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/metricbeat/bin/metricbeat keystore add ES_API_KEY -c /etc/metricbeat/metricbeat.yml --path.data /var/lib/metricbeat --path.home /usr/share/metricbeat

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 Metricbeat

systemctl enable metricbeat; systemctl start metricbeat;

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 Metricbeat.

Note finale

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