Blog

Les fondamentaux de l’observabilité : logs, métriques et traces

Les Logs, au cœur de l’observabilité informatique

Des enregistrements essentiels pour analyser et optimiser des infrastructures

Les logs, ou journaux informatiques, sont des fichiers texte contenant des enregistrements détaillés et des métadonnées sur des événements se produisant au sein d’un système informatique. Ils sont essentiels en observabilité informatique pour prendre les bonnes décisions tant sur l’intégrité d’un réseau, l’affectation des ressources, la sécurité ou la conformité d’un SI.
Les logs enregistrent ainsi des informations comme l’horodatage, les détails d’un événement et parfois des données liées aux interactions d’un utilisateur avec un service informatique. L’analyse des logs sert à contextualiser chaque action se déroulant dans une infrastructure, qu’elle soit liée à une application, un serveur ou un terminal IoT​​..


Les familles, les types et les utilisations possibles des Logs

On peut distinguer 4 grandes familles dans lesquelles se classent différents types de logs :

  • Les logs structurés, organisés dans des formats standard, peuvent être utilisés pour la conformité et le suivi précis d’événements mesurables.
  • Les logs semi-structurés contenant à la fois des données organisées et du texte libre, demandant un traitement supplémentaire pour être exploitables (ex : journaux systèmes et applicatifs).
  • Les logs non-structurés, contenant principalement du texte brut sans structure formelle et nécessitant une conversion des données pour être exploité et analysé (parsing).
  • Enfin, les logs binaires, encodés et devant être déchiffrés pour leur exploitation, dont l’utilisation est souvent liée à l’intégrité des fichiers ou la récupération de transactions.

Voici une matrice récapitulant les différents types de logs, leurs caractéristiques et l’utilisation qui peut en être faite :

Logs structurés
Logs de performance Logs d'audit Logs d'accès Logs réseau
Logs semi-structurés
Logs non-structurés
Logs binaires
Logs semi-structurés
Logs applicatifs Logs système (syslog) Logs de sécurité
Logs non-structurés
Logs d’événement Logs d’erreur
Logs binaires
Logs d’intégrité des fichiers Logs de base de données
Logs structurés
Types de logs Logs de performance
Caractéristiques

Données numériques organisées (CPU, mémoire, I/O), faciles à requêter et à analyser.

Rôles et utilisation

Ils fournissent des métriques sur l’utilisation du CPU, de la mémoire ou d’autres ressources. Permettent de surveiller et d’optimiser l’efficacité du SI.

Logs structurés
Types de logs Logs d'audit
Caractéristiques

Enregistrements formalisés avec des champs spécifiques pour la conformité.

Rôles et utilisation

Ils enregistrent toutes les actions utilisateur et modifications au sein du SI. Ils sont nécessaires pour les environnements soumis à des exigences de conformité.

Logs structurés
Types de logs Logs d'accès
Caractéristiques

Logs incluant des métadonnées standardisées (utilisateur, heure, actions).

Rôles et utilisation

Ils listent les accès aux fichiers, aux applications ou aux systèmes, indiquant qui a accédé, quand et comment. Ils sont essentiels pour la sécurité et la conformité.

Logs structurés
Types de logs Logs réseau
Caractéristiques

Logs incluant des formats standard pour surveiller les connexions réseau.

Rôles et utilisation

Ils suivent les activités des routeurs, des switches et d’autres équipements réseau. Ils indiquent les anomalies de trafic ou les problèmes de connectivité.

Logs semi-structurés
Logs non-structurés
Logs binaires
Logs semi-structurés
Types de logs Logs applicatifs
Caractéristiques

Logs organisés de manière partielle, en champs, mais contenant également des données textuelles variées

Rôles et utilisation

Ils permettent de documenter les événements internes aux applications, comme les erreurs ou les flux de travail spécifiques. Ils permettent le débogage et l’optimisation des performances applicatives.

Logs semi-structurés
Types de logs Logs système (syslog)
Caractéristiques

Logs contenant des événements propres aux OS dans un format semi standardisé. Leur contenu peut varier en fonction des services ou applications qui les émettent.

Rôles et utilisation

Entre protocole standardisé et format spécifique, les Syslogs capturent les événements liés au système d’exploitation, comme les démarrages, les arrêts ou les erreurs critiques. Les Syslogs peuvent transmettre des logs via un protocole standardisé vers un système centralisé pour en faciliter la gestion et l’analyse.

Logs semi-structurés
Types de logs Logs de sécurité
Caractéristiques

Logs partiellement organisés, avec des messages relatifs aux menaces, aux alertes, et aux événements critiques.

