Ceci est une ancienne révision du document !
Configurer Metricbeat avec ELK
Introduction
Ce tutoriel a pour but de mettre en place un dashboard Kibana affichant les métriques des machines que l'on souhaite surveiller. Les données seront remontées directement depuis ces machines via l'agent Metricbeat.
Topologie du LAB
Pré-requis
On aura besoin de :
- 1 VM Linux
- 1 VM Windows
- 1 instance ELK fonctionnelle (voir Mise en place d'un SIEM avec ELK pour l'installation)
- Un poste client qui se connectera au Kibana
Instructions
Installation de Metricbeat
Sous Linux
Pour installer Metricbeat sous Debian/Ubuntu & dérivés :
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - sudo apt-get install apt-transport-https echo "deb https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list sudo apt-get update && sudo apt-get install metricbeat
Pour install Metricbeat sous RHEL/CentOS & dérivés :
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Créer un fichier avec l'extension .repo dans le répertoire /etc/yum.repos.d/ et le remplir avec ces lignes :
[elastic-8.x] name=Elastic repository for 8.x packages baseurl=https://artifacts.elastic.co/packages/8.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md
Installer le paquet Metricbeat :
sudo yum install metricbeat
Une fois installé : Activer Metricbeat au démarrage :
sudo systemctl enable metricbeat
Sous Windows
Configuration de Metricbeat
Pour configurer Metricbeat, éditer le fichier metricbeat.yml. Sous Linux, il est dans le répertoire /etc/metricbeat.
La partie ''— Elasticsearch Output —“ permet de définir les paramètres d'envoi des métriques vers Elasticsearch. La configurer comme ceci :
# ---------------------------- Elasticsearch Output ---------------------------- output.elasticsearch: # Array of hosts to connect to. hosts: ["127.0.0.1:9200"] #ssl.certificate_autorities: ["/var/lib/docker/volumes/docker_certs/_data/ca/ca.crt"] ssl.verification_mode: "none" # Performance preset - one of "balanced", "throughput", "scale", # "latency", or "custom". preset: balanced # Protocol - either `http` (default) or `https`. protocol: "https" # Authentication credentials - either API key or username/password. #api_key: "id:api_key" username: "elastic" password: "elastic_password"
__Explication de paramètres :__
- hosts : nœuds Elasticsearch où seront envoyées les données (IP ou FQDN + port)
- protocol : HTTP ou HTTPS en fonction du niveau de sécurité voulu
- ssl.certificate_autorities : CA utilisée pour signer les certificats SSL (facultatif mais recommandé)
- ssl.verification_mode : Activée par défaut, mettre à None pour désactiver la vérification du certificat SSL (facultatif et NON recommandé)
- api_key : token pour la connexion sécurisée à l'API Elasticsearch (facultatif et recommandé)
- username : Utilisateur Elasticsearch utilisé pour s'authentifier aux nœuds (facultatif)
- password : Mot de passe de l'utilisateur ES (facultatif)
