Définition d'un log d'événements
En informatique, un événement est une action ou une occurrence qui est reconnue par un système logiciel. Cette occurrence peut provenir de systèmes d'exploitation, de réseaux, de serveurs, de pare-feux, de logiciels antivirus, de requêtes de base de données, d'infrastructures matérielles, etc. L'événement est généralement enregistré dans un fichier spécial appelé log d'événements.
Un log d'événements est une liste chronologique des événements enregistrés. Il convient de noter que cet article porte sur le terme générique utilisé pour tous les systèmes d'exploitation — y compris Windows — et non sur l'observateur d'événements (Event Log en anglais), qui est un composant central de Microsoft Windows.
Les logs d'événements contiennent des informations essentielles, dont les suivantes :
- La date et l'heure de l'occurrence
- La description de l'événement
- La gravité de l'événement
- L'application ou le processus impliqué
- Tout code spécifique permettant d'identifier l'événement
- D'autres informations pertinentes, comme les adresses IP ou les noms d'utilisateur
Ces informations permettent aux équipes ITOps, DevOps et SecOps de comprendre ce qu'il s'est passé sur un système et de déterminer, par exemple, s'il a cessé de fonctionner, s'il a été victime d'une activité malveillante ou si l'infrastructure a connu une défaillance.
Cet article explique ce qui est enregistré dans un log d'événements, pourquoi les logs d'événements sont essentiels et quand les logs d'événements sont utilisés.
Que contient un log d'événements ?
Dans les systèmes informatiques, un log d'événements capture des informations sur les événements matériels et logiciels. Ces logs d'événements peuvent faire partie du système d'exploitation ou être spécifiques à une application.
Systèmes d'exploitation
Par exemple, des entrées de l'observateur d'événements Windows sont générées sur n'importe quel ordinateur exécutant le système d'exploitation Windows. Ces événements sont généralement classés dans l'une des trois catégories suivantes :
- Événements liés au système, qui capturent les événements du système d'exploitation
- Événements d'application, journalisés par les applications s'exécutant sur la machine Windows
- Événements de sécurité, qui capturent les événements de connexion et de déconnexion
De la même manière, sous Linux, le processus Syslog (également appelé rsyslog ou journalctl) enregistre les événements du système d'exploitation et des applications. Dans les distributions Linux de Red Hat, le log d'événements correspond généralement au fichier /var/log/messages
.
Applications, serveurs et mise en réseau
Un log d'événements de base de données enregistre notamment les informations suivantes :
- Demandes d'accès
- Messages internes générés par le moteur de base de données
- Requêtes initiées par l'utilisateur
- Requêtes d'API
- Etc.
Le log d'erreurs SQL Server (généralement appelé ERRORLOG
) est un exemple de log d'événements de base de données.
Les serveurs web comme Apache ou Nginx enregistrent leurs événements dans access.log
et error.log
. Le log d'accès enregistre les connexions aux serveurs web, tandis que le log d'erreurs contient les messages d'erreur générés par le logiciel lui-même.
Dans le domaine de la mise en réseau, un log d'événements de routeur enregistre les événements de trafic réseau et les modifications apportées à la configuration du routeur. Un log d'événements de pare-feu enregistre les événements tels que le blocage du trafic pour des ports spécifiques.
Services cloud
Dans le contexte des services cloud, les logs d'événements comme AWS CloudTrail, CloudWatch Log et AWS Config enregistrent les événements envoyés par différents services, par exemple les événements de base de données des instances RDS ou le résultat d'une fonction sans serveur de Lambda.
Champs courants des logs d'événements
Un log d'événements est un fichier structuré qui contient des enregistrements des données d'événement. En général, il comporte un ensemble commun de champs pour chaque événement. Par exemple :
- La classification et le niveau de gravité de l'événement (« informations générales », « avertissement », « erreur critique », etc.)
- L'horodatage de l'événement
- La source de l'événement, comme le matériel, le logiciel, le système d'exploitation, le module d'application, la bibliothèque ou l'adresse IP distante
- (Facultatif) La destination de l'événement, qui peut être une application, une adresse IP ou un autre emplacement
- (Facultatif) Un numéro d'événement qui identifie l'événement de manière unique, comme le code d'erreur interne d'un serveur web
- Le nom d'utilisateur dans le cas d'actions générées par l'utilisateur
- La description de l'événement
Le but de ces champs est de fournir toutes les informations pertinentes concernant l'événement à des fins d'analyse.
Comment les logs d'événements sont-ils renseignés ?
Tous les systèmes d'exploitation — et la plupart des applications — génèrent leurs propres logs d'événements. Dans la majorité des cas, ils écrivent dans le même fichier et en commencent un nouveau lorsqu'un seuil de taille de fichier est atteint. La journalisation peut être détaillée ou concise. La façon dont le log d'événements est complété pour chaque application dépend de la manière dont cette application est configurée pour envoyer ses événements au log.
En général, les administrateurs système configurent la journalisation des événements pour chacune des applications qu'ils gèrent. Les paramètres de configuration peuvent inclure le nom du fichier log, les champs liés aux événements à capturer, la période de rétention pour les événements, le niveau de gravité minimum pour la journalisation, le fuseau horaire, etc.
Les développeurs logiciels utilisent également des logs pour capturer des informations sur les événements à partir des applications personnalisées qu'ils développent. En réalité, n'importe quelle application personnalisée peut envoyer ses événements au log d'événements d'un système d'exploitation pour autant qu'elle ait accès au log et puisse appeler l'API associée pour publier les données. Par exemple, dans le langage T-SQL pour Microsoft SQL Server, les événements des applications de bases de données personnalisées peuvent être envoyés au log d'événements des applications Windows.
Pourquoi les logs d'événements sont-ils si importants ?
Les logs d'événements sont essentiels pour l'analyse de la cause première des problèmes et des incidents, qu'ils soient dus à des défaillances matérielles, à des erreurs du système d'exploitation, à des compromissions de sécurité, à des dysfonctionnements des applications ou à une dégradation des performances. Pour les équipes chargées des opérations et les ingénieurs, le moyen le plus efficace d'identifier la cause première d'un problème est de parcourir les événements qui précédaient l'incident en question dans les fichiers logs.
La résolution des problèmes peut également passer par la mise en corrélation et l'analyse de plusieurs logs d'événements.
En agrégeant et en mettant en corrélation les données des logs d'événements pour différents composants, les personnes chargées de la résolution des problèmes peuvent bénéficier d'une visibilité complète sur ce système. La gestion moderne des logs repose sur l'ingestion de plusieurs logs d'événements pour révéler des tendances, des anomalies et des schémas. Cette approche est devenue nécessaire pour les systèmes distribués complexes, dans lesquels l'analyse d'un seul log ne permet pas toujours de détecter un problème.
Ce type d'assemblage et d'analyse approfondis constitue un aspect fondamental de l'observabilité système, qui est la capacité à mesurer l'état interne actuel d'un système à partir des données qu'il génère — y compris les logs d'événements.
Journalisez toutes vos données et répondez à toutes les questions – gratuitement
Falcon LogScale Community Edition (anciennement Humio) offre une plateforme moderne et gratuite de gestion des logs pour le cloud. Exploitez l'ingestion des données de streaming pour bénéficier d'une visibilité instantanée sur les systèmes distribués, de même que détecter et résoudre les incidents.
Falcon LogScale Community Edition, disponible instantanément et gratuitement, inclut les fonctionnalités suivantes :
- Ingestion de jusqu'à 16 Go de données par jour
- Durée de rétention de 7 jours
- Aucune carte de crédit n'est requise
- Accès continu sans période d'essai
- Journalisation sans index, alertes en temps réel et tableaux de bord en direct
- Accès à notre place de marché et à nos packages, y compris aux guides de création de nouveaux packages
- Formation et collaboration avec une communauté active