31
ElasticSearch Qu'est -ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK Stack était une collection de trois produits open source - Elasticsearch , Logstash et Kibana - tous développés, gérés et maintenus par Elastic . Elasticsearch est un moteur de recherche et d'analyse open source en texte intégral, basé sur le moteur de recherche Apache Lucene. Logstash est un agrégateur de journaux qui collecte des données à partir de diverses sources d'entrée, exécute différentes transformations et améliorations, puis expédie les données vers diverses destinations de sortie prises en charge. Kibana est une couche de visualisation qui fonctionne au-dessus d'Elasticsearch, offrant aux utilisateurs la possibilité d'analyser et de visualiser les données.

Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

  • Upload
    others

  • View
    5

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

Qu'est-ce que la ELK Stack?

Jusqu'à il y a un an ou deux, ELK Stack était une collection de trois produits

open source - Elasticsearch , Logstash et Kibana - tous développés, gérés et

maintenus par Elastic .

Elasticsearch est un moteur de recherche et d'analyse open source en texte intégral,

basé sur le moteur de recherche Apache Lucene.

Logstash est un agrégateur de journaux qui collecte des données à partir de diverses

sources d'entrée, exécute différentes transformations et améliorations, puis expédie

les données vers diverses destinations de sortie prises en charge.

Kibana est une couche de visualisation qui fonctionne au-dessus d'Elasticsearch,

offrant aux utilisateurs la possibilité d'analyser et de visualiser les données.

Page 2: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

Architecture de ELK Stack

La figure suivante montre l'ordre correct du flux de journaux dans ELK.

les journaux générés à partir de diverses sources sont collectés et traités par Logstash, en

fonction des critères de filtre fournis. Logstash dirige ensuite ces journaux vers

Elasticsearch qui analyse et recherche ensuite les données. Enfin, à l'aide de Kibana, les

journaux sont visualisés et gérés conformément aux exigences.

Page 3: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

Installation

Accédez à https://www.elastic.co/downloads et décompressez les trois fichiers pour

obtenir leurs fichiers de dossiers.

Ouvrez maintenant le dossier elasticsearch et accédez à son dossier bin.

Double-cliquez sur le fichier elasticsearch.bat pour démarrer le serveur elasticsearch.

Page 4: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

Installation

Installer Kibana

Ouvrez maintenant le dossier kibana et accédez à son dossier bin.

Double-cliquez sur le fichier kibana.bat pour démarrer le serveur elasticsearch.

Pour vérifier si le serveur a démarré ou non, accédez au navigateur et tapez localhost:

5601 .

Installation de Logstash

Ouvrez maintenant le dossier logstash.

Pour tester votre installation de logstash, ouvrez l'invite de commande et accédez à votre

dossier logstash. Tapez maintenant:

binlogstash -e 'input { stdin { } } output { stdout {} }'Attendez que «Pipeline main started» s'affiche sur l'invite de commande.

Entrez maintenant un message à l'invite de commande et appuyez sur Entrée.

Logstash ajoute des informations d'horodatage et d'adresse IP au message et les affiche à

l'invite de commande.

Page 5: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

ElasticSearch

Elasticsearch est un moteur de recherche

hautement évolutif qui s'exécute au-dessus du

moteur Lucene basé sur Java. Il s'agit

essentiellement d'une base de données NoSQL.

Il stocke les données à l'intérieur des

documents au lieu des tables et des schémas.

Lorsque vous travaillez avec Elasticsearch,

vous devez suivre trois étapes principales:

• Indexation

• Cartographie

• Recherche

Page 6: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

ElasticSearch

Créer un index

Vous pouvez utiliser la commande suivante pour créer un index

Si l'index est créé, vous pouvez voir la sortie suivante

Page 7: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

ElasticSearch

Ajouter des données

Elasticsearch stockera les documents que nous ajoutons à l'index, comme indiqué dans le

code suivant.

Ajoutez un autre document similaire.

Page 8: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

ElasticSearch

PUT

Il permet d'ajouter ou de mettre à jour le document JSON

Lorsque l'ID n'est pas spécifié dans l'opération d'indexation, Elasticsearch génère

automatiquement l'ID de ce document.

Page 9: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

ElasticSearch

GET

DELETE

Permet d'extraire un objet de type JSON

Vous pouvez également spécifier les champs que vous souhaitez dans votre

résultat à partir de ce document particulier.

Vous pouvez supprimer un index, un mappage ou un document particulier

en envoyant une demande HTTP DELETE à Elasticsearch.

Page 10: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

ElasticSearch

Recherche

Elasticsearch nous permet de rechercher les documents présents dans tous

les index ou dans certains index spécifiques. Par exemple:

De nombreux paramètres peuvent être passés dans une opération de recherche

Une façon simple d'exprimer plusieurs critères de recherche consiste à

utiliser une requête bool. La requête bool vous permet d'utiliser une

combinaison d'autres requêtes, où chacune des conditions peut être placée

à l'aide d'une clause booléenne. Il existe trois clauses booléennes:

• must

• should

• must_not

Page 11: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

ElasticSearch

La requête match_all

Il s'agit de la requête la plus élémentaire; il renvoie tout le contenu et avec

le score de 1.0 pour chaque objet.

Page 12: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

ElasticSearch

Les requêtes full text - Correspondance de requête -

