Logs, métriques et traces
Trois signaux, trois usages — et l'erreur de vouloir tout mettre dans un seul.
La supervision classique répond à « le service est-il debout ? ». L'observabilité vise plus haut : comprendre un comportement qu'on n'avait pas anticipé, sans redéployer pour ajouter une trace.
Trois signaux s'en chargent, et ils ne sont pas interchangeables.
| Signal | Répond à | Coût |
|---|---|---|
| Métrique | combien, à quel rythme ? | faible, agrégé |
| Log | que s'est-il passé sur cette requête ? | élevé, volume brut |
| Trace | où le temps est-il passé, service par service ? | moyen, échantillonné |
Une métrique dit qu'un pourcentage d'erreurs est passé de 0,1 % à 12 %. Elle ne dira jamais pourquoi : c'est le rôle du log. Et si la lenteur traverse six services, seule la trace montre lequel attend les cinq autres.
Le piège de la cardinalité
Une métrique est bon marché parce qu'elle agrège. Ajouter une étiquette à forte cardinalité — un identifiant utilisateur, une URL complète — crée une série temporelle par valeur distincte.
http_requests_total{route="/user/42"} ← une série par utilisateur
http_requests_total{route="/user/:id"} ← une seule sérieC'est la première cause d'explosion de facture, et de bases de séries temporelles à genoux. Ce qui est unique par requête appartient au log ou à la trace, jamais à l'étiquette d'une métrique.
Journaliser un corps de requête complet « au cas où » revient à recopier des données personnelles dans un système rarement chiffré, souvent largement accessible, et conservé des mois. Les journaux entrent dans le champ du RGPD au même titre que la base de données.
Le piège classique
Alerter sur une cause plutôt que sur un symptôme produit du bruit. « La charge CPU dépasse 80 % » se déclenche la nuit pendant un batch, sans qu'aucun utilisateur ne soit gêné. « Le taux d'erreur dépasse 1 % sur cinq minutes » décrit ce que l'utilisateur subit. On alerte sur ce qui se voit du dehors, et on garde les causes pour le diagnostic.
Réponse unique
Une requête est lente et traverse six services. Quel signal identifie celui qui ralentit la chaîne ?
Indice · Lequel des trois suit une requête unique à travers plusieurs services ?
[ METTRE EN PRATIQUE ]
Choisir le bon signal
3 étapes · 25 min · 120 XP
[ CETTE LEÇON DANS LES PARCOURS ]
- Fondations Linuxétape 4 / 4dernière étape ✓
- Ingénieur DevOpsétape 23 / 23dernière étape ✓