Charger des documents JSON dans ELASTICSEARCH via LOGSTASH

Me voila avec ma stack ELK fraîchement installée. formation-elasticsearch.png

Voici un cas d’utilisation assez simple :Je recherche à insérer au fil de l’eau des documents JSON dans l’index ELASTICSEARCH. Pour ceci on peut le faire de plusieurs manières :

  • Utiliser un ETL (ex. TALEND)
  • Utiliser un programme manipulant l’API ELASTICSEARCH
  • Utiliser LOGSTASH

Cette dernière brique était dans un premier temps dédiée aux LOGS. Dorénavant, elle se rapproche d’un ETL.

Voici le cas (assez simple j’en conviens) que je vais mettre en place

Screen_Shot_10-30-14_at_04.42_PM.PNG

Configuration de LOGSTASH

LOGSTASH s’exécute dans mon cas comme un agent. Il faut créer le fichier de configuration suivant dans le répertoire /etc/logstash/conf.d :

Dans le premier bloc (input) je spécifie que je cherche à traiter les fichiers json qui sont dans mon répertoire et qu’ils sont multilignes.

Ensuite dans le bloc filter , j’applique une transformation pour les mettre en JSON. Enfin dans le dernier bloc ( output) j’affiche dans la sortie standard ( stdout() ) le résultat et je charge dans elasticsearch le document JSON ainsi chargé.

Chargement des données Il faut pour cela redémarrer logstash

Et logiquement, vous devriez voir dans les logs d’ELASTICSEARCH des lignes qui ressemblent à ça

http://127.0.0.1:9200/index/document/_search ///

Visualisation dans KIBANA

Je ne décrirais pas cette partie car je suis encore en cours d’exploration. Voici néanmoins un bon point de départ pour ceux que ça intéresse

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *