Livre blanc : La recherche et l’analyse automatisées des logs renforcent vos équipes →
Bien démarrer dans la gestion des logs avec Splunk :
La gestion des logs est cruciale dans tout type d’entreprise, qu’elle soit grande ou petite. Il est indispensable de comprendre les logs pour corriger les erreurs et résoudre les défaillances.
Qu’englobe concrètement la gestion des logs ? Plongeons-nous dans cette question avec ce guide d’introduction.
La gestion des logs est une pratique qui consiste à traiter de grands volumes de messages et de données de log générées par ordinateur. Un large éventail de systèmes informatiques et d’applications produisent des logs :
Les logs contiennent de précieuses informations sur les événements qui ont lieu sur ces systèmes, et ils peuvent être utilisés pour résoudre les problèmes ou superviser les performances des systèmes.
(À lire également : Logging des données et Données machine.)
La gestion des logs permet aux entreprises de suivre la trace de toutes les activités qui se déroulent au sein de leur infrastructure informatique. Et cela peut avoir de nombreux usages au quotidien :
D’autre part, de nombreux organismes réglementaires exigent des entreprises qu’elles conservent les données de log pendant une période déterminée à des fins de conformité. La gestion des logs facilite le respect de ces obligations.
Pour comprendre vos données, vous devez d’abord comprendre la diversité des logs que vous allez rencontrer. Chaque type de log contient des données spécifiques et souvent vitales. En voici quelques exemples courants :
Les logs de serveurs renferment des données stratégiques sur l’activité des utilisateurs, les erreurs système et d’autres événements opérationnels. Ils facilitent l’identification des problèmes de performance, des tentatives d’accès non autorisé et des activités suspectes.
Indispensables aux administrateurs système, les logs d’application apportent des informations sur le comportement des logiciels, les interactions des utilisateurs et les problèmes pouvant affecter leur expérience. Les logs d’applications contribuent à :
(À lire également : La supervision des performances des applications, ou APM.)
Les logs réseau, qui consignent la circulation du trafic qui entre et sort du réseau, apportent des informations utiles pour localiser et identifier les problèmes potentiels. Les logs réseau :
(Lisez notre présentation complète des données de log.)
Les données de log peuvent être générées dans différents formats : texte brut, XML, JSON et syslog.
Le langage de balisage extensible (XML) est utilisé pour stocker et transporter les données. Il est lisible par l’humain, et donc facile à utiliser pour les développeurs.
Autre format répandu pour les messages de log, JSON offre un moyen plus compact et efficace de stocker les données que XML. Ce format structuré conserve les informations sous la forme de paires clé-valeur, plus facile à analyser par la machine.
Syslog est un protocole standard qui génère des messages de log sur les périphériques réseau. Ce format inclut des informations indispensables : horodatage, niveau de gravité et codes de site pour faciliter l’analyse des logs.
(Apprenez à faire la différence entre données structurées, semi-structurées et non structurées.)
Le processus de gestion des logs comprend généralement les étapes suivantes :
(À lire également : agrégation des logs et gestion du cycle de vie des données.)
Certains outils sont conçus pour vous aider à gérer correctement vos logs en assurant la supervision, le stockage et l’analyse de vos données de log.
Splunk compte parmi les principales solutions de gestion des logs. Splunk s’appuie sur la gestion des données de log dans des dizaines d’applications, comme les opérations de sécurité, la supervision globale des systèmes et l’observabilité.
Il existe également plusieurs solutions open source qui assurent la supervision et l’analyse des logs en temps réel. Quelques exemples :
(En savoir plus sur Splunk et nos autres solutions.)
Pour mieux comprendre le fonctionnement de la gestion des logs, examinons un exemple à base de paires clé-valeur.
Notre exemple de log présente un format de chaîne. Les données fournissent des informations sur l’état de liaisons aériennes.
WARNING:__main__:Lufthansa airlines 820 from Indira Gandhi International airport, New Delhi(DEL), India to Frankfurt International Airport, Frankfurt(FRA), is delayed by approximately 5 hours, 22 minutes
INFO:__main__:Air India flight 120 from Indira Gandhi International airport, New Delhi(DEL), India to Frankfurt International Airport, Frankfurt(FRA), Germany has departed at 12:20:18
Le contenu est relativement lisible et compréhensible, et un humain n’aura pas de difficulté à en extraire des informations importantes. Mais si cette tâche est confiée à une machine, comment va-t-elle identifier et interpréter les informations souhaitées ? Et que faire si nous avons affaire à un ensemble de données de log similaires ?
Cette situation impose de structurer les logs pour les machines. Comment faire ? Examinons cela.
Les logs doivent être écrits dans un autre format, qui n’est pas le format de chaîne représenté ci-dessus. Les données ci-dessus seront simplement stockées dans un dictionnaire (paires clé-valeur) qui peut ensuite être sérialisé.
Nous allons réaliser cette tâche en Python. Nous allons utiliser un paquet Python appelé structlog, pour logging structuré.
from structlog import get_logger
log = get_logger("Structured Logger")
if status in [’departed’, ’landed’]:
log.info(status, **flight)
elif status == ’delayed’:<
log.warning(status, **flight)
else:
log.critical(status, **flight)
Le résultat obtenu se présente sous la forme d’un dictionnaire. Il permet aux machines de comprendre et d’extraire des informations pour gérer efficacement le fichier de log.
[warning ] delayed airline=Lufthansa airlines 820 delay_duration= 5 hour 22 mins destination={’airport’: ’Frankfurt International Airport’, ’iata’: ’’, ’icao’: ’’, ’city’: ’Frankfurt’, ’state’: ’’, ’country’: ’Germany’} flight_id=820 origin={’airport’: ’Indira Gandhi International Airport’, ’iata’: ’’, ’icao’: ’’, ’city’: ’New Delhi’, ’state’: ’’, ’country’: ’India’} stops=1
Comme vous pouvez le voir, les paires clé-valeur créées permettent d’effectuer des requêtes et d’extraire des informations. C’est comme cela que se présente le logging structuré. Comme nous l’avons dit plus haut, différents formats peuvent être utilisés : XML, JSON, etc.
Notre exemple est un cas simple de logging structuré. Mais dans les scénarios réels, les messages de log peuvent contenir beaucoup plus de données complexes. Il faudra alors employer des techniques d’interprétation sophistiquées pour en extraire des informations utiles.
Votre entreprise rêve d’optimiser les performances de ses systèmes, de renforcer la sécurité de ses données et de simplifier la détection et la résolution des problèmes ? Alors il vous faut de bonnes pratiques de gestion des logs.
Voici quelques recommandations fondamentales à ce sujet :
(À lire également : Bonnes pratiques de logging pour Splunk Enterprise.)
Pour conclure, la gestion des logs est une pratique essentielle dans toute organisation. Elle contribue à l’efficacité de la collecte des données, à l’identification et à la résolution des problèmes, ainsi qu’à la performance et à la sécurité des systèmes dans leur ensemble.
Si votre entreprise n’a pas encore adopté des pratiques efficaces de gestion des logs, c’est le moment de commencer. La gestion des logs est un aspect crucial de tous les systèmes informatiques, et vous avez tout intérêt à suivre les bonnes pratiques et à employer des formats de log normalisés pour fluidifier vos opérations.
Pour approfondir le sujet du logging et d’autres thèmes connexes, lisez notre Guide du développeur : vous y trouverez des ressources et des informations pour développer de meilleures applications en vous appuyant sur de bonnes pratiques de logging.
Une erreur à signaler ? Une suggestion à faire ? Contactez-nous à l’adresse ssg-blogs@splunk.com.
Cette publication ne représente pas nécessairement la position, les stratégies ou l’opinion de Splunk.
La plateforme Splunk élimine les obstacles qui séparent les données de l'action, pour donner aux équipes d'observabilité, d'IT et de sécurité les moyens de préserver la sécurité, la résilience et le pouvoir d'innovation de leur organisation.
Fondée en 2003, Splunk est une entreprise internationale. Ses plus de 7 500 employés, les Splunkers, ont déjà obtenu plus de 1 020 brevets à ce jour, et ses solutions sont disponibles dans 21 régions du monde. Ouverte et extensible, la plateforme de données Splunk prend en charge les données de tous les environnements pour donner à toutes les équipes d'une entreprise une visibilité complète et contextualisée sur l'ensemble des interactions et des processus métier. Splunk, une base solide pour vos données.