Analyse des fichiers logs avec la stack ELK

MÉMOIRE DE MASTER INFORMATIQUE
Option : Réseaux et Télécommunications

Etat de l’art dans l’analyse des fichiers logs

Le terme log, dans le domaine informatique, représente une sorte de fichier ou une entité semblable, dont la fonction principale est de stocker un historique des évènements.
Etymologiquement parlant, ce terme fait référence au journal de bord tenu par le commandant d’un navire, dans lequel sont inscrits tous les évènements survenus lors d’une traversée. Diminutif du mot anglais «logging», le terme log peut être traduit en français par journal. Les logs permettent donc de tracer tous les évènements qui arrivent pendant l’activité d’un système. En effet lorsqu’on utilise par exemple un ordinateur ou une navigation Internet sur n’importe quel outil numérique, de nombreux et différents processus se déroulent en arrière-plan. Pour avoir un aperçu sur le fonctionnement des actions d’un système d’information ou lorsque des problèmes ou erreurs surviennent, les fichiers logs peuvent aider. Ils permettent d’analyser heure par heure ou minute par minute l’activité interne d’un processus. Ils sont automatiquement notés par presque toutes les applications, serveurs, bases de données et systèmes et contiennent ainsi des fichiers textes simples.
Souvent quand on parle de fichiers logs, c’est pour en déplorer l’absence. Cependant, si la situation inverse arrivait, c’est-à-dire que l’on ait tellement de traces qu’au final il ne serait plus possible d’en extraire la moindre information, cela poserait beaucoup de problèmes. C’est le cas d’une analyse au sein d’un site web marchand traitant environ 61 millions de commandes par an avec des pics d’activité pouvant atteindre 10 commandes par seconde. Ce site représente 500 serveurs en production qui fait tourner 80 applications à raison de cinq JVM par serveur en moyenne. Il y existe en plus 13 niveaux de load-balancing et il est donc quasiment impossible de suivre le parcours d’un utilisateur tout au long de sa navigation.

Les différents types de logs

Comme nous l’avons décrit précédemment, les fichiers logs sont automatiquement consignés par tous les composants d’un système d’information. En plus des systèmes d’exploitation, d’autres programmes et systèmes collectent des données de logs très différentes. On peut citer :
Les programmes d’arrière-plan : ce sont les emails, les serveurs proxy, les bases de données ou les serveurs proxy, qui génèrent des fichiers journaux et enregistrent les erreurs et les messages d’évènements. Ce qui permet d’aider au niveau de la sécurité et surtout de restaurer une donnée lors d’un problème.
Les Logiciels installés : c’est comme Office, un pare-feu, un logiciel antivirus, des jeux, Instant Messenger qui enregistrent des données différentes, des configurations différentes ou des messages de conversation, dans les fichiers logs. Ces programmes enregistrent surtout leurs accidents, et cela aide au traitement rapidement en cas d’erreurs.
Les serveurs : c‟est le cas des serveurs Web. Ils consignent les activités importantes du réseau comme des informations sur les utilisateurs et leur comportement au sein du réseau. Cela permet également aux administrateurs de connaitre quel utilisateur a lancé une application ou téléchargé un fichier, le temps que ça a pris, et enfin quel système d‟exploitation il a utilisé. L‟analyse des fichiers logs des serveurs Web est une ancienne méthode de contrôle du Web et un exemple concret des diverses utilisations des fichiers journaux.

Analyse des fichiers logs

