GNU/Linux >> Tutoriels Linux >  >> Ubuntu

Tutoriel ELK Stack :Premiers pas avec Elasticsearch, Logstash, Kibana et Beats

Présentation

Pile élastique , anciennement connu sous le nom de ELK pile , est une suite d'outils populaires pour l'ingestion, l'affichage et la gestion des fichiers journaux. En tant que logiciel open source, vous pouvez le télécharger et l'utiliser gratuitement (bien que des versions payantes et hébergées dans le cloud soient également disponibles).

Ce didacticiel présente l'utilisation et les fonctionnalités de base d'ELK Stack.

Prérequis

  • Un système avec Elasticsearch installé

Qu'est-ce que la pile ELK ?

ELK signifie Elasticsearch, Logstash et Kibana. Dans les versions précédentes, les composants de base de la pile ELK étaient :

  • Elasticsearch – Le composant central d'ELK. Il fonctionne comme une base de données consultable pour les fichiers journaux.
  • Logstash – Un pipeline pour récupérer les données. Il peut être configuré pour récupérer des données à partir de nombreuses sources différentes, puis les envoyer à Elasticsearch.
  • Kibana – Un outil de visualisation. Il utilise une interface de navigateur Web pour organiser et afficher les données.

Progiciels supplémentaires appelés Beats sont un ajout plus récent. Ce sont des applications de collecte de données plus petites, spécialisées pour des tâches individuelles. Il existe de nombreuses applications Beats différentes à des fins différentes. Par exemple, Filebeat est utilisé pour collecter les fichiers journaux, tandis que Packetbeat est utilisé pour analyser le trafic réseau.

En raison de la croissance rapide de l'acronyme ELK, Elastic Stack est devenu l'option la plus satisfaisante et évolutive pour le nom. Cependant, ELK et Elastic Stack sont utilisés de manière interchangeable.

Pourquoi utiliser la pile ELK ?

La pile ELK crée un environnement d'analyse de données flexible et fiable. Les organisations, en particulier celles disposant d'infrastructures basées sur le cloud, tirent parti de la mise en œuvre de la pile Elastic pour résoudre les problèmes suivants :

  • Travailler sur divers serveurs et applications crée de grandes quantités de données de journal, qui ne sont pas lisibles par l'homme. La pile ELK sert de plate-forme centralisée puissante pour collecter et gérer les informations non structurées , en les transformant en atouts utiles dans le processus de prise de décision.
  • La pile ELK avec ses fonctionnalités de base est open source, ce qui en fait une solution rentable solution pour les startups et les entreprises établies.
  • La pile Elastic fournit une plate-forme robuste pour la surveillance des performances et de la sécurité, garantissant une disponibilité maximale et conformité aux réglementations .

La pile Elastic comble les lacunes du secteur avec les données de journal. Le logiciel peut analyser de manière fiable des données provenant de plusieurs sources dans une base de données centralisée évolutive, permettant à la fois une analyse historique et en temps réel.

Comment fonctionne la Suite Elastic ?

La pile Elastic suit certaines étapes logiques, qui sont toutes configurables.

1. Un ordinateur ou un serveur crée des fichiers journaux. Tous les ordinateurs ont des fichiers journaux qui documentent les événements sur le système dans un format difficile à lire. Certains systèmes, tels que les clusters de serveurs, génèrent d'énormes quantités de fichiers journaux.

Cependant, Elastic Stack est conçu pour aider à gérer des quantités évolutives de données.

2. Les différents fichiers d'informations disponibles sont collectés par un Beats application. Différents rythmes contacter différentes parties du serveur, lire les fichiers et les expédier.

Certains utilisateurs peuvent ignorer complètement Beats et utiliser Logstash directement. D'autres peuvent connecter Beats directement à Elasticsearch.

3. Logstash est configuré pour atteindre et collecter des données auprès des différents Beats applications (ou directement à partir de diverses sources).

