ELK - Elastic Stack

ElasticSearch / Plugin graphique « HEAD »

Installation

Pré-requis :

Vérification en ligne de commande (valable sous windows ou unix):

$ java –version

Le résultat devrait être similaire à celui-ci : (si la version de java est supérieur à 1.6, tout va bien).

java version “1.x.x” Java(TM) SE Runtime Environment (build 1.6.0_25-b06)

Téléchargement d’élasticsearch

ElasticSearch est téléchargeable sous forme d’archive zip , tar.gz ou sous forme de package .deb.

Il suffit de se rendre à l’adresse suivante et lancer le téléchargement :

elasticsearch

Après dézippage, le fichier se compose de 3 fichiers principaux :

Démarrer ElasticSearch

Il vous suffit d’aller dans le fichier « bin » précédemment présenté et de lancer la commande suivante :

$ cd elasticsearch-*.*.*/
# on entre dans le dossier elasticSearch

$ cd bin
# on entre dans le fichier bin

$ ./elasticsearch
# on lance elasticsearch

Au démarrage, ElasticSearch va créer de nouveaux répertoires :

Afin de vérifier qu’ElasticSearch s’est correctement lancé, rejoindre l’url qui correspond à l’host de votre ElasticSearch. Par défaut :

http://localhost:9200/

ElasticSearch écoute par défaut sur le port 9200 pour répondre aux éventuelles requêtes HTTP REST qui lui sont faites.

Si votre ElasticSearch fonctionne correctement vous devriez avoir :

    {
      "name" : "Myron MacLain",
      "cluster_name" : "elasticsearch",
      "version" : {
        "number" : "2.2.0",
        "build_hash" : "8ff36d139e16f8720f2947ef62c8167a888992fe",
        "build_timestamp" : "2016-01-27T13:32:39Z",
        "build_snapshot" : false,
        "lucene_version" : "5.4.1"
      },
      "tagline" : "You Know, for Search"
    }

Ce résultat est en JSON et renvoie tout simplement le statut d’elasticsearch.

Le serveur a donc démarré.

Etape 3 :

L’interface graphique via le plugin Head

Le plugin Head :

Ce plugin permet de fournir une interface graphique à ElasticSearch, permet de l’administrer plus facilement et d’interagir avec les clusters.

**L’installation (2 méthodes): **

Méthode 1 :

 $ cd elasticsearch-*.*.*
 $ bin/plugin install mobz/elasticsearch-head –verbose

Méthode 2 :

$ cd elasticsearch-*.*.*


sudo elasticsearch/bin/plugin

install mobz/elasticsearch-head


Démarrage d’ElasticSearch via head :

Il suffit de lancer ElasticSearch normalement, via :

$ cd  bin
$ ./elasticsearch

Seul l’url change avec l’ajout de « /_plugin/head/ » :

http://localhost:9200/_plugin/head/

Aperçu :

elasticsearch

Installation de Kibana

Kibana, appartenant à la stack Elastic, suit la même logique qu’ElasticSearch pour son installation et son démarrage.

Téléchargement de Kibana

Rendez-vous à l’url suivante :

Kibana

Choisissez l’archive correspondante à votre système d’exploitation et dézippez là.

Démarrer Kibana

$ cd kibana-*.*.*/                
# on entre dans le dossier dézippé de kibana

$ cd bin                              
# on entre dans le fichier bin  

$ ./kibana            
# on lance kibana

Une fois kibana lancé, allez sur l’url suivante.

C’est celle qui est configuré par défaut.

Vous pourrez bien évidemment en configuré une nouvelle dans config/kibana.yml, à l’instar d’ElasticSearch.

http://localhost:5601

Vous obtenez la page suivante :

kibana

Félicitations. Votre Kibana est prêt à l’emploi !

Nudge apm : Documentation plugin ELK

Docs : Nudge elastic stack connector

Nudge-elasticstack-plugin a été développé dans l’optique de faciliter la tâche des développeurs et des équipes de production.

En effet, ancré dans le monde DevOps, Nudge est une entreprise spécialisée dans la solution APM (Application Performance Management), et intègre alors via son API REST, un duo de charme incontournable de la stack Elastic :

ElasticSearch et Kibana

Grâce à ce plugin, directement branché sur l’API de Nudge, il sera désormais possible d’utiliser cette stack afin que les développeurs puissent facilement identifier les bugs repérés par les agents de Nudge, et travailler au sein de Kibana, interface attrayante et très flexible.

PREREQUIS :

Du côté de chez Nudge :

Afin d’utiliser le connecteur de Nudge, il faut au préalable être inscrit en tant qu’utilisateur sur le site de Nudge et avoir en sa possession :

Vous pourrez ainsi avoir accès à des données d’applications qui seront requêtées et analysées par le plugin.

Si l’un ou plusieurs de ces 3 critères n’est pas rempli, suivez la procédure qui suit :

L’inscription :

Si vous n’êtes pas encore inscrit, la procédure est simple et gratuite.

Cela vous permettra d’utiliser tout le potentiel du connecteur.

Pour cela, il vous suffit de vous rendre sur la page d’accueil du site à cette adresse :

https://www.nudge-apm.com/

Puis de cliquer sur « Démo / Inscription », et de renseigner le formulaire.

Vous aurez donc votre login et votre mot de passe.

Récupération de l’id de l’application Retrieving the application id.

Ensuite, il vous faut l’id de l’application.

Vous le trouverez en vous rendant sur l’API et en faisant :

Apps / Get /apps / try it out

Comme ci-dessous:

nudgeapi

nudgeapi

nudgeapi

