Tutoriel ELK Stack : Qu'est-ce que Kibana, Logstash & Elasticsearch ?

Qu'est-ce que la pile ELK ?

Le ELK Stack est une collection de trois produits open source : Elasticsearch, Logstash, et Kibana. La pile ELK fournit une journalisation centralisée afin d'identifier les problèmes avec les serveurs ou les applications. Il vous permet de rechercher tous les journaux en un seul endroit. Il permet également de détecter les problèmes sur plusieurs serveurs en connectant les journaux pendant une période spécifique.

  • E signifie ElasticSearch : utilisé pour stocker les journaux
  • L signifie LogStash : utilisé à la fois pour l'expédition ainsi que pour le traitement et le stockage des journaux
  • K signifie Kibana : est-ce un outil de visualisation (une interface Web) hébergée via Nginx ou Apache

ElasticSearch, LogStash et Kibana sont tous développés, gérés et maintenus par la société Elastic.

ELK Stack est conçu pour permettre aux utilisateurs d'extraire des données de n'importe quelle source, dans n'importe quel format, et de rechercher, analyser et visualiser ces données en temps réel.

ELK Stack Architecture

Maintenant, dans ce didacticiel sur la pile ELK, nous allons découvrir l'architecture ELK :

Voici l'architecture simple de la pile ELK

ELK Stack Architecture
ELK Stack Architecture
  • Journaux Les journaux du serveur qui doivent être analysés sont identifiés
  • Logstash: Collectez les données des journaux et des événements. Il analyse et transforme même les données
  • Recherche élastique : Les données transformées de Logstash is Stocker, rechercher et indexé.
  • Kibana : Kibana utilise Elasticsearch DB pour explorer, visualiser et partager

Cependant, un composant supplémentaire est nécessaire ou une collecte de données appelée Beats. Cela a conduit Elastic à renommer ELK en Elastic Stack.

ELK Stack Architecture avec Beats

Lorsque vous traitez de très grandes quantités de données, vous aurez peut-être besoin de Kafka, RabbitMQ pour la mise en mémoire tampon et la résilience. Pour des raisons de sécurité, nginx peut être utilisé.

ELK Stack Architecture

Maintenant, dans ce didacticiel sur la pile Elastic, Examinons en profondeur tous ces produits open source :

Qu'est-ce qu'Elasticsearch ?

Elasticsearch est un Base de données NoSQL. Il est basé sur le moteur de recherche Lucene et est construit avec les API RESTful. Il offre un déploiement simple, une fiabilité maximale et une gestion facile. Il propose également des requêtes avancées pour effectuer une analyse détaillée et stocke toutes les données de manière centralisée. Ceci est utile pour effectuer une recherche rapide des documents.

Elasticsearch vous permet également de stocker, rechercher et analyser de gros volumes de données. Il est principalement utilisé comme moteur sous-jacent pour alimenter les applications qui répondent aux exigences de recherche. Il a été adopté dans les plateformes de moteurs de recherche pour les applications Web et mobiles modernes. Outre une recherche rapide, l'outil propose également des analyses complexes et de nombreuses fonctionnalités avancées.

Fonctionnalités de la recherche élastique

  • Le serveur de recherche open source est écrit en utilisant Java
  • Utilisé pour indexer tout type de données hétérogènes
  • Possède une interface Web API REST avec sortie JSON
  • Recherche en texte intégral
  • Recherche en temps quasi réel (NRT)
  • Magasin de documents JSON fragmenté et répliqué, consultable
  • Magasin de documents distribués sans schéma, basé sur REST et JSON
  • Prise en charge multilingue et géolocalisée

Avantages d'Elasticsearch

  • Stockez des données sans schéma et créez également un schéma pour vos données
  • Manipulez vos données enregistrement par enregistrement à l'aide des API multi-documents
  • Effectuez le filtrage et l'interrogation de vos données pour obtenir des informations
  • Basé sur Apache Lucene et fournit une API RESTful
  • Fournit une évolutivité horizontale, une fiabilité et une capacité multi-tenant pour une utilisation en temps réel de l'indexation afin d'accélérer la recherche.
  • Vous aide à évoluer verticalement et horizontalement

Termes importants utilisés dans Elastic Search

Maintenant, dans ce didacticiel ELK, découvrons les termes clés utilisés dans ElasticSearch :

