Aller au contenu principal

Observabilité et monitoring : surveiller efficacement vos applications en production

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.