Metricbeat avec Elasticsearch 8.x - Partie 1 : Installation et sécurisation

Publié le 27/11/2022

« Voir toutes les conférences Contactez-nous
Metricbeat with Elasticsearch 8.x - Part 1: Install & Secure

Introduction

Code sur Github: Elasticsearch et Beats

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

Cette vidéo suppose que vous utilisez Certificats signés publiquement. Si vous utilisez Certificats auto-signés, va ici À déterminer.

Exigences

Une instance en cours d'exécution d'Elasticsearch et de Kibana.

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

Mesures

Étape 1 - Télécharger Metricbeat [01:10]

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/8.x/apt stable main' | sudo tee /etc/apt/sources.list.d/elastic-8.x.list; apt-get install -y apt-transport-https; apt-get install -y metricbeat;

Étape 2 - Configurer Metricbeat [02:20]

Modifiez ces champs pour le /etc/metricbeat.yml

setup.kibana: host: "https://<kibana-domain>:<kibana-port>" output.elasticsearch: hosts: ["<elasticsearch-domain>:<elasticsearch-port>"] protocol: "https" username: "elastic" password: "<your elastic password>"

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

IMPORTANT : nous utilisons le superutilisateur Elastic pour la configuration initiale. Nous rétrograderons ces 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

Vous devriez voir quelque chose comme ceci :

Verify metricbeat configuration Vérifier la configuration de metricbeat

Étape 3 - Configuration de Metricbeat [08:00]

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 4 – Créer un utilisateur de publication [10:50]

Créer un rôle

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

Role name: metricbeat-user Cluster privileges: monitor read_ilm Indices: metricbeat-* Privileges: create_doc

Créer un utilisateur

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

Username: metric Full name: metric Email address: anything@anything.com Password: anything Roles: metricbeat-user editor

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

Cela devrait produire un résultat comme :

Metricbeat user token Jeton utilisateur Metricbeat

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

output.elasticsearch: ...etc... api_key: "${ES_API_KEY}" #username: "elastic" #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 5 - Exécuter Metricbeat [18:00]

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.