Introduction à la suite Elastic

Brouillon

À venir

0 commentaire

Elasticsearch


De nos jours, la fonction recherche est une fonctionnalité qui peut apporter une réelle valeur ajoutée. Que ce soit la détection d'anomalies dans les journaux d'évènements des serveurs ou la recherche en texte intégral (Full-Text) parmi les données stratégiques, la capacité d'analyser de grands volumes de données confère à l'entreprise un réel avantage sur ses concurrents.
Quelques éditeurs ont fait de cette recherche leur spécialité, mettant sur le marché des produits matures et largement adoptés par les plus grandes entreprises.

Dans ce post, je vais vous présenter la suite Elastic Stack de l'éditeur Elastic et l’installation.

Un peu d'histoire

Elasticsearch est un moteur de recherche créé par Shay Banon, fondateur de Compass Project en 2004.
Basé sur la librairie Lucene (Apache), il a été développé en Java et distribué en open source sous licence Apache.

Tout est parti de l’idée simple de Shay Banon, alors au chômage, de créer une application pour archiver les recettes de cuisine pour sa femme. Ses recherches l'emmenèrent rapidement vers Lucene qui deviendra la base de
Compass. Très vite, ses recherches et expérimentations sur Lucène lui prendront de plus en plus de temps, et le rapprocheront d'autres personnes passionnées par Lucene.

Avec quelques passionnés, ils fondèrent une entreprise autour de Compass.

Alors qu'il réfléchissait à une évolution de Compass, Shay se rendit compte qu'il valait sans doute mieux de réécrire une grande partie afin de créer une solution de recherche scalable et distribuée. Elasticsearch était né.

Par la suite, il sera rejoint par d'autres personnes, notamment Jordan Sissel, créateur de Logstash ainsi que Rashid Khan, inventeur de Kibana.

Ces trois briques : Elasticsearch, Logstash et Kibana, formeront la suite ELK, la colonne vertébrale de leur société, renommée plus simplement Elastic.

Pour information, sa femme attend toujours son application pour les recettes !

Installations

  1. Elasticsearch

    Nous allons tout d'abord installer Elasticsearch vu qu'il est le cœur même de toute la suite.
    Vous trouverez les installeurs pour Elasticsearch à cette adresse :

    Télécharger Elasticsearch

    Pour des raisons de simplicité, prenez le MSI qui est en version beta actuellement.

    Download Elasticsearch

    Une fois téléchargé, exécutez le msi (elasticsearch-6.5.1.msi au moment de cet article)
    Vous verrez apparaître cette fenêtre :

    Install Elasticsearch 1

    Remarque: si le disque C est votre disque système, préférez un autre disque pour les répertoires Data et Logs pour Elasticsearch car ces répertoires peuvent devenir très vite volumineux.

    Cliquez sur NEXT
    Install Elasticsearch 2

    Lors de l'installation d'Elasticsearch, vous avez la possibilité de le configurer pour qu'il soit comme un service Windows ou non.
    Là encore, pour faire simple, nous allons l'installer comme un service Windows avec toutes les options par défaut.

    Cliquez sur NEXT
    Install Elasticsearch 3

    Sur cet écran, vous pouvez tout laisser par défaut (j'ai simplement renommé le nom du nœud)

    Cliquez sur NEXT
    Install Elasticsearch 4

    C'est là que vous pouvez choisir les plugins à installer. Laissez tout décoché.
    Cliquez sur NEXT
    Install Elasticsearch 5

    Vous pouvez choisir le type de licence : Basique ou Trial. Choisissez Basique.
    Cliquez sur INSTALL
    Install Elasticsearch Final

    Pour vérifier que l'installation s'est correctement déroulée, vous pouvez cliquer sur le bouton Open Elasticsearch in the browser
    Si tout va bien, vous devriez voir ouvrir votre navigateur par défaut sur cet url : localhost:9200

  2. Kibana

    Contrairement à Elasticsearch, Kibana et Logstash ne fournissent pas d'installeur msi.
    Vous trouverez les installeurs de Kibana sous forme de fichier zip à ce lien:

    Télécharger Kibana

    Une fois téléchargé, décompressez le fichier (kibana-6.5.1-windows-x86_64.zip au moment de cet article)

  3. Logstash

    Vous trouverez les installeurs de Logstash sous forme de fichier zip à ce lien:

    Télécharger Logstash

    Une fois téléchargé, décompressez le fichier (logstash-6.5.1.zip au moment de cet article)
    Contrairement à Kibana, Logstash a besoin d'un fichier de configuration en tant que paramètre pour son exécution.
    Pour cela, créez un fichier nommé par exemple : MyConfig.conf

    Copiez ces quelques lignes:

input { stdin { } }
output {
  elasticsearch { hosts => ["localhost:9200"] }
  stdout { codec => rubydebug }
}

Remarquez qu'on peut indiquer directement à logstash l'instance d'Elasticsearch vers laquelle on veut envoyer nos logs.

  1. NSSM
    Contrairement à Elasticsearch, Logstash et Kibana ne disposent pas d'installeur.
    Si vous voulez les installer en tant que service Windows (comme Elasticsearch), vous pouvez utiliser ce petit utilitaire NSSM.

    1. Kibana:
      Une fois téléchargé et dézippé, ouvrez une fenêtre de commande dans le répertoire de Kibana

      Exécutez cette ligne de commande:

    nssm install
    

    Vous devriez voir cette fenêtre:

    NSSM First Screen

    Path: indiquez le chemin où vous avez décompressé Kibana : "<Répertoire de Kibana>\bin\kibana.bat"

    Startup directory: "<Répertoire de Kibana>\bin"

    Service name: "Kibana" (ou le nom que vous voulez)

    Allez sur l'onglet Dependencies et mettez le nom du service Elasticsearch que vous avez installé précédemment. De cette manière, Kibana ne démarrera qu'après le démarrage d'Elasticsearch.

    Cliquez sur Install service

    Kibana est désormais installé en tant que service windows.

    Pour vérifier, ouvrez votre navigateur à cette adresse : localhost:5601
    Vous devriez arriver sur la page d'accueil de Kibana.

    1. Logstash

      Faites la même chose que pour Kibana :

      Path: indiquez le chemin où vous avez décompressé Logstash : "<Répertoire de Logstash>\bin\logstash.bat"

      Startup directory: "<Répertoire de Logstash>\bin"

      Arguments: "-f <Répertoire du fichier MyConfig.conf>\MyConfig.conf"
      Service name: "Logstash" (ou le nom que vous voulez)

    Cliquez sur Install service

Félicitations : vous venez de mettre en place la stack ELK (Elasticsearch - Logstash - Kibana).
Dans les prochains articles, nous allons voir comment les configurer et mettrons en place quelques cas d'utilisation.

Dan Hang

Diplômé de l'AFCEPF, Dan est ingénieur en Systèmes d'Information et un grand passionné de nouvelles technologies.

Profil de l'auteur