Rôles et utilisation

Ils enregistrent les tentatives de connexion réussies ou échouées, les IP bloquées ou autorisées, les alertes de pare-feu et d’autres incidents liés à la sécurité. Ils sont utilisés par exemple pour prévenir les attaques ou enquêter sur des violations.

Logs non-structurés
Types de logs Logs d’événement
Caractéristiques

Logs incluant des textes non organisés décrivant les activités d’un système ou des anomalies.

Rôles et utilisation

Ils enregistrent des informations sur les activités d’un système, telles que les connexions, les erreurs ou les modifications. Ils aident à diagnostiquer des problèmes ou analyser l’activité réseau.

Logs non-structurés
Types de logs Logs d’erreur
Caractéristiques

Logs équivalent à des messages libres sans format spécifique, relatant des défaillances applicatives ou système.

Rôles et utilisation

Ils listent les problèmes rencontrés par des services, applications ou systèmes. Ils sont stratégiques pour identifier et résoudre les dysfonctionnements.

Logs binaires
Types de logs Logs d’intégrité des fichiers
Caractéristiques

Enregistrements codés vérifiant les modifications des fichiers critiques, souvent utilisés pour la sécurité.

Rôles et utilisation

Ils vérifient les modifications des fichiers critiques en les comparant à un état de référence et sont utiles pour détecter des altérations malveillantes ou non autorisées.

Logs binaires
Types de logs Logs de base de données
Caractéristiques

Peuvent inclure des enregistrements binaires de transactions pour la performance ou la récupération de données.

Rôles et utilisation

Ils consignent les requêtes, les transactions et les erreurs au sein des bases de données. Ils sont utilisés pour assurer l’intégrité des données et optimiser les performances.

Piloter la performance des systèmes en temps réel grâce aux métriques

Les métriques permettent d’observer l’état de santé et le fonctionnement d’un système

Les métriques sont des mesures de données quantifiées, indispensables pour une gestion proactive de composants applicatifs ou bien dans le cadre de la gestion d’une infrastructure Cloud.

Au-delà d’être des indicateurs de santé d’un système, elles permettent d’identifier des tendances et aident à la prise de décisions éclairées.
Les métriques servent à comprendre quel est l’impact de changements effectués sur un système, quelles orientations prendre sur un processus de développement applicatif et en bout de processus, comment améliorer la satisfaction client.

Les métriques à surveiller en observabilité

En observabilité informatique, 4 métriques clés doivent être placées sous surveillance pour s’assurer qu’un système reste opérationnel et puisse fournir une expérience utilisateur optimale, sur la durée.

  • La latence : il s’agit du temps que prend le traitement d’une requête dans le système. Une latence élevée peut impacter négativement l’expérience d’un utilisateur avec un microservices et affecter sa satisfaction.
  • Le trafic : cette métrique mesure la demande d’accès à un système et est donc liée au débit fourni par un réseau. Comprendre les modèles et les fluctuations de trafic permet de faire évoluer un système pour pallier des surcharges réseau par exemple.
  • Taux d’erreur : il s’agit de la fréquence et du nombre d’erreurs survenant dans un système. Un taux d’erreur élevé doit alerter sur un dysfonctionnement et des conséquences probables pour les utilisateurs.
  • La saturation : cette métrique mesure le taux d’utilisation d’un système et sa capacité à fournir le service attendu à l’ensemble des utilisateurs. Elle aide à identifier les problèmes de performances et les pannes potentielles.
Quelles métriques surveiller en observabilité ?

Pourquoi l’analyse des métriques est indispensable à l’observabilité informatique ?

Contrairement aux logs qui relatent des événements spécifiques, les métriques offrent une vue continue et agrégée des performances d’un système sur le long terme. Elles ont un rôle central dans la surveillance et gestion des systèmes d’information.

L’analyse des métriques permet la surveillance continue d’un système afin de garantir un fonctionnement normal. En suivant par exemple les métriques de temps de réponse sur un microservice potentiellement lent, il est possible de réallouer des ressources pour en optimiser les performances.

Les métriques permettent de détecter des tendances en identifiant des signes précurseurs de problèmes potentiels (augmentation de l’utilisation de ressources​ (CPU), évaluation de la charge de travail d’un serveur, etc.)

En cas de sous-utilisation ou de surcharge sur un service, l’analyse des métriques liées aux ressources informatiques va permettre de mieux gérer les ressources en fonction des besoins réels​. Il est aussi possible de planifier et de prévoir les besoins en infrastructure, notamment en période de forte activité. La mise en place d’alertes proactives et de notifications permet, en cas de dépassement de seuil pré-défini d’une métrique, de programmer rapidement une intervention sur un service avant que les utilisateurs ne soient impactés​​. La proactivité en cas d’augmentation anormale de la charge d’un CPU sur un serveur de base de données par exemple, peut éviter une interruption de service.

