Installer Elasticsearch et Kibana 9.x

Publié le 22/07/2025

« Voir toutes les conférences Contactez-nous
Install Elasticsearch and Kibana 9.x

Introduction

Nous installerons Elasticsearch et Kibana. Nous utiliserons l'autorité de certification créée par Elasticsearch pour créer des certificats TLS à signature privée pour Elasticsearch et Kibana.selon la documentation originale. Nous utiliserons les adresses IP pour accéder à Elasticsearch et à Kibana.

Code source :Trouvé sur Github

Exigences

Dans la vidéo, nous avons utilisé une instance d'Ubuntu 24.04 exécutée sur une machine virtuelle dotée de 8 Go de mémoire. La machine virtuelle fonctionnera sur un réseau privé local. Nous installons Elastic et Kibana sur ce même serveur.

Mesures

Étape 1 - Mettre à jour Ubuntu

L'installation d'Ubuntu est toute récente. Nous mettons à jour la distribution et installons certains outils que nous utilisons habituellement sur les deux machines.

apt-get update && apt dist-upgrade -y && apt-get install -y vim curl zip gnupg gpg

Étape 2 - Installer Elasticsearch

Les installations d'Ubuntu ont besoin de ces dépendances, alors exécutez ces commandes sur les deux :

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 elasticsearch;

Une fois l’installation terminée, assurez-vous de noter le mot de passe.

Copy password for Elasticsearch

Étape 3 - Configurer Elasticsearch

Modifier elasticsearch.yml

Aller à la /etc/elasticsearch/elasticsearch.yml fichier. Modifiez les champs suivants :

...etc... cluster.name: {anything you want} ...etc... network.host: 0.0.0.0 ...etc...

Remarque : vous pouvez également remplacer network.host: 0.0.0.0 avec l'adresse IP de la machine à laquelle vous souhaitez que d'autres systèmes fassent référence.

Changer de propriétaire

chown -R elasticsearch:elasticsearch /etc/elasticsearch

Étape 4 - Démarrer Elasticsearch

Démarrez elasticsearch avec ces commandes :

systemctl enable elasticsearch; systemctl daemon-reload; systemctl start elasticsearch;

Confirmez qu'Elasticsearch fonctionne avec cette commande :

curl -X GET -u elastic:<password from step 2> https://{ip address of server}:9200 --cacert /etc/elasticsearch/certs/http_ca.crt

Et vous devriez voir quelque chose comme ceci :

Confirm Elasticsearch Success

Étape 5 - FACULTATIF - Modifier le mot de passe Elastic

Vous pouvez modifier le mot de passe de votre instance Elasticsearch avec cette commande /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic -i. Vous pouvez omettre le -i drapeau si vous souhaitez générer automatiquement le mot de passe.

Étape 6 - Installer Kibana

Étant donné que Kibana utilise les mêmes dépendances qu'Elasticsearch, vous pouvez procéder directement à l'installation de Kibana comme suit : apt-get install -y kibana;

Étape 7 : Créer des certificats pour Kibana

Créons des certificats pour Kibana. Vous aurez besoin de /usr/share/elasticsearch/bin/elasticsearch-certutil Commande et les fichiers CA pour Elasticsearch. Kibana étant sur le même serveur qu'Elasticsearch, nous avons accès à toutes ces ressources.

Nous devons d'abord extraire le fichier de clé privée CA du /etc/elasticsearch/http.p12. Pour ce faire, vous devez connaître le mot de passe de l'http.p12 Fichier stocké dans le keystore Elasticsearch. Consultez la liste de toutes les paires de keystores avec cette commande :

/usr/share/elasticsearch/bin/elasticsearch-keystore list

Elasticsearch Keystore

Le xpack.security.http.ssl.keystore.secure_password C'est ce que vous voulez. Vous pouvez donc voir le mot de passe comme ceci :

/usr/share/elasticsearch/bin/elasticsearch-keystore show xpack.security.http.ssl.keystore.secure_password

Vous pouvez maintenant extraire la clé privée du http.p12 en utilisant cette commande openssl et en créant un http_ca.key(entrez le mot de passe lorsque vous y êtes invité) :

openssl pkcs12 -in /etc/elasticsearch/certs/http.p12 -nodes -nocerts -out /etc/elasticsearch/certs/http_ca.key

Vous disposez désormais de la clé privée CA en tant que http_ca.key. Garder http_ca.key secret et ne le laissez jamais quitter le serveur Elasticsearch. Ou supprimez le http_ca.key Dès que vous avez terminé, vous pouvez toujours le recréer en répétant les étapes ci-dessus.

Exécutez cette commande pour créer les fichiers TLS Kibana :

/usr/share/elasticsearch/bin/elasticsearch-certutil cert \ --out /etc/kibana/kibana.zip \ --name kibana \ --ca-cert /etc/elasticsearch/certs/http_ca.crt \ --ca-key /etc/elasticsearch/certs/http_ca.key \ --ip {ip address of server} \ --pem; cd /etc/kibana/; unzip kibana.zip mv kibana certs cp /etc/elasticsearch/certs/http_ca.crt /etc/kibana/certs/ chown -R kibana:kibana /etc/kibana

Étape 8 - Configurer Kibana

Aller à la /etc/kibana/kibana.yml fichier. Modifiez les champs suivants :

Edit Kibana.yml

server.host: 0.0.0.0 server.publicBaseUrl: "https://{ip address of server}:5601" server.ssl.enabled: true server.ssl.key: /etc/kibana/certs/kibana.key server.ssl.certificate: /etc/kibana/certs/kibana.crt server.ssl.certificateAuthorities: /etc/kibana/certs/http_ca.crt

Démarrer Kibana

systemctl enable kibana systemctl daemon-reload systemctl start kibana systemctl status kibana

Le systemctl status kibana devrait afficher quelque chose comme ceci après une minute environ :

Kibana Waiting For Enrollment Token

J'ai surligné en rouge l'URL que vous devez visiter, sauf remplacer 0.0.0.0 avec l'adresse IP réelle de votre machine. N'oubliez pas de copier également la chaîne de requête.?code=____.

Sur la page Web, un jeton d'inscription vous sera demandé.

Créer un jeton d'inscription

Exécutez cette commande sur le serveur Elasticsearch : /usr/share/elasticsearch/bin/elasticsearch-create-enrollment-token -s kibana

Collez ce jeton dans votre site Web Kibana et appuyez sur Configure.

Si on vous demande un code de vérification, vous pouvez exécuter cette commande pour l'obtenir :

/usr/share/kibana/bin/kibana-verification-code

Vous pouvez désormais vous connecter à Kibana avec le elastic nom d'utilisateur et mot de passe que vous avez définis précédemment.

Étape 9 - Masquer le jeton de service

Allez à votre /etc/kibana/kibana.yml et localisez cette ligne :

Kibana Service Token

Cette valeur doit être secrète. Utilisons le keystore de Kibana pour la masquer.

/usr/share/kibana/bin/kibana-keystore add elasticsearch.serviceAccountToken Lorsque vous y êtes invité, collez le jeton de service.

Supprimez maintenant la ligne elasticsearch.serviceAccountToken: ... de là kibana.yml déposer.

Redémarrer Kibana

systemctl restart kibana

Retournez à votre navigateur Web et profitez-en !