Aller au contenu
medium

Pratiques opérationnelles d'observabilité

11 min de lecture

Vous avez compris les fondamentaux — logs, métriques, traces, SLO. Prometheus tourne, Grafana affiche des graphes, et les alertes arrivent dans Slack. Mais personne ne regarde les dashboards sauf en panne, les alertes réveillent pour des faux positifs, et quand un incident arrive, chacun improvise. Cette section vous donne les pratiques opérationnelles qui transforment une stack d’observabilité en un système qui aide vraiment au quotidien — des dashboards qu’on consulte, des alertes qui comptent, et des runbooks qui réduisent le temps de résolution.

Cette section suppose que vous maîtrisez les fondamentaux. Vous tirerez davantage des guides si vous avez :

  • Lu la section Fondamentaux — particulièrement les guides sur les métriques, les SLI/SLO et la corrélation
  • Une stack d’observabilité déployée — Prometheus + Grafana, ou équivalent SaaS (Datadog, New Relic)
  • Des métriques applicatives — pas uniquement CPU/RAM, mais aussi les signaux RED (rate, errors, duration)
  • Un accès aux logs structurésLoki, Elasticsearch, ou logs SaaS

Si ces notions vous sont familières, vous êtes prêt. Sinon, commencez par la section Fondamentaux.

Étape 1 — Construire des dashboards qui servent

Section intitulée « Étape 1 — Construire des dashboards qui servent »

Le premier piège : créer des dashboards “au cas où” avec 40 graphes que personne ne comprend. Un dashboard utile répond à une question précise — “Mon service répond-il correctement ?” ou “Où est le goulet d’étranglement ?”. Le guide Dashboard vous apprend à appliquer les frameworks RED et USE pour construire des vues actionnables : un overview en haut (santé globale en un coup d’œil), du drill-down en dessous (détail par service, par endpoint, par instance).

La règle : si vous n’avez pas regardé un panel depuis 30 jours, supprimez-le. Un dashboard encombré est un dashboard ignoré.

Les alertes sont le pont entre l’observabilité passive (des données qui dorment) et l’action (quelqu’un qui agit). Mais trop d’équipes alertent sur des causes (CPU élevé) au lieu de symptômes (latence utilisateur dégradée). Résultat : des alertes qui réveillent à 3h du matin pour des situations qui n’impactent personne, et une équipe qui finit par ignorer les notifications.

Le guide Alerting vous apprend à construire des alertes symptom-first : on alerte sur l’impact utilisateur (augmentation du taux d’erreur, burn rate du SLO qui s’envole), pas sur les causes internes. Chaque alerte pointe vers un runbook, un dashboard de diagnostic et des requêtes de logs/traces — tout ce qu’il faut pour agir immédiatement.

Quand une alerte sonne, que fait l’on-call ? Sans runbooks, chacun improvise. Les anciens se débrouillent avec l’expérience, les nouveaux cherchent pendant que le client attend. Le MTTR (temps de résolution) dépend de qui est de garde.

Le guide Runbooks et incidents structure tout le cycle : un runbook par alerte (symptôme → diagnostic → remédiation → escalade), un processus d’incident avec rôles clairs (Incident Commander, Ops Lead, Scribe, Communicateur), et un postmortem qui transforme chaque panne en amélioration. L’objectif : que le MTTR soit constant quel que soit l’ingénieur de garde.

Étape 4 — Maîtriser l’observabilité Kubernetes

Section intitulée « Étape 4 — Maîtriser l’observabilité Kubernetes »

Kubernetes ajoute une couche de complexité : pods éphémères, scheduling dynamique, control plane distribué. Les métriques traditionnelles (CPU d’un serveur) ne suffisent plus — il faut observer 4 couches (application, conteneur, node, control plane) avec des sources spécifiques (kube-state-metrics, cAdvisor, kubelet).

Le guide Observabilité Kubernetes vous donne les 5 signaux critiques à surveiller (OOMKilled, pod restarts, pending pods, node not ready, CPU throttling), les alertes Prometheus prêtes à copier-coller, et les techniques pour maîtriser la cardinalité des labels dynamiques.

Avant d’aller plus loin, voici les termes que vous croiserez dans tous les guides pratiques. Chaque page les définit en détail, mais ce résumé vous évite de décrocher dès la première lecture.

TermeDéfinition en une phrase
Symptom-firstAlerter sur l’impact utilisateur (erreurs, latence) plutôt que sur les causes internes (CPU, RAM)
Burn rateLa vitesse de consommation de l’error budget — un burn rate de 10× épuise le budget 10 fois plus vite
RunbookDocumentation structurée pour diagnostiquer et résoudre un problème lié à une alerte spécifique
PlaybookProcédure pour gérer un type d’incident (panne BDD, DDoS) — peut invoquer plusieurs runbooks
MTTRMean Time To Recovery — le temps entre la détection d’un incident et le retour à une expérience utilisateur acceptable
Incident Commander (IC)Le coordinateur d’un incident majeur — décide des priorités et valide les actions
PostmortemL’analyse post-incident qui identifie les causes et génère des action items — toujours blameless
Action itemUne amélioration concrète issue d’un postmortem — catégorisée (prévention, détection, mitigation, remédiation, résilience)
kube-state-metricsExporter Prometheus qui expose les états des objets Kubernetes (pods, deployments, nodes)
cAdvisorCollecteur de métriques de consommation ressources par conteneur (CPU, mémoire, I/O)