Les traces, le fil conducteur des transactions dans un système distribué

Les traces, un suivi détaillé des requêtes

Une trace est une représentation du chemin parcouru par une requête ou une transaction dans un système distribué. Elle fournit une vue détaillée des interactions entre microservices en capturant chaque étape de son passage à travers différents services ou bases de données.

Les traces peuvent inclure des données telles que :

  • Les identifiants de requête unique, pour relier tous les points d’un flux de travail.
  • Les durées et les latences qui mesurent le temps pris à chaque étape.
  • Les erreurs ou exceptions rencontrées qui identifient des anomalies spécifiques​​.

Elles offrent une vue bout-en-bout d’une opération, rendant visible l’expérience d’une requête depuis son initiation (demande utilisateur) jusqu’à son achèvement via l’intégralité du système distribué.

Pourquoi les traces sont cruciales pour la gestion des microservices ?

Avec des architectures modernes comme les microservices, chaque requête peut transiter par de multiples services avant d’atteindre son objectif. Ces environnements, souvent répartis sur plusieurs hôtes ou conteneurs, rendent difficile le suivi des transactions avec des outils traditionnels.

Les traces vont donc faciliter la visualisation des dépendances et aider à comprendre comment les microservices interagissent entre eux et où les latences apparaissent.

Elles permettent de diagnostiquer de manière précise des anomalies (ex : une requête HTTP qui échoue en raison d’un service tiers hors ligne) et d’identifier rapidement si un microservice rencontre un problème de fonctionnement. Elles servent aussi à une analyse des performances distribuées pour optimiser la relation entre plusieurs microservices et réduire les temps de réponse​​.

Innover grâce aux traces et à l’observabilité

Les traces sont particulièrement utiles pour cartographier les dépendances dans des environnements complexes. Elles contribuent à la compréhension des interactions existantes entre les applications, les services et les composants​​ d’infrastructure.

Il est également possible d’obtenir des simulations et des modélisations plus précises des applicatifs distribués.

Par exemple, les traces servent à remonter des informations approfondies sur les goulots d’étranglement d’un système distribué. Elles peuvent révéler un temps de chargement des données trop long et aider à la création de modèles de microservices plus précis ou à la mise en œuvre d’optimisations ciblées.

Dans le cadre d’un service e-commerce, une trace peut révéler qu’un microservice de paiement demande trois fois plus de temps que prévu pour traiter les transactions.
Avec ce type d’information, l’équipe de développement de l’application peut réorganiser les appels API afin de réduire les latences, accélérer les processus de paiements et par conséquent, réduire le taux d’abandon de panier. Ce qui bénéficie aux performances générales de l’application.

Aussi, les traces doivent être corrélées aux logs et aux métriques pour fournir une image complète des problèmes issus d’un système. C’est pourquoi l’intégration d’une plateforme d’observabilité​ permettant d’unifier les données demeure stratégique.

Ainsi, les enseignements de l’analyse de traces favorisent la collaboration, le progrès et libèrent l’innovation autour des micro services. 

L’innovation par l’observabilité de bout en bout

La complémentarité des données de télémétrie (logs, événements, métriques et et traces) est au cœur de l’innovation lorsqu’il s’agit de la réussite d’un projet DevOps, cloud ou informatique au sens large.

Les logs capturent des événements en temps réel, et fournissent des détails essentiels pour diagnostiquer des problèmes et assurer la conformité.
Les métriques quantifient les performances, et permettent de surveiller les ressources, de déclencher des alertes proactives et de détecter des tendances.
Les traces suivent le parcours des requêtes, révélant les dépendances entre les microservices, les goulots d’étranglement, tout en offrant une perspective bout-en-bout sur des transactions complexes.

La mise en œuvre d’une plateforme d’observabilité de bout en bout permet de corréler ces trois types de données, donnant ainsi aux équipes une compréhension approfondie et unifiée de l’état d’un système.

Les entreprises peuvent dès lors répondre à des besoins changeants, soutenir des cycles de développement plus courts et améliorer l’expérience des utilisateurs. Loin de se limiter à la surveillance, l’observabilité devient alors un levier stratégique pour anticiper, innover et s’adapter dans un paysage technologique en constante évolution.

Partager

Inscrivez vous à la Newsletter

Restez au courant de nos dernieres actualités !