L’analyse de logs consiste à analyser les serveurs logs afin d’obtenir les données statistiques comme la fréquentation d’un site Internet par exemple.
Les fichiers logs sont rarement lus et évalués en général. Leur fonction est similaire à celle d’un enregistreur de vol, qui n’est inspecté uniquement qu’en cas d’urgence. Or l’analyse de ces fichiers logs est une excellente source pour trouver les erreurs d’un système ou d’un programme, détecter des évènements potentiellement anormaux, et pour enregistrer le comportement des utilisateurs. Les fichiers logs peuvent efficacement être réutilisés par  :
un administrateur : pour produire des statistiques sur l’utilisation d’un système comme les logs du serveur Web Apache par exemple ;
un développeur : pour détecter des défaillances d’un système et de corriger les bugs qui en sont responsables. Il est plus facile de repérer la source d’une défaillance si le journal est dense en informations (fonctions appelées, valeurs des paramètres passés…) ;
un utilisateur : peut utiliser un journal afin de revenir sur un crash et refaire les opérations qui auraient été perdues (transactions).
L’analyse de fichiers logs présente plusieurs avantages. Nous pouvons citer : La réorganisation de données de l’historique : de manière générale, un serveur enregistre continuellement les fichiers journaux. Quand les fichiers sont toujours sauvegardés, ils peuvent donc être évalués de manière flexible.
Le trafic demeure au sein de son propre réseau : lorsqu’une analyse de fichiers logs est menée et que cette dernière n’est pas déléguée à un prestataire externe, le contrôle sur les données d’accès est conservé.
Mesures des téléchargements interrompus : au cours de la sauvegarde d’un serveur web, toutes les données qui ont été déposées et qui sont téléchargeables par un utilisateur sont rassemblées au sein d’un seul fichier journal. Grâce à une « gravure » chronologique, il est possible d’enregistrer avec précision certains points forts, comme le temps mis et le nombre de documents qu’un utilisateur a téléchargé. Les problèmes pouvant apparaître au cours du téléchargement de données peuvent ainsi être identifiés grâce à l’analyse de ce fichier journal.
Les pare-feux ne gênent pas le protocole : un site web accessible depuis un certain serveur ne fait pas intervenir l’action d’un pare-feu. Le fichier journal peut ainsi surveiller et enregistrer les accès. Enregistrement automatique des « crawlers » : un crawler est un robot d’indexation. En effet, c’est un logiciel qui a pour rôle d’explorer le Web afin d’analyser les contenus explorés. Les fichiers journaux enregistrent donc automatiquement chaque visite effectuée au niveau d’un serveur et cela inclut également les accès par les robots des moteurs de recherche.
JavaScript ou les cookies pas nécessaires : l’analyse des fichiers logs ne nécessite pas l’usage de JavaScript ou des cookies, à l’opposé des outils de web analytique. De cette façon, l’analyse est moins sujette à des problèmes techniques. De plus, il est possible que les fichiers logs soient aussi enregistrés lorsque les utilisateurs bloquent les outils de web analytique.
Traitement simple : si le fichier journal est trop grand, les données peuvent être lues et segmentées avec des programmes de traitement de données classiques, comme Excel. Ainsi, un logiciel de solution complexe n’est pas nécessaire.

Solutions existantes d’analyse de fichiers logs

Avec l’augmentation massive des données, il existe maintenant beaucoup d’outils qui permettent d’analyser des fichiers de logs volumineux et ceci en temps réel. Parmi ces solutions, nous pouvons citer : SPLUNK, SUMOLOGIC, ELK.

SPLUNK

Les fichiers logs représentent une archive définitive des activités de toutes les entreprises. Elles sont rarement exploitées souvent qu’à des fins de dépannage ou pour appuyer de plus larges objectifs d’une entreprise.
Le logiciel Splunk a été créé par la société portant le même nom afin de consolider et d’indexer toutes les données machines et les logs . Il est ainsi possible de recueillir, stocker, indexer, rechercher, corréler, visualiser, analyser et produire des rapports sur toutes les données générées par des machines afin d’identifier et de résoudre les problèmes opérationnels et de sécurité de façon plus rapide, fiable et économique. Cette solution entièrement appropriée, est dédiée à la collecte, au stockage, à la gestion et à la visualisation des données logs.
Splunk offre aussi la possibilité d’effectuer des recherches et de produire des rapports sur les données historiques. Il assure l’enrichissement des données de logs en offrant un accès flexible aux bases de données relationnelles, aux données délimitées par des champs des fichiers CSV et autres environnements d’entreprise tels que Hadoop et NoSQL. Splunk prend en charge un large éventail d’applications de la gestion des logs : consolidation et conservation des logs, sécurité, dépannage des opérations informatiques, dépannage des applications et rapports de conformité.

