K2Y logo
K2Y
Big Data

Stack ELK : Une approche moderne de l’analyse de données ... sur le Pokédex ?

Stack ELK : Une approche moderne de l’analyse de données ... sur le Pokédex ?
3 min read
#Big Data

🔍 Exploration de la Stack ELK : Une approche moderne de l’analyse de données avec Elasticsearch, Logstash et Kibana

🌐 Introduction

Dans l’univers de l’observabilité, du traitement de logs et de la recherche intelligente, la Stack ELK — composée d’Elasticsearch, Logstash, et Kibana — est devenue une référence. Je l’ai testée sur un cas concret : créer un moteur de recherche pour un Pokédex personnalisé.


I. 📚 Définitions essentielles

  • Elasticsearch : moteur de recherche et d’analyse distribué basé sur Apache Lucene. Il est utilisé pour rechercher, analyser et visualiser rapidement de grandes quantités de données en temps réel. C’est un composant central de la suite ELK.
  • Kibana: outil de visualisation de données qui s’interface avec Elasticsearch. Il permet de créer des tableaux de bord interactifs, des graphiques, des cartes, etc., pour analyser visuellement les données stockées dans Elasticsearch.
  • Logstash : outil de collecte, de traitement et de transfert de données. Il permet d’ingérer des logs ou des données provenant de différentes sources (fichiers, bases de données, systèmes, etc.), de les transformer (filtrage, enrichissement, etc.) et de les envoyer vers Elasticsearch
  • Index : équivalent d’une base de données.
  • Document : structure JSON représentant une entrée.

II. 🧱 Architecture de la Stack

Voici une vue d'ensemble des relations entre les trois outils :

Architecture de la Stack ELK

III. 🔍 Installation d’Elasticsearch sur Windows

Étapes :

  1. Télécharger l’archive .zip sur le site d’Elastic.
  2. Extraire le dossier.
  3. Lancer elasticsearch.bat depuis le dossier bin.

Configuration minimale dans elasticsearch.yml :

xpack.security.enabled: false
xpack.security.http.ssl.enabled: false

⚠️ Ne pas utiliser ces réglages en production.

Résultat attendu :

Lancement réussi d’Elasticsearch

IV. 🖥️ Installation de Kibana

  1. Télécharger l’archive .zip depuis le site officiel.
  2. Extraire le dossier.
  3. Lancer kibana.bat depuis bin.
Interface Kibana lancée avec succès

Vous pouvez relier Kibana à Elasticsearch avec un token d’enrollment ou un code de vérification :

bin/elasticsearch-create-enrollment-token -s kibana

V. ⚙️ Installation de Logstash

  1. Télécharger le .zip depuis elastic.co.
  2. Extraire et créer un fichier de configuration logstash-simple.conf.

Exemple :

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

Lancer via :

logstash.bat -f chemin/vers/logstash-simple.conf

Terminal prêt à accepter des entrées comme documents Elasticsearch.


VI. 🎮 Projet Pokédex avec la Stack ELK

Objectif

Créer une base intelligente de Pokémon avec recherche multicritère.

Configuration Logstash (pokedex.conf)

input {
  file {
    path => "/data/pokedex.csv"
    start_position => "beginning"
    sincedb_path => "/dev/null"
  }
}
filter {
  csv {
    separator => ","
    columns => ["nom", "type", "pv", "attaque", "défense", "vitesse", "génération"]
  }
  mutate { convert => { "pv" => "integer" } }
}
output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "pokedex"
  }
}

Lancer avec :

logstash.bat -f pokedex.conf

Interface Kibana personnalisée

Dashboard Kibana pour le Pokédex

📊 Résultats observés

Resultats ELK
  • 💡 Recherche rapide par nom/type.
  • 📈 Dashboards interactifs (types dominants, répartitions).
  • 📊 Statistiques par génération.

🧠 Conclusion

La Stack ELK m’a permis d'explorer un simple fichier CSV via moteur de recherche visuel et intelligent. L’outil est idéal aussi bien pour des logs systèmes que pour des bases de données personnalisées comme ici. C'est un cas simple. Cette pile est encore plus impressionante en production pour les analyses plus poussées.