Long Utilisation
Cluster Un cluster est un ensemble de nœuds qui contiennent ensemble des données et fournissent des capacités d'indexation et de recherche conjointes.
Nœud Un nœud est une instance elasticsearch. Il est créé au démarrage d'une instance elasticsearch.
Sommaire Un index est un ensemble de documents présentant des caractéristiques similaires. par exemple, données client, catalogue de produits. Il est très utile lors des opérations d’indexation, de recherche, de mise à jour et de suppression. Il vous permet de définir autant d'index dans un seul cluster.
Documents C'est l'unité d'information de base qui peut être indexée. Il est exprimé en paire JSON (clé : valeur). '{"utilisateur": "nullcon"}'. Chaque document est associé à un type et à un identifiant unique.
Tesson Chaque index peut être divisé en plusieurs fragments pour pouvoir distribuer les données. Le fragment est la partie atomique d'un index, qui peut être distribuée sur le cluster si vous souhaitez ajouter plus de nœuds.

Qu’est ce qu' Logstash?

Logstash est l'outil de pipeline de collecte de données. Il collecte les données entrées et les alimente dans Elasticsearch. Il rassemble tous les types de données provenant de différentes sources et les rend disponibles pour une utilisation ultérieure.

Logstash peut unifier les données provenant de sources disparates et normaliser les données dans les destinations souhaitées. Il vous permet de nettoyer et de démocratiser toutes vos données à des fins d'analyse et de visualisation des cas d'utilisation.

Il se compose de trois éléments :

  • Entrée : transmission des journaux pour les traiter dans un format compréhensible par la machine
  • Filtre(s): C'est un ensemble de conditions pour effectuer une action ou un événement particulier
  • Sortie : Décideur pour l'événement ou le journal traité

Caractéristiques Logstash

Maintenant, dans ce didacticiel LogStash, découvrons les fonctionnalités de LogStash :

  • Les événements sont transmis à chaque phase à l'aide de files d'attente internes
  • Permet différentes entrées pour vos journaux
  • Filtrage/analyse de vos journaux

Avantage de Logstash

  • Les offres centralisent le traitement des données
  • Il analyse une grande variété de données et d'événements structurés/non structurés
  • ELK LogStash propose des plugins pour se connecter à différents types de sources d'entrée et de plates-formes

Qu’est-ce que Kibana ?

Kibana est une visualisation de données qui complète la stack ELK. Cet outil est utilisé pour visualiser les documents Elasticsearch et aide les développeurs à en avoir un aperçu rapide. Le tableau de bord Kibana propose divers diagrammes interactifs, données géospatiales et graphiques pour visualiser des requêtes complexes.

Il peut être utilisé pour rechercher, afficher et interagir avec les données stockées dans les répertoires Elasticsearch. Kibana vous aide à effectuer des tâches avancées l'analyse des données et visualisez vos données dans une variété de tableaux, de graphiques et de cartes.

Dans Kibana, il existe différentes méthodes pour effectuer des recherches sur vos données.

Voici les types de recherche les plus courants :

Type de recherche Utilisation
Recherches de texte libre Il est utilisé pour rechercher une chaîne spécifique
Recherches au niveau du champ Il est utilisé pour rechercher une chaîne dans un champ spécifique
Déclarations logiques Il est utilisé pour combiner les recherches dans une instruction logique.
Recherches de proximité Il est utilisé pour rechercher des termes à proximité de caractères spécifiques.

Maintenant, dans ce didacticiel Kibana, découvrons les fonctionnalités importantes de Kibana :

Caractéristiques du Kinbana :

  • Puissant tableau de bord frontal capable de visualiser les informations indexées du cluster élastique
  • Permet la recherche en temps réel d'informations indexées
  • Vous pouvez rechercher, afficher et interagir avec les données stockées dans Elasticsearch
  • Exécutez des requêtes sur les données et visualisez les résultats dans des graphiques, des tableaux et des cartes
  • Tableau de bord configurable pour découper et découper les journaux logstash dans elasticsearch
  • Capable de fournir des données historiques sous forme de graphiques, de diagrammes, etc.
  • Des tableaux de bord en temps réel facilement configurables
  • Kibana ElasticSearch permet la recherche en temps réel d'informations indexées

Avantages et inconvénients du Kinbana

  • Visualisation facile
  • Entièrement intégré à Elasticsearch
  • Outil de visualisation
  • Offre des capacités d'analyse, de création de graphiques, de résumé et de débogage en temps réel
  • Fournit une interface instinctive et conviviale
  • Permet le partage d'instantanés des journaux recherchés
  • Permet de sauvegarder le tableau de bord et de gérer plusieurs tableaux de bord

Pourquoi l'analyse des journaux ?

Dans les infrastructures d’environnement basées sur le cloud, les performances et l’isolation sont très importantes. Les performances des machines virtuelles dans le cloud peuvent varier en fonction des charges spécifiques, des environnements et du nombre d'utilisateurs actifs dans le système. Par conséquent, la fiabilité et la défaillance des nœuds peuvent devenir un problème important.

