[RDV Tech] La Stack Elastic, l’indexation de contenu et leur recherche

ingest Node

[RDV Tech] La Stack Elastic, l’indexation de contenu et leur recherche

Stack elastic

 

L’indexation de contenu et leur recherche sont des besoins grandissant dans un environnement qui produit de plus en plus de données à structure variable dans leur nature, et dans le temps. La recherche structurée ou libre au sein de ces données a aussi une grande importance, et la volumétrie sans cesse grandissante nécessite la mise en place de système dont la mise à l’échelle est garantie par des mécanismes robustes. Les solutions de la stack Elastic, historiquement désignée par l’acronyme ELK (ElasticSearch, Logstash, Kibana) fournissent des réponses à ces besoins sur base de solutions Open Source et hautement distribuables.

 

Analyse par Pierre-Antoine Grégoire  – IT Architect & Agilist chez Agile Partner  et Hassen Khail  – Senior Java Developer chez Agile Partner

 

Carte d’identité

Nom Elastic stack (a.k.a. ELK)
Genre Indexation et recherche de données
Fondateur Shay Bannon
Date clés 2012: Création de Elastic.co par les contributeurs de Elasticsearch
Particularités Scalable Distributed Indexation/Search engine

 

Indexation et recherche distribuées

 

La mise en place d’infrastructure d’indexation et de recherche est un besoin grandissant. Effet d’une accoutumance des utilisateurs à un accès aux données par recherche textuel (Google, Bing…), ce besoin s’étend constamment pour les applications récentes en entreprise ou sur le Web.

Afin de répondre à ce besoin une infrastructure doit être mise en place, correspondant aux types de composants suivants:

  • un système d’indexation: analyse des données soumises, pour produire un format qui facilite une recherche rapide, comme l’index d’un livre permet de retrouver du contenu sur base d’un mot clé.
  • un moteur de recherche: pour rechercher des données dans l’index sur base de requêtes plus ou moins structurées
  • une interface de visualisation: pour donner du sens à des données, une utilisation brute des résultats est fastidieuse, surtout si le volume est important. L’outil de visualisation permet de produire des graphiques dynamiques, des visualisations ou des rapports sur base des données retournées par le moteur de recherche.
  • des collecteurs de données: un collecteur est un composant qui va recueillir les données à indexer à leur source (un fichier, une arborescence de fichier, une base de données, un flux réseau…)
  • un distributeur (dispatcher): le distributeur va envoyer les données collectées au système d’indexation.

 

stack elastic

 

Ces différents composants peuvent être fournis par une solution unique, ou par la composition de plusieurs solutions complémentaires.

D’autres composants peuvent être adjoints à cette infrastructure pour garantir la mise à l’échelle et la haute disponibilité, comme par exemple:

  • un message broker qui peut servir de tampon entre le(s) distributeur(s) et le système d’indexation. Ce broker devrait aussi être distribué et compatible avec la mise à l’échelle de l’infrastructure.
  • un filtre qui s’interpose entre le(s) distributeur(s) et le système d’indexation et permet de supprimer ou enrichir en amont les données

 

La stack Elastic (a.k.a. ELK) conceptuellement

La stack Elastic, est composée de plusieurs solutions. Les plus connues forment l’acronyme ELK (populaire dans la communauté):

  • ElasticSearch: la solution centrale. Il joue le rôle de système d’indexation, de moteur de recherche, et peut aussi jouer le rôle de collecteur de données et de filtre grâce aux “Ingest Nodes”. B.: la possibilité de collecter et filtrer directement les données avec ElasticSearch le rend suffisant pour des besoins de petites tailles ou pour des environnements de labo/développement.
  • Logstash: le couteau suisse. Son objectif est essentiellement la collecte et la distribution des données vers les systèmes d’indexation (vers ElasticSearch par exemple). Il prend de très nombreux types de données en entrée, et peut les distribuer à de très nombreux systèmes (en plus d’Elasticsearch). Par ailleurs, il fournit aussi de très puissantes capacités de filtrage des données B.: son côté couteau suisse lui permet d’être utilisé avec ou sans Elasticsearch. Il est souvent mis en place comme agent sur des systèmes ayant accès aux données que l’on souhaite soumettre à l’indexation.
  • Kibana: Application de visualisation qui accède aux APIs d’un noeud ou d’un cluster Elasticsearch et permet de créer des visualisations riches.


stack elastic

Lire la suite sur le site ITNation

Maeva Pitou
No Comments

Post a Comment

Comment
Name
Email
Website