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
- Logs structurés — passer de texte libre à JSON (1-2 semaines)
- Métriques essentielles — latence, erreurs, débit (2-4 semaines)
- Alertes — sur les symptômes utilisateurs (1-2 semaines)
- Traces — sur les parcours critiques (2-4 semaines)
- 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.