Cette requête fait correspondre un texte ou une phrase avec les valeurs d'un

ou plusieurs champs.

Page 13: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

ElasticSearch

Les requêtes full text - correspondance multiple-

Cette requête fait correspondre un texte ou une phrase avec plusieurs

champs.

Page 14: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

ElasticSearch

Les requêtes query string

Cette requête fait correspondre un texte ou une phrase avec plusieurs

champs.

Page 15: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

ElasticSearch

Les requêtes query string

Cette requête revoit les documents où il y’a le terme ‘science’

Page 16: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

ElasticSearch

Requêtes au niveau du terme

Ces requêtes concernent principalement des données structurées telles

que des nombres, des dates et des énumérations.

Page 17: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

ElasticSearch

Requête de plage

Cette requête est utilisée pour rechercher les objets ayant des valeurs

entre les plages de valeurs données. Pour cela, nous devons utiliser des

opérateurs tels que:

gte - supérieur ou égal à

gt - supérieur à

lte - inférieur à égal à

lt - moins de

Page 18: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

ElasticSearch

Requêtes composées

Ces requêtes sont une collection de différentes requêtes fusionnées les

unes avec les autres en utilisant des opérateurs booléens comme et, ou,

pas ou pour différents index ou en ayant des appels de fonction, etc.

Page 19: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

ElasticSearch

L’agrégation

Elasticsearch nous permet de rechercher les documents présents dans tous

les index ou dans certains index spécifiques. Par exemple:

Page 20: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

ElasticSearch

Agrégation de cardinalité

Cette agrégation donne le nombre de valeurs distinctes d'un champ

particulier.

Page 21: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

ElasticSearch

Agrégation de statistiques étendue

Cette agrégation génère toutes les statistiques sur un champ numérique

spécifique dans les documents agrégés.

Page 22: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

ElasticSearch

Agrégation max

Cette agrégation trouve la valeur maximale d'un champ numérique

spécifique dans les documents agrégés.

Page 23: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

ElasticSearch

Exercices

Dans ces travaux pratiques, nous allons travailler avec un fichier json: big-

movies-elastic.json

Importer tout d’abord ce fichier de données avec Kibana et répondre aux

requêtes suivantes:

1) trouver les films « Star Wars », Que remarquez-vous pour les résultats ?

Proposez une variante.

2) Refaire la même requête en affichant seulement le titre et le réalisateur

3) Films “Star Wars” dont le réalisateur (directors) est “George Lucas”

4) Films dans lesquels “Harrison Ford” a joué

5) Films dans lesquels “Harrison Ford” a joué dont le résumé (plot)

contient “Jones”.

Page 24: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

ElasticSearch

Exercices

6) Films dans lesquels “Harrison Ford” a joué dont le résumé (plot)

contient “Jones” mais sans le mot “Nazis”

7) Films de “James Cameron” dont le rang devrait être inférieur à 1000

(boolean + range query).

8) Films de “James Cameron” dont le rang doit être inférieur à 100

9) Films de “Quentin Tarantino” dont la note (rating) doit être supérieure à

5, sans être un film d’action ni un drame.

10) Films de “J.J. Abrams” sortis (released) entre 2010 et 2015

11) Donner la note (rating) moyenne des films.

12) Donner la note (rating) moyenne, et le rang moyen des films de George

Lucas.

Page 25: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

ElasticSearch

Exercices

13) Donnez la note (rating) moyenne des films par année. Attention, il y a

ici une imbrication d’agrégats.

14) Donner la note (rating) minimum, maximum et moyenne des films par

année.

15) Donner le rang (rank) moyen des films par année et trier par ordre

décroissant.

16) Compter le nombre de films par tranche de note (0-1.9, 2-3.9, 4-5.9…).

Indice : group_range.

17) Donner le nombre d’occurrences de chaque genre de film.

Page 26: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

ElasticSearch

Mise à jour d’un document

Si vous voulez mettre à jour seulement le nom d’une école. Vous pensez d’utiliser la

commande suivante

Vous allez remarquer que les autres champs sont perdus.

Pour vérifier le schéma de l’index, lancer la commande qui montre:

Page 27: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

ElasticSearch

Mise à jour d’un document

En fait, pour mettre à jour un champs sans toucher les autres, il faut utiliser la

commande:

Page 28: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

ElasticSearch

Déploiement

Pour savoir les nœuds sur lesquels ElasticSearch est déployé, lancer la commande:

1 2

Shard Replicat

2 3

Shard Replicat

3 1

Shard Replicat

Page 29: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

ElasticSearch

Déploiement

Pour spécifier la configuration par nous même:

Pour vérifier la configuration de l’index:

"fielddata": true

Page 30: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

ElasticSearch

Déploiement

Revenons à notre index ‘école’, la commande suivante cherche le mot ‘Ecole’ dans le

champs description

Explication

Char filter Tockenizer Tocken filter

Page 31: Jusqu'à il y a un an ou deux, ELK Stack était une …lecurseur.e-monsite.com/medias/files/elkpartie1.pdfElasticSearch Qu'est-ce que la ELK Stack? Jusqu'à il y a un an ou deux, ELK

ElasticSearch

ElasticSearch

Déploiement

Changer la description de l’école 1 en mettant le texte: « C’est une école d’ingénieurs

accréditée par l’état »

Cette commande permet de lemmatiser le texte en se basant sur un analyseur