Journalisation

Centralisation logs Graylog / Syslog

Collecte et analyse des logs pour améliorer la traçabilité et la sécurité.

01

Contexte du projet

Avec plusieurs serveurs et équipements réseau, la centralisation des logs devenait indispensable pour diagnostiquer rapidement les incidents et assurer un suivi de sécurité. Graylog a été retenu pour sa capacité d'indexation et de recherche.

Cadre : Graylog + OpenSearch/MongoDB, collecte Syslog et GELF.

Outils et technologies

Graylog OpenSearch MongoDB Syslog rsyslog NXLog

Livrables

Streams Pipelines Dashboards Alertes
02

Objectifs du projet

Centraliser les logs système et applicatifs.
Normaliser le parsing pour faciliter la recherche.
Créer des alertes sur événements critiques.
Réduire le temps de diagnostic des incidents.
03

Architecture et schémas

Graylog centralise les événements vià des inputs Syslog/GELF. OpenSearch stocke les indices, MongoDB gère la configuration. Les serveurs Linux envoient leurs journaux via rsyslog, et les hôtes Windows via NXLog.

Graylog + OpenSearch + MongoDB
Inputs Syslog/GELF + Streams
04

Étapes d'implémentation

Installation de Graylog, OpenSearch et MongoDB.
Création des inputs Syslog et GELF.
Configuration des collecteurs rsyslog/NXLog.
Création de streams, extracteurs et pipelines.
Mise en place de dashboards et d'alertes.
05

Difficultés rencontrées

Parsing incomplet des logs Windows.
Volume de logs élevé sur certains hôtes.
06

Solutions appliquées

Passage sur GELF + extracteurs JSON pour les logs Windows.
Optimisation de la rétention et création d'index dédiés.
07

Résultats et captures

Voici ce que j'ai obtenu une fois Graylog mis en place et les machines connectées.

Tableau de bord

J'ai créé un tableau de bord qui affiche en temps réel le nombre de logs reçus par machine, leur type (info, avertissement, erreur) et leur évolution sur les dernières 24 h. Ca permet de voir d'un coup d'œil si quelque chose ne va pas sur un serveur.

Recherche dans les logs

Graylog permet de faire des recherches rapides dans tous les logs. Par exemple, j'ai pu filtrer uniquement les erreurs d'un serveur précis pour retrouver la cause d'un incident, sans avoir à ouvrir chaque fichier log à la main.

Tri des logs par catégorie

J'ai mis en place des flux (streams) pour séparer automatiquement les logs : un pour les serveurs Linux, un pour les machines Windows, et un pour les événements liés à la sécurité (connexions, erreurs d'accès). Chaque flux a son propre espace de stockage.

Règles de traitement

J'ai configuré des règles pour modifier les logs à leur arrivée : extraire automatiquement le nom d'utilisateur dans les logs SSH, et marquer les tentatives de connexion échouées pour les retrouver plus facilement lors d'une recherche.

Alertes automatiques

J'ai configuré une alerte qui se déclenche si plusieurs tentatives de connexion échouées se produisent rapidement sur le même serveur. Une autre alerte prévient si un service important s'arrête de façon inattendue.

Ce que ça a apporté

Logs de 4 serveurs Linux et 2 machines Windows regroupés au même endroit
Beaucoup plus rapide pour trouver la cause d'un problème réseau ou système
Alertes testées et fonctionnelles sur le lab