Collect Logs Kafka Graylog2
Collect Logs Kafka Graylog2
Collect Logs Kafka Graylog2
logs Kafka
with Graylog
This article explores a tech by using the Graylog to collect and analyze Kafka logs.
« Tout projet naît d’une idée... qu’elle naisse d’un
besoin, d’une expérience ou d’un savoir faire, il s’agit au
départ d’une intuition ou d’un désir qui s’approfondit
avec le temps. »
Collect logs Kafka with Graylog
Comme expliqué dans un article précédent , Kafka joue un rôle clé dans notre
architecture. À ce titre, nous avons construit un système de surveillance pour nous
assurer que les données circulent dans les pipelines comme prévu. Les indicateurs de
performance clés, tels que la latence et le décalage, sont étroitement surveillés à l'aide
de divers processus et outils.
Kafka a généré plusieurs types de fichiers journaux, mais nous avons trouvé
que les journaux du serveur étaient particulièrement utiles. Nous collectons ces
journaux à l'aide de omkafka.so , ajoutons des champs de métadonnées et appliquons
des configurations d'analyse pour analyser le niveau de journal et la classe Java.
Dans cet article, je vais fournir les instructions nécessaires pour connecter vos
serveurs Kafka à la pile Graylog afin que vous puissiez configurer votre propre
système de journalisation pour Kafka. Les premières étapes expliquent comment
installer Kafka et le tester pour générer des exemples de journaux de serveur, mais si
vous avez déjà Kafka opérationnel, passez simplement aux étapes suivantes qui
impliquent l'installation de Graylog et la configuration du pipeline.
Installation de Kafka
Java est requis pour exécuter à la fois Kafka, commençons donc par installer Java:
Nous sommes maintenant prêts à exécuter Kafka, ce que nous allons faire avec ce
script:
Une longue liste de messages INFO devrait s'afficher, à la fin de laquelle un message
vous informant que Kafka a démarré avec succès:
Installation de Graylog
Elasticsearch nécessite que Java soit installée sur la machine. Pour cette raison, on
installe la version 8 de java.
On peut vérifier la version installée de java en tapant la commande :
Pour éviter la perte des fichiers de configuration, nous avons toujours effectué
la sauvegarde avant de les manipuler.
Configuration de Graylog
2920
Puis, nous avons fixé l’adresse IP du serveur et numéro de port puisque le
serveur Graylog écoute par défaut sur le port 9000.
Pour que notre outil puisse collecter les logs des différents clients, il faut
installer un agent de collecte des logs. En effet, Syslog a plusieurs versions à savoir
Syslog, Syslog-ng et celle la plus récente Rsyslog. Rsyslog est un logiciel libre de
transfert des messages des journaux d’événement sur un réseau sur des systèmes
d’exploitation Linux.
Rsyslog-Kafka
Rsyslog est installé par défaut sur UBUNTU 18.04 mais nous pouvons
l’installer en tapant la commande suivante
Tout d’abord, nous avons configuré les deux protocoles UDP (User
Datagram Protocol) et TCP (Transmission Control Protocol) au niveau de fichier de
configuration /etc/rsyslog.conf
Les modèles ( templates en anglais ) représentent une caractéristique clé de
rsyslog. Toute sortie générée par rsyslog-kafka peut être modifiée et formatée en
fonction de nos besoins à l'aide de modèles.
Pour ce faire, nous avons accédé par la suite au fichier de configuration activé
l’envoi de journaux via UDP en tapant *.* @192.168.1.14 : 5140 et via TCP en tapant
*.* @@192.168.1.14 : 5140
Avant de pouvoir redémarrer le service rsyslogd, nous avons exécuté une
vérification de la configuration et nous vérifions par la suite l’état de rsyslog .
Test et résultats
Pour assurer le bon fonctionnement de notre travail, nous allons décrire dans
cette section la suite des tests élaborés.
Nous allons tout d’abord vérifier les états des outils installés. Ils doivent
retourner l’état actif. Ensuite, nous allons s’authentifier en tant qu’administrateur en
tapant l’url suivant:
« https://192.168.1.14:9000/ »
Comme nous avons installé la dernière version de Syslog qui est Rsyslog, nous
allons ajouter une entrée Syslog UDP. Avant de choisir UDP syslog, cliquer
sur Launch new input
Pour cela, on se rend dans System - Inputs sur l’interface web. Pour les
Switches et les routeurs, on utilise le port 514 pour UDP et TCP. En revanche, pour
les autres périphériques, il faut utiliser des ports à partir de 5140 pour séparer les flux.
De même, on filtre la recherche sur la valeur Kafka pour afficher les logs de
notre serveur. Nous avons reçu les logs kafka provenant du serveur graylog dans 5
derniers minutes.
Dashboard
https://community.graylog.org/t/configure-graylog-with-kafka/8081
https://logz.io/blog/kafka-logging/
https://dzone.com/articles/kafka-logging-with-the-elk-stack
https://blog.syloe.com/collecte-et-traitement-des-logs/