Dans les configurations plus importantes, Logstash peut filtrer les données de plusieurs systèmes et collecter les informations en un seul endroit.

4. Elasticsearch est utilisé comme une base de données évolutive et consultable pour stocker des données. Elasticsearch est l'entrepôt où Logstash ou Battements canaliser toutes les données.

5. Enfin, Kibana fournit une interface conviviale pour vous permettre d'examiner les données qui ont été collectées.

Il est hautement configurable, vous pouvez donc ajuster les métriques en fonction de vos besoins. Kibana fournit également des graphiques et d'autres outils pour visualiser et interpréter les modèles dans les données.

Applications prenant en charge la pile ELK

Des applications tierces supplémentaires améliorent la Suite Elastic, offrant des possibilités d'utilisation plus larges. Certaines applications externes prises en charge par la pile ELK sont :

  • Apache Kafka

Kafka est une plateforme de distribution de streaming en temps réel. Cela signifie qu'il peut lire plusieurs sources de données à la fois. Kafka agit comme un tampon de données et aide à prévenir la perte ou l'interruption de données lors de la diffusion rapide de fichiers.

  • Redis

Redis est une base de données clé-valeur NoSQL avec des vitesses de lecture/écriture incroyables et divers types de données. Lorsqu'il est ajouté à la pile Elastic, Redis sert souvent de tampon pour les pics de flux de données, garantissant qu'aucune donnée n'est perdue.

  • Hadoop

Hadoop est un système de stockage de données de traitement par lots massif. L'indexation des données de Hadoop dans le moteur Elasticsearch en temps réel crée une plate-forme interactive bidirectionnelle de découverte et de visualisation des données.

La prise en charge de Hadoop est assurée par le connecteur Elasticsearch-Hadoop, offrant une prise en charge complète de Spark, Streaming, Hive, Storm, MapReduce et d'autres outils.

  • LapinMQ

RabbitMQ est une plateforme de messagerie. Les utilisateurs d'Elastic Stack utilisent ce logiciel pour créer une file d'attente stable et tamponnée de fichiers journaux.

  • Nginx

Nginx est surtout connu comme un serveur Web qui peut également être configuré en tant que proxy inverse. Il peut être utilisé pour gérer le trafic réseau ou pour créer un tampon de sécurité entre votre serveur et Internet.

Avantages et inconvénients de la pile ELK

La pile Elastic présente certains avantages et inconvénients.

Avantages

  • La pile Elastic et les composants peuvent être testés et utilisés gratuitement.
  • ELK propose de nombreuses options d'hébergement, que ce soit sur site ou déployé en tant que service géré.
  • La possibilité de centraliser la journalisation à partir d'environnements cloud complexes permet des recherches avancées et la création d'une corrélation à partir de plusieurs sources sur une seule plate-forme.
  • L'analyse et la visualisation en temps réel réduisent le temps nécessaire pour découvrir des informations, permettant une surveillance continue.
  • Compatibilité client pour plusieurs langages de programmation, y compris JavaScript, Python, Perl, Go, etc.

Inconvénients

  • Le déploiement de la pile est un processus complexe et dépend des exigences. Consultez notre tutoriel pour déployer la pile Elastic sur Kubernetes.
  • La croissance et la maintenance de la pile ELK sont coûteuses et nécessitent un calcul et un stockage de données en fonction du volume de données et de la durée de stockage.
  • La stabilité et la disponibilité deviennent problématiques à mesure que les volumes de données augmentent en raison de limites d'indexation inexistantes.
  • La conservation et l'archivage des données nécessitent plusieurs nœuds, une puissance de calcul et des ressources en général.

Présentation d'Elasticsearch

Elasticsearch est au cœur de la Suite Elastic. Il a deux tâches principales :

  • Stockage et indexation des données.
  • Moteur de recherche pour récupérer des données.

