Debian 12 – Mettre en place l’outil de supervision ELK

Debian 12 – Mettre en place l’outil de supervision ELK

ELK (Elasticsearch, Logstash, Kibana) est une solution puissante et flexible pour la supervision des systèmes informatiques. Elle permet de centraliser, analyser et visualiser en temps réel des données provenant de diverses sources, comme les logs ou les métriques, grâce à Elasticsearch pour le stockage et la recherche rapide, Logstash pour le traitement des données, et Kibana pour des visualisations interactives. Son évolutivité et sa communauté active en font une solution adaptée aux besoins des entreprises modernes.

Prérequis :

  • 1 VM Debian 12 – 2x2vCPU, 8Go RAM, 50Go d’espace disque

Étape 1 : Mettre à jour les paquets et ajoutez les dépôts :

apt update
deb http://deb.debian.org/debian/ bookworm main non-free-firmware contrib non-free
deb http://security.debian.org/debian-security bookworm-security main non-free-firmware contrib non-free
deb http://deb.debian.org/debian/ bookworm-updates main non-free-firmware contrib non-free

apt update && apt upgrade -y

Étape 2 : Installez les différents paquets :

apt install gpg apt-transport-https curl zip unzip default-jre sudo

Étape 3 : Téléchargez les clés du dépôt ElasticSearch

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo gpg --dearmor -o/usr/share/keyrings/elasticsearch-keyring.gpg

Étape 4 : Ajoutez le dépôt signez :

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.10.4.list

Étape 5 : Installez ElasticSearch

sudo apt-get update && sudo apt-get install elasticsearch

Étape 6 : copiez le fichiez le conf :

cp /etc/elasticsearch/elasticsearch.yml /etc/elasticsearch/elasticsearch.yml.original

Étape 7 : Ajoutez cette ligne à la fin du fichier précédent et modifiez l’ip d’écoute :

nano /etc/elasticsearch/elasticsearch.yml

action.auto_create_index: .monitoring*,.watches,.triggered_watches,.watcher-history*,.ml*

network.host: 0.0.0.0

Étape 8 : Redémarrez le service ElasticSerach

systemctl restart elasticsearch
systemctl enable --now elasticsearch

Étape 9 : Généré le mot de passe de l’utilisateur elastic créé automatiquement par le paquets d’installation

/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic

ATTENTION : NOTEZ BIEN CE MOT DE PASSE

Étape 10 : Vérifiez la connexion avec cette utilisateur au serveur ElasticSearch :

curl -u "elastic:[mot_de_passe]" https://localhost:9200 -k

Étape 11 : Installez Kibana :

apt update
apt install kibana

Étape 12 : donnez accès à kibana au serveur ElasticSearch

nano /etc/kibana/kibana.yml

server.host: ip_du_serveur_elastic

Étape 13 : activez le démarrage automatique de kibana

systemctl enable --now kibana

Étape 14 : création du token d’authentification de kibana

/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana

Étape 15 : Rendez-vous sur http://[ip_de_la_vm]:5601

Renseignez le token précédemment créé dans l’encadré :

Puis, exécutez /usr/share/kibana/bin/kibana-verification-code

Et voilà !

ElasticSearch termine la configuration :

À la fin du chargement, connectez-vous :

Login : elastic
Mp : mp généré plutot dans le tuto

Une fois connecté, cliquez sur Add integrations

Dans la barre de recherche, cherchez Fleet :

Cliquez sur Add Fleet Server :

Donnez lui un nom, pour l’url saisissez :

https://[ip_serveur_fleet]:8220

Une fois fait, installez le serveur fleet. Pour cela, copiez-collez le code ci-dessous sur le serveur ELK :

Une fois l’agent installé, il remonte automatiquement dans la console Fleet :

Sur ce panel, tous les hôtes s’affichent :

Il ne nous reste plus qu’à déployer l’agent elk, pour monitorer de nouvelle machine/service :

Cliquez sur Add agent, donnez lui un nom :

Cliquez sur Create policy.

Allez directement à l’étape 3 :

Copiez-collez le script d’installation de l’agent, dans la machine cliente. Une fois installé l’agent remonte automatiquement.

ATTENTION : à la fin du script ajoutez –insecure

À chaque installation de l’agent, il vous demandera si vous souhaitez installer l’agent comme un service, répondez « y ».

L’hôte s’affiche :

En cliquant sur l’hôte -> View metrics, vous verrez toutes les métriques remontées par l’agent :

Si vous souhaitez monitorer un service en particulier, voici comment faire :

Cherchez un service dans la barre de recherche : (ex : apache)

Cliquez sur Add Apache HTTP Server.

À l’étape 2, soit vous créez une nouvelle règle ou bien vous affectez apache à un hôte déjà présent. Et enfin, cliquez sur Save and continue : (pour l’exemple, j’ai créé la règle sur un nouvel hôte).

Ensuite, cliquez sur Add agent :

Copiez-collez de nouveau le script d’installation de l’agent sur un nouvel hôte ! N’oubliez pas –insecure 😉

Et voilà ! vous savez comment installer et configurer ELK 🙂


Voici quelques commandes utiles :

Reset le mot de passe elatic/usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic
Générer un token d’enrôlement pour une nouvelle instance de kibana/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana
Générer un token d’enrôlement pour ElasticSerach et les nodes/usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s node
Joindre un nouveau node au cluster ELK/usr/share/elasticsearch/bin/elasticsearch-reconfigure-node –enrollment-token

Comments

No comments yet. Why don’t you start the discussion?

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *