Observabilité vs monitoring : quelle différence ?
Le monitoring répond à la question « est-ce que ça marche ? » en surveillant des métriques prédéfinies (CPU, temps de réponse, taux d'erreur). L'observabilité va plus loin : elle permet de comprendre « pourquoi ça ne marche pas ? » en explorant les données sans avoir défini les questions à l'avance.
Un système observable produit suffisamment de données (logs, métriques, traces) pour diagnostiquer n'importe quel problème, même imprévu.
Les trois piliers de l'observabilité
Logs : enregistrements textuels horodatés des événements de l'application. Ils sont essentiels pour le debugging mais volumineux. Structurez-les en JSON, incluez un ID de corrélation et centralisez-les (ELK, Loki, Datadog Logs).
Métriques : valeurs numériques agrégées dans le temps (nombre de requêtes par seconde, temps de réponse p50/p95/p99, taux d'erreur). Légères en stockage, idéales pour les dashboards et les alertes (Prometheus, Datadog, CloudWatch).
Traces : suivi d'une requête à travers tous les services qu'elle traverse. Essentielles dans les architectures microservices pour identifier les goulots d'étranglement (Jaeger, Tempo, Datadog APM).
Métriques essentielles à surveiller
- RED (pour les services) : Rate (débit), Errors (taux d'erreur), Duration (latence).
- USE (pour l'infrastructure) : Utilization (usage), Saturation, Errors.
- Métriques métier : inscriptions, commandes, conversions — les indicateurs qui comptent pour le business.
Alerting : alerter sans fatiguer
Le piège classique : trop d'alertes tuent les alertes. Quand l'équipe reçoit 50 notifications par jour, elle les ignore toutes. Principes d'un bon alerting :
- Chaque alerte doit nécessiter une action humaine immédiate.
- Distinguez les alertes critiques (notification immédiate) des avertissements (revue le lendemain).
- Incluez dans l'alerte le contexte nécessaire au diagnostic (dashboard, runbook).
- Revoyez régulièrement vos alertes : supprimez celles qui ne déclenchent jamais d'action.
Dashboards opérationnels
Créez des dashboards à plusieurs niveaux :
- Vue d'ensemble : état de santé global de l'application (vert/jaune/rouge).
- Par service : métriques RED de chaque microservice ou composant.
- Investigation : dashboards détaillés pour le debugging (latence par endpoint, logs filtrés, traces).
Outils et stack d'observabilité
Deux approches principales :
- Open source : Prometheus + Grafana (métriques), Loki (logs), Tempo (traces). Coût d'hébergement et de maintenance mais contrôle total.
- SaaS : Datadog, New Relic, Grafana Cloud. Plus rapide à mettre en place, coût par volume de données.
Pour une PME ou une startup, commencez avec un outil SaaS (Grafana Cloud a un tier gratuit généreux) et migrez vers du self-hosted si les coûts augmentent.