Table des matières

ElasticSearch & Kibana - Installation d'un outil de gestion des log (et autres)

CréationNicolas THOREZ 2020/02/14 10:39

ElasticSearch est un logiciel d'indexation et de recherche. Il traite toutes les données dans son champ d'action et les organise afin de pouvoir les restituer de manière compréhensible pour un être humain. Kibana est l'interface graphique permettant de d'interroger ElasticSearch et de lire les résultats renvoyés.

Via un système de plugin, ElasticSearch & Kibana peuvent traiter un grand panel de données (log, audit, données de performances, …). Nous verrons ici l'installation du serveur ElasticSearch & Kibana, les plugins seront eux traités dans les bulletins concernant les données qu'ils traitent.

Environnement

Cette procédure a été réalisé sur une VM Debian 9.

Droits

Cette procédure nécessite des droits root. Faîtes donc attention à ce que vous faîtes.

Prérequis

Le serveur va recevoir un grand nombre de données à traiter. Il agira en tant que puits de log. Veillez donc à prévoir assez d'espace disque.

Concernant les paquets prérequis, on reste dans les classiques :

apt-get update
apt-get install -y apt-transport-https curl wget gnupg

Installation de ElasticSearch

On commence par installer le service de recherche et indexation :

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -

echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-7.x.list

apt-get update

apt-get install -y elasticsearch

Démarrage automatique du service

/bin/systemctl daemon-reload
/bin/systemctl enable elasticsearch.service

Gestion du service

systemctl status elasticsearch.service

systemctl start elasticsearch.service

systemctl stop elasticsearch.service

Test local

curl -X GET "localhost:9200/?pretty"

{
  "name" : "Test",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "lLdLEfGPSzavmWxL7nBMRw",
  "version" : {
    "number" : "7.6.0",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "7f634e9f44834fbc12724506cc1da681b0c3b1e3",
    "build_date" : "2020-02-06T00:09:00.449973Z",
    "build_snapshot" : false,
    "lucene_version" : "8.4.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

Configuration de l'accès depuis l'extérieur

systemctl stop elasticsearch.service

nano /etc/elasticsearch/elasticsearch.yml

systemctl start elasticsearch.service

Sécurité

Penser à paramétrer votre pare-feu (selon votre solution de sécurité) afin de n'accepter les flux qu'en provenance de votre réseau local (le port d'écoute est le 9200). Les données traitées par ElasticSearch et affichées dans Kibana sont généralement sensibles.

Test externe

curl -X GET "10.30.1.79:9200/?pretty"

Paramétrage

Remplacer 10.30.1.79 par l'adresse IP de votre serveur.

{
  "name" : "Test",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "lLdLEfGPSzavmWxL7nBMRw",
  "version" : {
    "number" : "7.6.0",
    "build_flavor" : "default",
    "build_type" : "deb",
    "build_hash" : "7f634e9f44834fbc12724506cc1da681b0c3b1e3",
    "build_date" : "2020-02-06T00:09:00.449973Z",
    "build_snapshot" : false,
    "lucene_version" : "8.4.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

A partir de là ElasticSearch est installé et opérationnel.

Installation de Kibana

On peut désormais installé l'interface de gestion :

apt-get install -y kibana

Démarrage automatique

/bin/systemctl daemon-reload
/bin/systemctl enable kibana.service

Gestion du service

systemctl status kibana.service

systemctl start kibana.service

systemctl stop kibana.service

Configuration de l'accès extérieur

systemctl stop kibana.service

nano /etc/kibana/kibana.yml

systemctl start kibana.service

Sécurité

Comme pour ElasticSearch, on n'oublie pas de configurer le pare-feu selon la solution de sécurité adoptée sachant que les données sont sensibles et que le port d'écoute de Kibana est le 5601

Test de connexion

Il nous reste plus qu'à tester la connexion à Kibana via l'adresse http://10.30.1.79:5601.

Paramétrage

Remplacer 10.30.1.79 par l'adresse IP de votre serveur.

Vous êtes désormais sur l'interface de Kibana :

Installation

Félicitaions, ElasticSearch et Kibana sont fonctionnels. Je vous laisse découvrir leurs fonctionnalités et je ferais d'autres tickets sur certains points précis.