Fondamentaux du monitoring¶
Comprendre les bases : monitoring vs observabilité, les 3 piliers, et les méthodes de mesure essentielles.
Monitoring vs observabilité¶
Ces deux termes sont souvent confondus mais désignent des approches distinctes.
| Critère | Monitoring | Observabilité |
|---|---|---|
| Approche | Prédire les pannes connues | Comprendre un état inconnu |
| Questions | "Est-ce que ca marche ?" | "Pourquoi ca ne marche pas ?" |
| Données | Métriques prédéfinies | Logs, métriques, traces correles |
| Alerting | Seuils fixes | Comportement anormal |
| Idéal pour | Systèmes stables | Systèmes distribués complexes |
Le monitoring surveille ce que vous savez déjà mesurer. L'observabilité vous permet d'explorer ce que vous n'aviez pas anticipe.
Complementarite
Un système mature combine les deux : monitoring pour les SLO critiques, observabilité pour le diagnostic rapide en production.
Les 3 piliers¶
graph TD
O["Observabilite"]
O --> L["Logs\nEvenements textuels\nhorodates"]
O --> M["Metriques\nValeurs numeriques\ndans le temps"]
O --> T["Traces\nChemins de requetes\ndistribuees"]
L --> C["Correlation\nContexte unifie"]
M --> C
T --> C Logs¶
Enregistrements d'événements textuels produits par les applications et systèmes. Ils sont détaillés, contextuels, mais volumineux. Utiles pour comprendre ce qui s'est passe exactement.
Métriques¶
Valeurs numériques agreges dans le temps (counters, gauges, histogrammes). Peu coûteux a stocker, efficaces pour les alertes et tendances. Ne décrivent pas le "pourquoi".
Traces¶
Représentation du chemin complet d'une requête à travers plusieurs services. Indispensables en architecture microservices pour isoler la source d'une latence.
Les Golden Signals¶
Définis par le SRE Book de Google, les quatre signaux dores s'appliquent à tout service expose.
| Signal | Définition | Exemple métrique |
|---|---|---|
| Latence | Temps de traitement d'une requête | p50, p95, p99 en ms |
| Trafic | Volume de demandes par unite de temps | req/s, transactions/min |
| Erreurs | Taux de requêtes en échec | HTTP 5xx / total |
| Saturation | Degré d'utilisation des ressources | CPU %, queue depth |
Latence des erreurs
Mesurez séparément la latence des requêtes en succès et des erreurs. Une erreur rapide peut masquer une dégradation de disponibilité.
Méthode USE¶
La méthode USE (Utilization, Saturation, Errors) s'applique aux ressources matérielles et système.
| Composant | Utilization | Saturation | Errors |
|---|---|---|---|
| CPU | % utilisé | run queue length | n/a |
| Mémoire | % utilisé | swap usage | OOM events |
| Disque | % IOPS utilisés | io wait | erreurs I/O |
| Réseau | % bande passante | drop / retransmit | erreurs interface |
Commencez par l'utilisation : si elle est faible, la saturation et les erreurs sont rarement le problème.
USE pour l'infra, RED pour les services
La méthode USE diagnostique les ressources. La méthode RED analyse les services. Les deux sont complementaires.
Méthode RED¶
La méthode RED (Rate, Errors, Duration) s'applique aux services et microservices.
| Signal | Description | Exemple |
|---|---|---|
| Rate | Requêtes par seconde reçues | 1200 req/s sur /api/orders |
| Errors | Proportion de requêtes en échec | 0.3% de 5xx |
| Duration | Distribution de la durée de traitement | p99 < 400ms |
RED est particulièrement adapté aux environnements Kubernetes et aux APIs REST/gRPC.
Recapitulatif¶
graph LR
GS["Golden Signals\n(tout service)"]
USE["USE Method\n(ressources)"]
RED["RED Method\n(services)"]
GS --> USE
GS --> RED Choisir la méthode selon le contexte : USE pour analyser un serveur lent, RED pour diagnostiquer un service degradant, Golden Signals pour définir les SLI de base de tout composant.