Plateforme de gestion des journaux peut surveiller tous les problèmes ci-dessus ainsi que traiter les journaux du système d'exploitation, NGINX, le journal du serveur IIS pour l'analyse du trafic Web, les journaux d'application et les journaux sur AWS (Amazon services Web).

La gestion des journaux aide les ingénieurs DevOps et les administrateurs système à prendre de meilleures décisions commerciales. Par conséquent, l'analyse des journaux via Elastic Stack ou des outils similaires est importante.

ELK contre Splunk

Wapiti Splunk
Elk est un outil open source Splunk est un outil commercial.
La pile Elk n'offre pas Solaris Portabilité grâce à Kibana. Offres Splunk Solaris Portabilité.
La vitesse de traitement est strictement limitée. Offre des processus précis et rapides.
ELK est une pile technologique créée avec la combinaison Elastic Search-Logstash-Kibana. Splunk est un outil propriétaire. Il fournit des solutions sur site et dans le cloud.
Dans la recherche ELK, l'analyse et la visualisation ne seront possibles qu'une fois la pile ELK configurée. Splunk est un package complet de gestion de données à votre disposition.
L'outil ELK ne prend pas en charge l'intégration avec d'autres outils. Splunk est un outil utile pour configurer des intégrations avec d'autres outils.

Études de cas

Netflix

Netflix s'appuie fortement sur la pile ELK. L'entreprise utilise la pile ELK pour surveiller et analyser le journal de sécurité des opérations du service client. Il leur permet d'indexer, de stocker et de rechercher des documents provenant de plus de quinze clusters comprenant près de 800 nœuds.

LinkedIn

Le célèbre site de marketing sur les réseaux sociaux LinkedIn utilise la pile ELK pour surveiller les performances et la sécurité. L'équipe informatique a intégré ELK à Kafka pour prendre en charge sa charge en temps réel. Leur opération ELK comprend plus de 100 clusters répartis dans six centres de données différents.

Tripwire

Tripwire est un système mondial de gestion des événements d'informations de sécurité. La société utilise ELK pour prendre en charge l'analyse des journaux de paquets d'informations.

Moyenne

Medium est une célèbre plateforme de publication de blogs. Ils utilisent la pile ELK pour déboguer leurs problèmes de production. L'entreprise utilise également ELK pour détecter DynamoDB des fondues. De plus, grâce à cette pile, l'entreprise peut prendre en charge 25 millions de lecteurs uniques ainsi que des milliers de publications publiées chaque semaine.

Avantages et inconvénients de la pile ELK

Avantages

  • ELK fonctionne mieux lorsque les journaux de diverses applications d'une entreprise convergent vers une seule instance ELK
  • Il fournit des informations étonnantes sur cette instance unique et élimine également le besoin de se connecter à des centaines de sources de données de journaux différentes.
  • Installation rapide sur site
  • Facile à déployer Échelle verticale et horizontale
  • Elastic propose une multitude de clients linguistiques, dont Ruby. Python. PHP, Perl, .NET, Java et JavaScénario et plus
  • Disponibilité de bibliothèques pour différents langages de programmation et de script

Désavantages

  • Différents composants dans la pile peuvent devenir difficiles à gérer lorsque vous passez à une configuration complexe
  • Il n'y a rien de tel que les essais et les erreurs. Ainsi, plus vous en faites, plus vous apprenez en cours de route.

Résumé

  • La journalisation centralisée peut être utile lorsque vous tentez d'identifier des problèmes avec des serveurs ou des applications
  • La pile de serveur ELK est utile pour résoudre les problèmes liés au système de journalisation centralisé
  • La pile ELK est une collection de trois outils open source Elasticsearch, Logstash Kibana
  • Elasticsearch est une base de données NoSQL
  • Logstash est l'outil de pipeline de collecte de données
  • Kibana est une visualisation de données qui complète la stack ELK
  • Dans les infrastructures d'environnement basées sur le cloud, les performances et l'isolation sont très importantes
  • Dans la pile ELK, la vitesse de traitement est strictement limitée alors que Splunk offre des processus précis et rapides
  • Netflix, LinkedIn, Tripware et Medium utilisent tous la pile ELK pour leur entreprise
  • ELK Syslog fonctionne mieux lorsque les journaux de diverses applications d'une entreprise convergent vers une seule instance ELK
  • Différents composants dans la pile peuvent devenir difficiles à gérer lorsque vous passez à une configuration complexe

Référez-vous à notre Questions et réponses d'entretien avec ElasticSearch pour les candidats les plus récents et les plus expérimentés.