Sumologic

Sumologic est une solution de gestion et de suivi des métriques du Cloud qui est utilisée par les équipes IT, Sécurité et Développement. Elle s’adapte à n’importe quelle taille d’une infrastructure. Cette solution simplifie la manière dont les données machines sont collectées et analysées, ce qui permet d’avoir une visibilité approfondie sur l’intégralité d’une pile d’applications et d’infrastructures. Avec le service Sumologic, il est possible d’accélérer la livraison des applications modernes, surveiller et dépanner en temps réel. Les différentes actions de Sumologic sont :
Le recueil et la centralisation : La solution Sumologic permet de collecter des téraoctets de données depuis n’importe quelle application, nuage, serveur, périphérique réseau ou capteur. La journalisation centralisée élimine le besoin d’archivage, de sauvegardes et de restaurations supplémentaires, et les collecteurs et API légers aident à développer et à intégrer facilement des sources de données.
La recherche et l’analyse : On peut exécuter facilement des recherches et corréler des événements en temps réel sur l’ensemble de la pile d’applications, mais aussi de réduire des centaines de milliers d’événements de journal dans des groupes de modèles. Il est également possible d’utiliser Transaction Analytics pour comprendre le contexte et le flux des événements à travers les systèmes distribués. La surveillance et la visualisation : Des tableaux de bord en temps réel sont disponibles dans des thèmes clairs ou sombres et aident à unifier tous les flux de données afin de garder un œil sur les événements qui comptent.
On peut comparer le statut avec les KPI (Key Performance Indicator) opérationnels et de sécurité pour obtenir une visibilité sur les comportements anormaux.
L’alerte et l’avertissement : Sumologic offre la possibilité d’utiliser des alertes personnalisées pour informer rapidement lorsque des événements spécifiques et des valeurs aberrantes sont identifiés dans des flux de données. On peut également informer les administrateurs de manière proactive lorsque les données s’écartent des lignes de base calculées ou dépassent les seuils. Ceci aidera à résoudre rapidement les problèmes potentiels.
La détection et la prédiction : Nous pouvons analyser des milliers de flux de données avec une seule requête pour déterminer les lignes de base et identifier les valeurs aberrantes en temps réel. L’apprentissage automatique aide à détecter les anomalies afin de résoudre les problèmes plus rapidement.

Table des matières

Introduction générale
Contexte
Problématique
Objectifs
Méthodologie
Première partie : Etat de l’art dans l’analyse des fichiers logs
I. Etat de l’art dans l’analyse des fichiers logs
1. Définition
2. Les différents types de logs
3. Format des fichiers logs
4. Analyse des fichiers logs
4.1 Analyse manuelle des fichiers logs
4.2 Analyse logicielle des fichiers logs
II. Solutions existantes d’analyse de fichiers logs
1. SPLUNK
2. Sumologic
3. ELK
III. Comparaisons entre les solutions existantes
1. Installation
2. Caractéristiques
3. Tableaux de bord et utilisation
4. Intégrations et plugins
Deuxième partie : ETUDE ET DESCRIPTION DE LA SOLUTION
I. Etude et description de la solution
1. Description de la solution à implémenter
2. Les composants de la solution
3. Etude des composants de la solution
3.1 Les sources de fichiers logs (DHCP)
3.2 ELK
3.2.1 Description des composants de la stack ELK
 Elasticsearch
 Logstash
 Kibana
3.3 HDFS.
4. Architecture
Troisième partie : MISE EN ŒUVRE DE LA SOLUTION
I. Mise en œuvre de la solution
1. Installation
1.1 ELK
Prérequis
1.2 Watcher
2. Configurations
2.2 Fichiers logs DHCP à analyser
2.3 Système d’alertes et de notifications (Watcher)
3. Tests et validations
Conclusion et Perspectives
ANNEXES
BIBLIOGRAPHIE

Télécharger le rapport complet

Télécharger aussi :

Laisser un commentaire

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