Qu'est-ce que le monitoring ?
Le monitoring (surveillance) est la pratique de collecter, agreger et analyser en temps reel les donnees de fonctionnement des systemes informatiques. L'objectif est de detecter les problemes avant qu'ils n'impactent les utilisateurs, de comprendre les performances du systeme, et de faciliter le diagnostic en cas d'incident. Le monitoring est un pilier de la fiabilite des systemes en production.
Les trois piliers de l'observabilite
Metriques
Les metriques sont des mesures numeriques echantillonnees dans le temps : CPU, memoire, latence des requetes, taux d'erreur, nombre de connexions. Elles repondent a "que se passe-t-il ?". Les outils principaux sont Prometheus (collecte et stockage de metriques, PromQL), Grafana (visualisation, dashboards), Datadog (plateforme SaaS complete), et CloudWatch (natif AWS).
Logs
Les logs sont des enregistrements textuels d'evenements discrets : erreurs, requetes, actions utilisateur. Ils repondent a "pourquoi cela s'est-il passe ?". La centralisation est essentielle : ELK Stack (Elasticsearch, Logstash, Kibana), Loki (par Grafana, leger), Datadog Logs, ou CloudWatch Logs. Les logs structures (JSON) facilitent la recherche et l'analyse.
Traces distribuees
Les traces suivent une requete a travers les differents services d'une architecture distribuee. Elles repondent a "ou est le probleme ?". Chaque service ajoute un span avec les details de son traitement. Jaeger, Zipkin, et OpenTelemetry (standard ouvert) sont les outils de reference. Les traces sont indispensables dans les architectures microservices pour identifier les goulots d'etranglement.
Alerting et on-call
Le monitoring sans alerting est inutile. Les alertes doivent etre actionnables (pas de bruit), contextualisees (inclure les informations necessaires au diagnostic), et priorisees (critique vs warning). Les canaux : PagerDuty, OpsGenie, Slack, SMS. Les bonnes pratiques : alerter sur les symptomes (latence elevee) plutot que les causes (CPU eleve), utiliser des seuils dynamiques, et definir des runbooks (procedure de resolution) pour chaque alerte.
Metriques cles (Golden Signals)
Les Four Golden Signals de Google SRE sont les metriques essentielles : Latency (temps de reponse), Traffic (volume de requetes), Errors (taux d'erreur), Saturation (utilisation des ressources). Pour les applications web, les Core Web Vitals (LCP, FID, CLS) mesurent l'experience utilisateur reelle. Les SLI/SLO/SLA definissent les objectifs de fiabilite (99.9% de disponibilite = 8.7 heures de downtime par an).