A la suite de cela, vous pourrez récupérer votre ID d’application, en vous référant au nom de la « response body » :

nudgeapi

Du côté de la stack elastic :

Il est indispensable que vous ayez :

Ces derniers sont disponibles au téléchargement à cette adresse :

https://www.elastic.co/

Du côté de l’environnement de travail :

Les plateformes :

Seul le script de démonstration est en cours de développement sous Windows.

Bien que très utile, il n’est toutefois pas indispensable au bon fonctionnement du plugin.

Java :

Vous devez également disposer de Java sur votre machine sur laquelle sera exécutée le plugin.

La version doit être Java 7 ou supérieure

Pour verifier votre version installée, ouvrez votre terminal et faites :

$ java –version

Téléchargement :

Premièrement, vous devez télécharger le fichier .zip sur Github :

https://github.com/NudgeApm/nudge-elasticstack-connector/releases

et dézipper l’archive.

$ wget https://github.com/NudgeApm/nudge-elasticstack-connector/releases/download/v1.0.0/nudge-elasticstack-connector-1.0.0.zip

$ unzip nudge-elasticstack-connector-1.0.0.zip

Il comprend :

Attention :

Le jar qui sera exécuté doit obligatoirement se trouver à côté du fichier de configuration.

**Execution : **

Configuration :

Avant toute chose, veillez à démarrer les services d’ElasticSearch et de Kibana.

Si les services sont éteints, le plugin ne pourra pas indexer les données.

Le fichier de configuration, placé à côté du JAR, doit être édité afin que vous y insériez votre login, votre mot de passe et l’id de l’application.

Vous avez également la possibilité de changer le nom de l’index ainsi que la sortie d’ElasticSearch.

nudgeplugin

Lancer le connecteur :

Le connecteur requête au fil de l’eau toutes les données qui concerne votre application.

Chaque minute, les données seront envoyées à ElasticSearch.

La commande pour lancer le service du connecteur est la suivante :

$ java-jarnudge-elasticstack-connector-1.0.0-jar-with-dependencies.jar -startDaemon

La stack Elastic et le connecteur

Après la bonne exécution du connecteur, vous créez dans votre ElasticSearch un index appelé « nudge » (ou autre si vous avez modifié le nom de l’index dans le fichier de configuration).

elasticsearch

Dans Kibana, rendez-vous dans « settings » afin de configurer l’index-pattern.

Il faut renseigner l’index présent dans elasticSearch (ici nudge).

nudgeapi

Félicitations ! Vous pouvez désormais créer vos visualisations et Dashboard !

Le script : kibana_init_dashboards.sh

Dans le .zip que vous avez téléchargé se trouve un fichier script.

Il fait office de démonstration et permet d’appréhender au mieux ce qu’il est possible de générer et de réaliser grâce au plugin.

Il importe directement des visualisations et les Dashboards correspondants.

Ils sont basés sur les données du logiciel de démonstration de Nudge accessible après votre inscription sur le site.

L’execution de ce script est indispensable pour comprendre et analyser la manière dont les données de Nudge peuvent être exploitées, mais aussi pour générer automatiquement vos propres visualisations ou Dashboards de manière simple.

Prerequis :

Du côté de chez Nudge :

L’utilisation du script nécessite l’éxécution préalable du connecteur.

C’est en effet par son biais que le script pourra récupérer les données de l’application de Nudge.

Du côté de l’environnement :

La seule différence notable à rappeler, est qu’il est en cours de développement pour qu’il puisse être exécutée sous Windows.

Configuration du script :

Le script a été développé de sorte à ce que vous n’ayez aucune configuration particulière à réaliser avant son exécution.

Toutefois, la seule configuration que vous pouvez modifiez sans en impacter son utilisation initiale, est le changement de l’host d’ElasticSearch et de Kibana.

elasticstack

Toute autre modification peut ne pas faire fonctionner le script.

Si vous aviez changé le champ « elastic.index » par un autre nom dans les configurations du plugin, mettez de nouveau « nudge ».

Cet index sera ainsi créé au sein de votre elasticSearch (voir la partie de documentation qui concerne le plugin pour plus d’informations), et permettra l’import des visualisations et dashboards.

Utilisation du script :

Lancer le script :

Ouvrez votre terminal et mettez vous à la racine du dossier contenant le fichier .sh et exécuter le script grâce à cette commande :

$ ./kibana_dashboard_init.sh

Si vous obtenez le message d’erreur :

$ bash : ./ kibana_dashboard_init.sh

faites :

$ chmod +x kibana_dashboard_init.sh
$ ./kibana_dashboard_init.sh

Vous devriez obtenir une aide avec les différentes options à l’instar de l’illustration suivante :

nudgevisualizations

Pour une première utilisation il suffit donc de taper la commande suivante :

  $ kibana_dashboard_init.sh import

Cela importera toutes les visualisations et dashboards disponibles.

La stack Elastic et le script

L’exécution de ce script avec le paramètre d’import aura plusieurs effets :

elasticsearch

A noter que cette création automatique ne vous concerne pas si vous avez déjà configuré votre index-pattern en tant que « nudge » lors de la mise en place du plugin.

kibana

kibana

kibana

Suppression des imports :

Il vous est donc possible de supprimer les imports, que ce soit au sein d’ElasticSearch, ou dans Kibana.

Pour cela, il vous suffit de lancer le script avec les options présentées dans l’aide.

Vous aurez le choix entre :

$ kibana_dashboard_init.sh delete_all

ou

$ kibana_dashboard_init.sh delete_visu

ou

$ kibana_dashboard_init.sh delete_dash

nudge-visualizations-dash-16

Bonne exécution !