Qu'est-ce que l'observabilite ?
L'observabilite est la capacite a comprendre l'etat interne d'un systeme en observant ses sorties externes (metriques, logs, traces). Le terme vient de la theorie du controle en ingenierie. En informatique, un systeme est "observable" quand on peut diagnostiquer n'importe quel probleme sans modifier le code ni redeployer. L'observabilite va au-dela du monitoring traditionnel en permettant l'exploration de problemes imprevus.
Les trois piliers
Les trois piliers de l'observabilite sont les metriques (donnees numeriques agr egees dans le temps : latence, taux d'erreur, utilisation CPU), les logs (enregistrements textuels d'evenements discrets avec contexte), et les traces distribuees (suivi d'une requete a travers tous les services). Chaque pilier repond a des questions differentes et les trois ensemble donnent une vue complete. OpenTelemetry est le standard emergent qui unifie la collecte des trois signaux.
OpenTelemetry
OpenTelemetry (OTel) est un projet CNCF qui fournit un ensemble standardise d'APIs, de SDKs et d'outils pour generer, collecter et exporter des donnees de telemetrie. Il est supporte par tous les principaux fournisseurs (Datadog, Grafana, New Relic, AWS). Les avantages : instrumentation unique independante du backend, auto-instrumentation pour les frameworks courants, et un collecteur (OTel Collector) qui normalise et route les donnees vers n'importe quel backend.
Correlation et contexte
La puissance de l'observabilite vient de la correlation entre les signaux. Un trace ID lie une trace distribuee aux logs generes pendant son execution et aux metriques impactees. Quand une alerte se declenche sur une metrique (latence elevee), on consulte les traces pour identifier le service lent, puis les logs de ce service pour comprendre la cause. Sans correlation, chaque signal est une ile isolee. Les exemplars de Prometheus lient les metriques aux traces individuelles.
Pratiques et culture
L'observabilite est autant une pratique culturelle qu'un ensemble d'outils. Les equipes SRE (Site Reliability Engineering) definissent des SLI (Service Level Indicators) et des SLO (Service Level Objectives) pour mesurer la fiabilite. Les error budgets (budget d'erreur) definissent le niveau d'erreur acceptable avant d'arreter les releases. Les post-mortems (blameless) apres les incidents utilisent les donnees d'observabilite pour comprendre et prevenir les recurrences. L'objectif est de passer du reactif (combattre les incendies) au proactif (detecter les degradations avant l'impact).