Les pièges classiques des pratiques opérationnelles

Section intitulée « Les pièges classiques des pratiques opérationnelles »

Avant de plonger dans les guides, voici les cinq erreurs que les équipes font le plus souvent. Les reconnaître maintenant vous évitera de les reproduire :

PiègePourquoi c’est un problèmeLe guide qui en parle
Dashboards “au cas où” avec 40 panelsPersonne ne les regarde, impossible de trouver l’info utile en panneDashboards
Alerter sur CPU > 90 % au lieu du taux d’erreurRéveil à 3h pour un spike qui n’impacte personne, fatigue d’alerteAlerting
Alertes sans runbook associéL’on-call improvise, le MTTR dépend de l’expérienceRunbooks
Postmortems qui cherchent un coupableLes gens cachent les erreurs, on n’apprend rienRunbooks
Observer les pods Kubernetes comme des VMsLabels à haute cardinalité, métriques inutiles, coûts explosifsObservabilité K8s

Où en êtes-vous aujourd’hui ? Ce modèle simple vous aide à situer votre organisation et à identifier la prochaine étape :

NiveauCe que vous avezCe qui manqueGuides prioritaires
1 — Ad hocDashboards par-ci par-là, alertes sur tout et rienPas de structure, pas de runbooks, MTTR imprévisibleDashboards, Alerting
2 — RéactifDashboards structurés (RED/USE), alertes symptom-firstPas de runbooks formalisés, postmortems informelsRunbooks, Alerting
3 — StructuréRunbooks par alerte, processus d’incident défini, postmortems systématiquesPas d’automatisation, pas de spécificité K8sObservabilité K8s
4 — OptimiséCI/CD sur les runbooks, alertes validées par tests, observabilité K8s complèteAmélioration continue, chaos engineeringLabs (prochaine section)

La plupart des équipes sont au niveau 1 ou 2. Les pratiques de cette section vous amènent au niveau 3 ; les labs de la section suivante vous donnent les outils du niveau 4.

GuideQuestion centraleCe que vous en retirezTempsNiveau
Dashboards utilesComment construire des vues qui servent ?Hiérarchie overview → drill-down, variables, conventions18 minIntermédiaire
Alerting efficaceComment alerter sans fatiguer l’équipe ?Symptom-first, burn rate, annotations, routing20 minIntermédiaire
Runbooks et incidentsComment structurer la réponse aux pannes ?Template runbook, 4 rôles, postmortem blameless22 minIntermédiaire
Observabilité KubernetesQuoi surveiller sur K8s ?4 couches, 5 signaux critiques, alertes prêtes20 minIntermédiaire → Avancé

Les quatre guides de cette section forment une chaîne cohérente :

Articulation des guides pratiques : Dashboards → Alerting → Runbooks, avec Kubernetes comme contexte spécifique

  • Les dashboards définissent ce qu’on affiche — ils utilisent les frameworks RED et USE pour structurer les vues
  • L’alerting définit les seuils et les règles — chaque alerte pointe vers un dashboard de diagnostic
  • Les runbooks documentent la réponse — chaque runbook est lié à une alerte via l’annotation runbook_url
  • L’observabilité Kubernetes adapte ces pratiques au contexte spécifique des clusters — pods éphémères, labels dynamiques, control plane

Les annotations créent le lien technique : chaque alerte porte dashboard_url, runbook_url, log_query_url, trace_query_url. L’on-call navigue de l’alerte au diagnostic en un clic.

Les pratiques de cette section sont indépendantes de l’outil choisi. Pour fixer les idées, voici ce que chaque outil apporte :

ComposantStack OSS typiqueStack SaaS typique
DashboardsGrafanaIntégré (Datadog, New Relic)
AlertingPrometheus AlertmanagerIntégré + PagerDuty/Opsgenie
RunbooksWiki (Notion, Confluence) ou GitIdem
Incident managementOpsgenie, PagerDuty, incident.ioIntégré ou dédié
PostmortemsTemplates Git/WikiIntégré ou dédié
K8s monitoringkube-prometheus-stackIntégré

L’essentiel : les pratiques (RED dashboards, symptom-first alerting, runbooks structurés) restent identiques quelle que soit la stack.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracing. Aujourd'hui, ce site ne couvre même pas mes frais d'hébergement, d'électricité, de matériel, de logiciels, mais surtout de cafés.

Un soutien régulier, même symbolique, m'aide à garder ces ressources gratuites et à continuer de produire des guides de qualité. Merci pour votre appui.