Observabilité : comprendre ce qui se passe en production

Logs, métriques, traces : l'observabilité permet de comprendre les systèmes complexes. Voici les principes essentiels.

Article20 février 20268 min de lecturePar EYYAW

Les applications modernes sont distribuées : plusieurs services, plusieurs bases de données, plusieurs dépendances externes. Un incident peut venir de n'importe où. Comprendre ce qui se passe nécessite plus que des logs : il faut de l'observabilité.

Les trois piliers

1. Logs

Événements horodatés générés par l'application. Utiles pour comprendre un contexte précis. À structurer (JSON), pas à écrire en texte libre.

2. Métriques

Valeurs numériques agrégées dans le temps : latence, taux d'erreur, nombre de requêtes. Utiles pour détecter les tendances.

3. Traces

Suivi d'une requête à travers tous les services qu'elle traverse. Indispensable pour diagnostiquer les lenteurs dans un système distribué.

Ce que permet l'observabilité

  • Détecter les incidents avant qu'ils n'impactent les utilisateurs
  • Diagnostiquer rapidement où se situe le problème
  • Corriger avec des informations précises
  • Apprendre des incidents pour éviter qu'ils se reproduisent

Les bonnes pratiques

Logs structurés

Chaque log doit contenir : timestamp, service, environnement, niveau (info/warn/error), identifiant de requête, message, données contextuelles.

Corrélation

Un identifiant unique par requête permet de relier tous les logs d'un même parcours, à travers tous les services.

Alertes utiles

Les alertes doivent être rares, actionnables, et basées sur des symptômes utilisateurs (pas sur des seuils techniques).

Tableaux de bord

Un dashboard par service : taux d'erreur, latence, débit, saturation des ressources.

Rétention

Les logs récents pour le debug, les logs anciens pour l'analyse. Différentes rétentions selon l'usage.

Les outils

  • Open source — Prometheus (métriques), Grafana (visualisation), Loki (logs), Jaeger/Tempo (traces)
  • Commerciaux — Datadog, New Relic, Dynatrace
  • Cloud natifs — CloudWatch (AWS), Cloud Monitoring (GCP), Azure Monitor

Comment démarrer

  1. Logs structurés — passer de texte libre à JSON (1-2 semaines)
  2. Métriques essentielles — latence, erreurs, débit (2-4 semaines)
  3. Alertes — sur les symptômes utilisateurs (1-2 semaines)
  4. Traces — sur les parcours critiques (2-4 semaines)
  5. Dashboards — par équipe (1-2 semaines)

Les pièges

  • Trop d'alertes — fatigue d'alerte, alertes ignorées
  • Logs texte — impossibles à analyser
  • Pas de corrélation — impossible de suivre un parcours
  • Rétention trop courte — pas d'historique pour l'analyse
  • Rétention trop longue — coûts de stockage explosifs

Bénéfices observés

  • Temps de résolution d'incident divisé par 2 à 5
  • Moins d'incidents grâce à la détection précoce
  • Meilleure compréhension des usages
  • Équipes moins stressées face aux incidents

Ce que nous recommandons

Commencer simple : logs structurés + métriques essentielles + quelques alertes actionnables. Ajouter les traces sur les parcours critiques. Ne pas chercher l'exhaustivité, chercher l'utilité.

L'observabilité n'est pas un projet, c'est une pratique quotidienne.