traitement des logs et centralisation - Syloe

Traitement des logs avec Graylog et ELK : des solutions open source à adopter

Le traitement des logs pour un SI est primordial, que ce soit en termes de sécurité ou vis-à-vis du bon fonctionnement des applications métier.
Il existe différents types de logs : logs applicatifs, logs systèmes, logs de base de données, logs de trafic http(s), etc. De plus, avec l’utilisation de plus en plus fréquente de multiservice et de microservices, cela entraîne de plus en plus en plus de fichiers journaux qu’il faut analyser et corréler.

Nous allons voir sans cet article, quel est l’intérêt des logs et quelles sont les solutions open source capable de les traiter automatiquement.

traitement des logs

Traitement des logs : qu’est-ce qu’un log et pourquoi les centraliser ?

Un log est un événement ou journal d’un événement à degré plus moins élevé qui est envoyé par un système, un service ou bien une application.

Des journaux de logs qui sont produits permettent à la fois de :

  • retracer les actions et la vie d’un utilisateur,
  • identifier et de résoudre des problèmes de sécurité,
  • contribuer à l’amélioration des diagnostics des pannes et des erreurs,
  • d’analyser et de comprendre le fonctionnement d’une application ou d’un service,
  • d’expliquer les erreurs d’un sytème, d’un service ou d’une application métiers,
  • d’être prévenus en cas de dysfonctionnement.

Traitement des logs- exemple

La centralisation des logs va permettre de garantir le maximum de sécurité et de fiabilité. Mais aussi de répondre rapidement aux incidents. Cela permet d’avoir une vue d’ensemble sur les journaux des logs et de gagner en temps dans l’analyse. Cela va permettre également d’être averti à la moindre entrée suspecte dans les journaux, de corréler les informations avec d’autres journaux… Enfin, en centralisant vos logs, vous serez plus réactifs en cas de problèmes ou de dysfonctionnement. Il est donc de plus en plus nécessaire de centraliser les logs.

Les principales étapes pour le traitement des logs

La centralisation et le traitement des logs ne se font pas du jour au lendemain. Cela doit être intégré dès le début, dans la mise en place de votre SI. Vous devez réfléchir aux différentes étapes de mise en place, en voici les principales :

  • Produire les logs : il vous faut définir clairement quels sont les logs à produire. L’objectif ici, c’est de repérer les éléments qui méritent d’être lus et suivis. Cela implique d’avoir une connaissance parfaite de son SI.
  • Envoyer les logs vers une plateforme commune : cette plateforme va permettre de recevoir les logs. Il faudra définir des règles de sécurité du canal de transmission, configurer un serveur de centralisation des logs (par exemple avec Rsyslog , ou syslog-ng sous Linux). Il faut également réfléchir à la technologie et à l’infrastructure, à l’espace de stockage nécessaire, à la sécurisation du serveur, etc.
  • Analyser et filtrer les logs : comment allez-vous récupérer et exploiter les informations ?  Ici l’objectif sera d’identifier les logs et de créer des règles reproductibles de motif à isoler… Il sera aussi nécessaire de traiter les flux d’informations entrants en créant des répertoires de fichier par machine puis par services. Une fois que cela est mis en place, il sera beaucoup plus simple de les lires, de les traiter et de les analyser.
  • Réaliser des graphiques et les centraliser : un dashboard va permettre d’avoir toutes les informations au même endroit. La création d’un graphique va permettre d’avoir une meilleure visibilité sur l’ensemble des logs et permettra de mieux les interpréter. Enfin, avec la création de ces graphes et de rapports, cela va permettre aux équipes concernées de mieux identifier et détecter les anomalies.

Demande de devis Syloé

Graylog et ELK : solutions open source

Logmatic est une solution payante et éprouvée. Mais deux solutions Open Source pour le traitement des logs, Graylog et ELK, sortent du lot.
Les solutions open source sont mises à jour régulièrement et une communauté active maintient les projets en amélioration continue. L’open source vous garantit : autonomie, mutualisation, des coûts moindres, sécurité accrue grâce à l’accès du code source, pérennité.
Chez Syloe nous proposons ces deux solutions. Elles sont fiables et répondent à la majorité des besoins d’une entreprise et des éditeurs de logiciels.

ELK : Elastic Search, Logstash et Kibana

traitement des logs - ELK Stack - Syloe

ELK est un outil permettant de centraliser les logs. C’est une suite logicielle qui regroupe ElasticSearch, Logstash et Kibana. Elle contient un moteur de recherche et d’indexation, un outil de pipeline pour recevoir les données, un outil graphique de visualisation et de présentation des données.

Sa principale force réside dans ses capacités de scaling qui permettent de gérer d’énormes quantités de données avec des coûts de mise en place et de maintenance faibles.
Les entrées dans le pipeline sont nombreuses et vont dans le sens de beaucoup d’applications : TCP, UDP , Kafka ou encore AMQP. Une intégration native de Kafka dans Logstash via les API Java est possible. Enfin, avec ELK, il est possible d’aller récupérer des données via une API REST. Le principal inconvénient est la non-gestion des utilisateurs.

Graylog

traitement des logs - graylog

Graylog est basée sur ElasticSearch et il reprend les mêmes fonctions que Logstash et Kibana. Un de ces atouts est de reposer sur Mongodb. Il y a également la possibilité de « dockeriser » cette solution comme pour ELK. La rétention des logs est aussi à disposition, pour un archivage des journaux.

Ce qu’on retrouve en plus chez Greylog par rapport à ELK, c’est la capacité à gérer les utilisateurs et les permissions (gestion de LDAP) et de gérer automatiquement des index. Il permet aussi de « packager » des configurations réutilisables pour la communauté et son language de programmation, le parsing est flexible.

D’autres fonctionnalités intéressantes sont présentes. Par exemple, vous avez la notion de stream vous permettant d’y stocker des informations comme le niveau d’erreur, la source du log, ou bien le message afin de mieux les retrouver. Mais aussi la fonction Alert qui vous notifie (par mail, messages Slack…) lorsqu’une modification dans un log « matche » un motif que vous aurez défini (choix de répétition et de durée ). Et enfin, Graylog met à disposition un Marketplace où différents plug-ings peuvent être installé (envoie de logs vers RabbitMQ, kafka input-output, etc.)

Le principal inconvénient est dans ces options de customisation des dashboards.

Conclusion

Pour une petite entreprise ELK sera un choix raisonnable. Par contre, Graylog conviendra mieux dans la gestion d’une plus grande entreprise où les droits des utilisateurs sont importants.

Selon votre infrastructure, telle ou telle solution répondra le mieux à vos besoins. À Syloe nous vous conseillons, quel que soit votre projet. Contactez-nous pour plus d’informations.

Une réflexion au sujet de « Traitement des logs avec Graylog et ELK : des solutions open source à adopter »

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *