Tutoriel ELK Stack : Kibana, Logstash et Elasticsearch
โก Rรฉsumรฉ intelligent
ELK Stack combine trois outils open source : Elasticsearch, Logstashet Kibana โ pour collecter, stocker, rechercher et visualiser les donnรฉes machine, offrant aux รฉquipes d'ingรฉnierie une journalisation centralisรฉe et des analyses en temps rรฉel pour un dรฉpannage plus rapide sur les serveurs et les applications.

La suite ELK est l'une des solutions open source les plus utilisรฉes pour la journalisation centralisรฉe et l'analyse des journaux. Ce tutoriel sur la suite ELK explique le rรดle d'Elasticsearch. Logstash, et Kibana sont, comment les trois outils s'articulent et oรน la plateforme est utilisรฉe dans le travail de surveillance et d'observabilitรฉ du monde rรฉel.
Qu'est-ce que la pile ELK ?
Le ELK Stack est une collection de trois produits open source : Elasticsearch, LogstashKibana offre une journalisation centralisรฉe qui facilite l'identification des problรจmes liรฉs aux serveurs ou aux applications en permettant de rechercher tous les journaux en un seul endroit. Elle permet รฉgalement de corrรฉler les journaux de plusieurs serveurs sur une pรฉriode donnรฉe.
- E signifie Elasticsearch : utilisรฉ pour stocker les journaux.
- L qui veut dire Logstash: utilisรฉ pour les naviresping, le traitement et le stockage des journaux.
- K reprรฉsente Kibana : un outil de visualisation (une interface web) hรฉbergรฉe via Nginx ou Apache.
Elasticsearch, LogstashKibana et d'autres plateformes sont dรฉveloppรฉes, gรฉrรฉes et maintenues par une sociรฉtรฉ nommรฉe รlastique.
L'ensemble de la suite ELK est conรงu pour permettre aux utilisateurs de rรฉcupรฉrer des donnรฉes provenant de n'importe quelle source, dans n'importe quel format, puis de rechercher, d'analyser et de visualiser ces donnรฉes en temps rรฉel.
ELK Stack Architecture
Maintenant que vous savez ce qu'est la pile, cette section explique l'architecture ELK et comment les donnรฉes circulent entre les composants.
Le pipeline ELK suit une sรฉquence claire dans laquelle chaque outil a une tรขche dรฉdiรฉe :
- Journaux Les journaux du serveur qui doivent รชtre analysรฉs ont รฉtรฉ identifiรฉs.
- Logstash: Collecte les journaux et les donnรฉes d'รฉvรฉnements, puis les analyse et les transforme.
- Recherche รฉlastique : Les donnรฉes transformรฉes par Logstash est stockรฉe, recherchรฉe et indexรฉe.
- Kibana : Utilise la base de donnรฉes Elasticsearch pour explorer, visualiser et partager des informations.
Cependant, un quatriรจme composant, nommรฉ Beats, est souvent ajoutรฉ pour la collecte de donnรฉes. Les Beats sont des modules d'expรฉdition lรฉgers installรฉs sur les serveurs ; leur ajout a conduit Elastic ร renommer ELK en Elastic Stack.
Lorsque vous traitez de trรจs grandes quantitรฉs de donnรฉes, vous pouvez ajouter Kafka ou RabbitMQ en amont du pipeline pour la mise en mรฉmoire tampon et la rรฉsilience.
Pour plus de sรฉcuritรฉ, un proxy inverse tel que Nginx peut รชtre placรฉ devant la pile.
Compte tenu de cette architecture, les sections suivantes examinent plus en dรฉtail chaque produit open source de la pile.
Qu'est-ce qu'Elasticsearch ?
Elasticsearch est un Base de donnรฉes NoSQL Basรฉ sur le moteur de recherche Lucene et conรงu avec des API RESTful, ce systรจme offre un dรฉploiement simple, une grande fiabilitรฉ et une gestion aisรฉe. De plus, il centralise le stockage de toutes vos donnรฉes, vous permettant ainsi d'effectuer des requรชtes avancรฉes et des recherches documentaires rapides.
Elasticsearch permet รฉgalement de stocker, de rechercher et d'analyser de grands volumes de donnรฉes. Il est le plus souvent utilisรฉ comme moteur sous-jacent des applications aux exigences de recherche รฉlevรฉes.
Grรขce ร ses fonctionnalitรฉs d'analyse et ร ses nombreuses options avancรฉes qui s'ajoutent ร une recherche rapide, Elasticsearch a รฉtรฉ largement adoptรฉ par les plateformes de recherche des applications web et mobiles modernes.
Fonctionnalitรฉs d'Elasticsearch
Elasticsearch offre un ensemble riche de fonctionnalitรฉs pour l'indexation et la recherche de donnรฉes :
- Un serveur de recherche open source รฉcrit en Java.
- Capable d'indexer tout type de donnรฉes hรฉtรฉrogรจnes.
- Fournit une interface web API REST avec sortie JSON.
- Recherche en texte intรฉgral.
- Recherche quasi temps rรฉel (NRT).
- Un systรจme de stockage de documents JSON partitionnรฉ, rรฉpliquรฉ et interrogeable.
- Systรจme de stockage de documents distribuรฉ, sans schรฉma, basรฉ sur REST et JSON.
- Prise en charge multilingue et de la gรฉolocalisation.
Avantages d'Elasticsearch
- Stocke des donnรฉes sans schรฉma et peut รฉgalement crรฉer un schรฉma pour vos donnรฉes.
- Permet de manipuler les enregistrements un par un ร l'aide d'API multi-documents.
- Permet de filtrer et d'interroger vos donnรฉes pour en extraire des informations pertinentes.
- Basรฉ sur Apache Lucene et fournissant une API RESTful.
- Offre une รฉvolutivitรฉ horizontale, une fiabilitรฉ et une capacitรฉ multi-locataire pour l'indexation en temps rรฉel et une recherche plus rapide.
- Permet de mettre ร l'รฉchelle verticalement et horizontalement.
Le tableau ci-dessous explique les principaux termes que vous rencontrerez lorsque vous travaillerez avec Elasticsearch :
| Long | Utilisation |
|---|---|
| Cluster | Un cluster est un ensemble de nลuds qui contiennent vos donnรฉes et offrent des capacitรฉs combinรฉes d'indexation et de recherche. |
| Nลud | Un nลud correspond ร une instance Elasticsearch unique. Il est crรฉรฉ au dรฉmarrage de l'instance Elasticsearch. |
| Sommaire | Un index est un ensemble de documents partageant des caractรฉristiques similaires, comme des donnรฉes clients ou un catalogue de produits. Il est utile pour les opรฉrations d'indexation, de recherche, de mise ร jour et de suppression, et il est possible de dรฉfinir plusieurs index au sein d'un mรชme cluster. |
| Documents | Un document est l'unitรฉ d'information de base pouvant รชtre indexรฉe. Il est exprimรฉ sous forme de paire clรฉ-valeur JSON, et chaque document est associรฉ ร un type et ร un identifiant unique. |
| Tesson | Chaque index peut รชtre divisรฉ en plusieurs fragments pour rรฉpartir les donnรฉes. Un fragment est l'unitรฉ de base d'un index et peut รชtre rรฉparti sur l'ensemble du cluster ร mesure que vous ajoutez des nลuds. |
Qu'est-ce que le Logstash?
Logstash est l'outil de collecte de donnรฉes de la suite. Il collecte les donnรฉes d'entrรฉe et les intรจgre ร Elasticsearch, rassemblant ainsi tous types de donnรฉes provenant de diffรฉrentes sources et les rendant disponibles pour une utilisation ultรฉrieure.
Logstash Cette solution permet d'unifier des donnรฉes provenant de sources disparates et de les normaliser pour les destinationes de votre choix. Vous pouvez ainsi nettoyer et dรฉmocratiser toutes vos donnรฉes pour une vaste gamme d'applications d'analyse et de visualisation.
Il se compose de trois รฉlรฉments :
- Entrรฉes : Il reรงoit les journaux et les convertit en un format lisible par machine.
- Filtres: un ensemble de conditions qui effectuent une action particuliรจre sur un รฉvรฉnement.
- Sortie : le dรฉcideur qui achemine chaque รฉvรฉnement ou journal traitรฉ.
Caractรฉristiques Logstash
Logstash comprend plusieurs fonctionnalitรฉs qui rendent le traitement des journaux flexible :
- Les รฉvรฉnements transitent par chaque phase via des files d'attente internes.
- Permet diffรฉrentes entrรฉes pour vos journaux.
- Permet de filtrer et d'analyser vos journaux.
Avantages de Logstash
- Centralise le traitement de vos donnรฉes.
- Analyse une grande variรฉtรฉ de donnรฉes et d'รฉvรฉnements structurรฉs et non structurรฉs.
- Propose des plugins permettant de se connecter ร de nombreux types de sources d'entrรฉe et de plateformes.
Quโest-ce que Kibana ?
Kibana est l'outil de visualisation de donnรฉes qui complรจte la suite ELK. Il permet de visualiser les documents Elasticsearch et aide les dรฉveloppeurs ร comprendre rapidement leurs donnรฉes grรขce ร des diagrammes interactifs, des donnรฉes gรฉospatiales et des graphiques qui simplifient la comprรฉhension des requรชtes complexes.
Vous pouvez utiliser Kibana pour rechercher, visualiser et interagir avec les donnรฉes stockรฉes dans les index Elasticsearch. Il vous permet รฉgalement d'effectuer des opรฉrations avancรฉes. l'analyse des donnรฉes et prรฉsentez vos donnรฉes sous forme de tableaux, de graphiques et de cartes variรฉs.
Kibana prend en charge plusieurs mรฉthodes de recherche dans vos donnรฉes. Les types de recherche les plus courants sont รฉnumรฉrรฉs ci-dessous :
| Type de recherche | Utilisation |
|---|---|
| Recherches de texte libre | Utilisรฉ pour rechercher une chaรฎne de caractรจres spรฉcifique. |
| Recherches au niveau du champ | Utilisรฉ pour rechercher une chaรฎne de caractรจres dans un champ spรฉcifique. |
| Dรฉclarations logiques | Utilisรฉ pour combiner des recherches en une instruction logique. |
| Recherches de proximitรฉ | Utilisรฉ pour rechercher des termes ร proximitรฉ d'un caractรจre spรฉcifique. |
Kibana offre รฉgalement un certain nombre de fonctionnalitรฉs puissantes pour explorer les donnรฉes indexรฉes :
- Un tableau de bord frontal performant qui visualise les informations indexรฉes provenant du cluster Elasticsearch.
- Permet la recherche en temps rรฉel d'informations indexรฉes.
- Permet de rechercher, de visualiser et d'interagir avec les donnรฉes stockรฉes dans Elasticsearch.
- Exรฉcute des requรชtes sur les donnรฉes et visualise les rรฉsultats sous forme de graphiques, de tableaux et de cartes.
- Un tableau de bord configurable pour segmenter et analyser les donnรฉes. Logstash journaux dans Elasticsearch.
- Fournit des donnรฉes historiques sous forme de graphiques, de tableaux, etc.
- Offre des tableaux de bord en temps rรฉel faciles ร configurer.
Avantages et inconvรฉnients de Kibana
Comme tout outil, Kibana possรจde des atouts indรฉniables qui expliquent sa popularitรฉ :
- Visualisation facile des donnรฉes.
- Entiรจrement intรฉgrรฉ ร Elasticsearch.
- Il sert d'outil de visualisation dรฉdiรฉ.
- Offre des fonctionnalitรฉs d'analyse, de reprรฉsentation graphique, de synthรจse et de dรฉbogage en temps rรฉel.
- Offre une interface intuitive et conviviale.
- Permet de partager des instantanรฉs des journaux que vous avez consultรฉs.
- Permet d'enregistrer et de gรฉrer plusieurs tableaux de bord.
Il convient รฉgalement de garder ร l'esprit quelques limitations :
- Il fonctionne uniquement avec Elasticsearch comme source de donnรฉes.
- La crรฉation et le rรฉglage de tableaux de bord complexes peuvent nรฉcessiter un apprentissage approfondi.
Pourquoi l'analyse des journaux ?
Dans les infrastructures basรฉes sur le cloud, la performance et l'isolation sont primordiales.
Les performances des machines virtuelles dans le cloud peuvent varier en fonction des charges spรฉcifiques, des environnements et du nombre d'utilisateurs actifs ; la fiabilitรฉ et les pannes de nลuds peuvent donc devenir des problรจmes importants.
A plateforme de gestion des journaux peut surveiller tous ces problรจmes. Il peut รฉgalement traiter les journaux du systรจme d'exploitation, les journaux des serveurs Web Nginx et IIS pour l'analyse du trafic, les journaux d'application et les journaux gรฉnรฉrรฉs sur AWS (Amazon Services Web).
En fin de compte, la gestion des journaux est utile DevOps Les ingรฉnieurs et les administrateurs systรจme prennent de meilleures dรฉcisions, fondรฉes sur les donnรฉes. C'est pourquoi l'analyse des journaux via Elastic Stack ou des outils similaires est devenue essentielle.
ELK contre Splunk
Une question frรฉquente est de savoir comment la suite ELK se compare ร Splunk, une alternative commerciale populaire. Le tableau ci-dessous rรฉsume les principales diffรฉrences :
| WAPITI | Splunk |
|---|---|
| ELK est un outil open-source. | Splunk est un outil commercial. |
| ELK n'offre pas Solaris portabilitรฉ grรขce ร Kibana. | Offres Splunk Solaris portabilitรฉ. |
| La vitesse de traitement est strictement limitรฉe. | Offre un traitement prรฉcis et rapide. |
| ELK est une pile technologique crรฉรฉe ร partir de la combinaison d'Elasticsearch, Logstashet Kibana. | Splunk est un outil propriรฉtaire qui propose des solutions sur site et dans le cloud. |
| Dans ELK, la recherche, l'analyse et la visualisation ne sont possibles qu'une fois la pile configurรฉe. | Splunk est une solution complรจte de gestion des donnรฉes prรชte ร l'emploi. |
| ELK offre une intรฉgration intรฉgrรฉe limitรฉe avec d'autres outils. | Splunk est utile pour configurer des intรฉgrations avec d'autres outils. |
รtudes de cas
De nombreuses entreprises renommรฉes utilisent la suite ELK pour gรฉrer la journalisation et l'analyse ร grande รฉchelle. Les exemples ci-dessous illustrent son utilisation en production.
Netflix
Netflix L'entreprise s'appuie fortement sur la suite ELK pour surveiller et analyser les journaux de sรฉcuritรฉ de ses opรฉrations de service client. La plateforme permet Netflix Indexer, stocker et rechercher des documents sur plus de quinze clusters composรฉs d'environ 800 nลuds.
Le rรฉseau social professionnel LinkedIn utilise la suite ELK pour surveiller ses performances et sa sรฉcuritรฉ. Son รฉquipe a intรฉgrรฉ ELK ร Kafka pour gรฉrer la charge en temps rรฉel, et l'exploitation s'รฉtend sur plus de 100 clusters rรฉpartis dans six centres de donnรฉes.
Tripwire
Tripwire, fournisseur mondial de solutions de gestion des informations et des รฉvรฉnements de sรฉcuritรฉ (SIEM), utilise la suite ELK pour prendre en charge l'analyse des journaux de paquets d'informations.
Moyenne
Medium, la plateforme de publication de blogs populaire, utilise la suite ELK pour dรฉboguer les problรจmes de production et dรฉtecter les anomalies. DynamoDB Points d'intรฉrรชt. Cette infrastructure permet ร l'entreprise de prendre en charge 25 millions de lecteurs uniques et des milliers de nouveaux articles chaque semaine.
Avantages et inconvรฉnients de la pile ELK
Avantages
La suite ELK offre plusieurs avantages qui expliquent sa large adoption :
- Il fonctionne de maniรจre optimale lorsque les journaux des diffรฉrentes applications d'une entreprise convergent vers une seule instance ELK.
- Elle offre une analyse approfondie ร partir d'un seul enregistrement et รฉlimine la nรฉcessitรฉ de se connecter ร des centaines de sources de donnรฉes distinctes.
- Installation rapide sur site.
- Facile ร dรฉployer et รฉvolutif aussi bien verticalement qu'horizontalement.
- Elastic propose de nombreux clients linguistiques, dont Ruby, PythonPHP, Perl, .NET, Java et JavaScรฉnario.
- Des bibliothรจques sont disponibles pour de nombreux langages de programmation et de script.
Dรฉsavantages
Malgrรฉ ses atouts, la suite ELK prรฉsente quelques inconvรฉnients ร prendre en compte :
- La gestion des diffรฉrents composants peut devenir difficile ร mesure que l'on passe ร une configuration plus complexe.
- Il y a une vรฉritable courbe d'apprentissage, alors attendez-vous ร quelques essais et erreurs au fur et ร mesure que vous gagnerez en expรฉrience.


