Logstash - Introduction

Logstash est un outil basé sur les modèles de filtres / canaux pour la collecte, le traitement et la génération des journaux ou des événements. Il aide à centraliser et à analyser en temps réel les journaux et les événements de différentes sources.

Logstash est écrit sur le langage de programmation JRuby qui s'exécute sur la JVM, vous pouvez donc exécuter Logstash sur différentes plates-formes. Il collecte différents types de données comme les journaux, les paquets, les événements, les transactions, les données d'horodatage, etc., à partir de presque tous les types de sources. La source de données peut être les données sociales, le commerce électronique, les articles de presse, le CRM, les données de jeu, les tendances Web, les données financières, l'Internet des objets, les appareils mobiles, etc.

Caractéristiques générales de Logstash

Les caractéristiques générales de Logstash sont les suivantes -

  • Logstash peut collecter des données à partir de différentes sources et les envoyer vers plusieurs destinations.

  • Logstash peut gérer tous les types de données de journalisation comme les journaux Apache, les journaux d'événements Windows, les données sur les protocoles réseau, les données d'entrée standard et bien d'autres.

  • Logstash peut également gérer les requêtes http et les données de réponse.

  • Logstash fournit une variété de filtres, qui aident l'utilisateur à trouver plus de sens dans les données en les analysant et en les transformant.

  • Logstash peut également être utilisé pour gérer les données des capteurs dans l'Internet des objets.

  • Logstash est open source et disponible sous la licence Apache version 2.0.

Concepts clés de Logstash

Les concepts clés de Logstash sont les suivants -

Objet d'événement

Il s'agit de l'objet principal de Logstash, qui encapsule le flux de données dans le pipeline Logstash. Logstash utilise cet objet pour stocker les données d'entrée et ajouter des champs supplémentaires créés lors de l'étape de filtrage.

Logstash propose une API d'événement aux développeurs pour manipuler les événements. Dans ce didacticiel, cet événement est désigné sous différents noms tels que l'événement de données de journalisation, l'événement de journal, les données de journal, les données de journal d'entrée, les données de journal de sortie, etc.

Pipeline

Il comprend des étapes de flux de données dans Logstash, de l'entrée à la sortie. Les données d'entrée sont saisies dans le pipeline et traitées sous la forme d'un événement. Envoie ensuite à une destination de sortie au format souhaité par l'utilisateur ou le système final.

Contribution

Il s'agit de la première étape du pipeline Logstash, qui est utilisé pour obtenir les données dans Logstash pour un traitement ultérieur. Logstash propose divers plugins pour obtenir des données de différentes plates-formes. Certains des plugins les plus couramment utilisés sont - File, Syslog, Redis et Beats.

Filtre

Il s'agit de la phase intermédiaire de Logstash, où le traitement réel des événements a lieu. Un développeur peut utiliser des modèles Regex prédéfinis de Logstash pour créer des séquences permettant de différencier les champs des événements et les critères des événements d'entrée acceptés.

Logstash propose divers plugins pour aider le développeur à analyser et à transformer les événements en une structure souhaitable. Certains des plugins de filtrage les plus couramment utilisés sont: Grok, Mutate, Drop, Clone et Geoip.

Production

Il s'agit de la dernière étape du pipeline Logstash, où les événements de sortie peuvent être formatés dans la structure requise par les systèmes de destination. Enfin, il envoie l'événement de sortie après un traitement complet à la destination à l'aide de plugins. Certains des plugins les plus couramment utilisés sont - Elasticsearch, File, Graphite, Statsd, etc.

Avantages de Logstash

Les points suivants expliquent les différents avantages de Logstash.

  • Logstash propose des séquences de modèles d'expression régulière pour identifier et analyser les différents champs dans tout événement d'entrée.

  • Logstash prend en charge une variété de serveurs Web et de sources de données pour l'extraction des données de journalisation.

  • Logstash fournit plusieurs plugins pour analyser et transformer les données de journalisation dans n'importe quel format souhaité par l'utilisateur.

  • Logstash est centralisé, ce qui facilite le traitement et la collecte de données à partir de différents serveurs.

  • Logstash prend en charge de nombreuses bases de données, protocoles réseau et autres services comme source de destination pour les événements de journalisation.

  • Logstash utilise le protocole HTTP, qui permet à l'utilisateur de mettre à niveau les versions d'Elasticsearch sans avoir à mettre à niveau Logstash lors d'une étape de verrouillage.

Inconvénients de Logstash

Les points suivants expliquent les différents inconvénients de Logstash.

  • Logstash utilise http, ce qui affecte négativement le traitement des données de journalisation.

  • Travailler avec Logstash peut parfois être un peu complexe, car il nécessite une bonne compréhension et une bonne analyse des données de journalisation d'entrée.

  • Les plugins de filtrage ne sont pas génériques, il se peut donc que l'utilisateur doive trouver la séquence correcte de modèles pour éviter une erreur d'analyse.

Dans le chapitre suivant, nous comprendrons ce qu'est la pile ELK et comment elle aide Logstash.