Les détails techniques d'Elasticsearch incluent :

  • Compatibilité avec les langages de programmation robustes pour les clients (Java, PHP, Ruby, C#, Python).
  • Utilise une API REST :les applications écrites pour Elasticsearch ont une excellente compatibilité avec les applications Web.
  • Résultats réactifs :les utilisateurs voient les données presque en temps réel.
  • Architecture distribuée :Elasticsearch peut s'exécuter et se connecter entre de nombreux serveurs différents. La Suite Elastic peut évoluer facilement à mesure que l'infrastructure se développe.
  • Indexation inversée :Elasticsearch indexe par mots clés, un peu comme l'index d'un livre. Cela permet d'accélérer les requêtes vers de grands ensembles de données.
  • Shards :si vos données sont trop volumineuses pour votre serveur, Elasticsearch peut les diviser en sous-ensembles appelés Shards .
  • Non relationnel (NoSQL) :Elasticsearch utilise une base de données non relationnelle pour se libérer des contraintes du stockage de données structurées/tabulaires.
  • Apache Lucene :il s'agit du moteur de recherche de base sur lequel Elasticsearch est basé.

Présentation de Logstash

Logstash est un outil permettant de collecter et de trier des données provenant de différentes sources. Logstash peut atteindre un serveur distant, collecter un ensemble spécifique de journaux et les importer dans Elasticsearch.

Il peut trier, filtrer et organiser les données. De plus, il comprend plusieurs configurations par défaut, ou vous pouvez créer la vôtre. Ceci est particulièrement utile pour structurer les données de manière uniforme (ou lisible).

Caractéristiques techniques Logstash :

  • Accepte un large éventail de formats et de sources de données :cela permet de consolider différents ensembles de données dans un emplacement central.
  • Manipule les données en temps réel :au fur et à mesure que les données sont lues à partir des sources, Logstash les analyse et les restructure immédiatement.
  • Sortie flexible :Logstash est conçu pour Elasticsearch, mais comme de nombreux projets open source, il peut être reconfiguré pour être exporté vers d'autres utilitaires.
  • Prise en charge des plug-ins :une large gamme de modules complémentaires peut être ajoutée pour améliorer les fonctionnalités de Logstash.

Présentation de Kibana

Vous pouvez utiliser Elasticsearch à partir d'une ligne de commande simplement en l'installant. Mais Kibana vous offre une interface graphique pour générer et afficher des données de manière plus intuitive.

Voici quelques détails techniques :

  • Interface du tableau de bord :configurez les graphiques, les sources de données et les statistiques en un coup d'œil.
  • Menus configurables :créez des visualisations de données et des menus pour parcourir ou explorer rapidement des ensembles de données.
  • Plug-ins :l'ajout de plug-ins tels que Canvas vous permet d'ajouter des vues structurées et une surveillance en temps réel à votre interface graphique.

Découvrez comment utiliser Kibana dans notre guide Complete Kibana Tutorial to Visualize and Query Data.

Aperçu des battements

Beats s'exécute sur le système qu'il surveille. Il collecte et expédie les données vers une destination, comme Logstash ou Elasticsearch.

Vous pouvez utiliser Beats pour importer des données directement dans Elasticsearch si vous utilisez un ensemble de données plus petit.

Alternativement, Beats peut être utilisé pour diviser les données en flux gérables, puis analysés dans Logstash, pour être lus par Elasticsearch.

Pour un seul serveur, vous pouvez installer Elasticsearch, Kibana et quelques Beats. Chaque Beats collecte des données et les envoie à Elasticsearch. Vous visualisez ensuite les résultats dans Kibana.

Vous pouvez également installer Beats sur plusieurs serveurs distants, puis configurer Logstash pour collecter et analyser les données des serveurs. Ces données sont envoyées à Elasticsearch puis deviennent visibles dans Kibana.

battre Capture de données Description
Auditbeat Données d'audit Une version suralimentée de Linux auditd. Il peut interagir directement avec votre système Linux à la place de auditd processus. Si vous avez déjà des règles auditd en place, Auditbeat lira à partir de votre configuration existante.
Filebeat Fichiers journaux Lit et expédie les fichiers journaux du système. Il est utile pour les journaux de serveur, tels que les événements matériels ou les journaux d'application.
Fonctionnalité Données cloud Expédie les données à partir d'une infrastructure sans serveur ou cloud. Si vous exécutez un service hébergé dans le cloud, utilisez-le pour rassembler des données à partir du cloud et exportez-les vers Elasticsearch.
battement de cœur Disponibilité Affiche le temps de disponibilité et le temps de réponse. Utilisez-le pour garder un œil sur les serveurs critiques ou d'autres systèmes, pour vous assurer qu'ils fonctionnent et sont disponibles.
Journalbeat Journaux Systemd Transmet, centralise et expédie les journaux de journal systemd.
Metricbeat Métriques Lit les données métriques :utilisation du processeur, de la mémoire, de l'utilisation du disque, de la bande passante du réseau. Utilisez-le comme moniteur de ressources système suralimenté.
Packetbeat Trafic réseau Analyse le trafic réseau. Utilisez-le pour surveiller la latence et la réactivité, ou les modèles d'utilisation et de trafic.
Winlogbeat Journaux d'événements Windows Envoie les données du journal des événements Windows. Suivez les événements de connexion, les événements d'installation et même les erreurs matérielles ou d'application.

Cas d'utilisation de la pile ELK

La surveillance des journaux en temps réel à partir de diverses ressources fournit à la pile Elastic de nombreux cas d'utilisation créatifs.

  • Surveillance et alerte de sécurité . Un système de surveillance et d'alerte de serveur est une application de sécurité importante pour la pile ELK. Vérifier les demandes inhabituelles ou détecter les attaques de serveur avec un système d'alerte en temps réel peut aider à atténuer les dommages dès qu'ils apparaissent.
  • Solutions de commerce électronique . Les recherches en texte intégral, l'indexation, les agrégations et les réponses rapides créent une meilleure expérience utilisateur. La surveillance visuelle des tendances et des comportements de recherche permet d'améliorer l'analyse des tendances.
  • Grattage Web . La possibilité de collecter, d'indexer et d'effectuer des recherches dans des données non structurées provenant de différentes sources simplifie la collecte et la visualisation d'informations récupérées sur le Web.
  • Surveillance du trafic . La surveillance des données de trafic du site Web permet d'indiquer qu'un serveur est surchargé. Mettez en œuvre une application d'équilibrage de charge (telle que Nginx) pour transférer le trafic vers d'autres serveurs.
  • Détection des erreurs . Si vous déployez une nouvelle application, vous pouvez surveiller les erreurs de cette application. Ceux-ci peuvent aider à identifier rapidement les domaines dans lesquels corriger les bogues ou améliorer la conception de l'application.

Elastic Stack génère des données que vous pouvez utiliser pour résoudre des problèmes et prendre des décisions commerciales judicieuses.


Ubuntu
  1. Installation de la pile ELK sur Ubuntu 14.04

  2. Comment installer Elasticsearch, Logstash et Kibana 4 sur Ubuntu 14.04 / 15.04

  3. Une introduction à la surveillance à l'aide de la pile ELK

  4. Comment démarrer avec les traductions ?

  5. Démarrer avec les serveurs cloud

Comment installer Elasticsearch, Logstash et Kibana (ELK Stack) sur Ubuntu 18.04 / Ubuntu 16.04

Comment installer ELK Stack sur Ubuntu 18.04

Tutoriel Podman - Premiers pas avec Podman

Comment installer ELK Stack (Elasticsearch, Logstash et Kibana) sur Ubuntu 20.04

Comment installer ELK Stack sur Ubuntu 18.04 LTS

Comment installer Elasticsearch Logstash Kibana (Elastic Stack) sur Ubuntu 18.04