Incident Commander Is Not the Person Fixing the Bug
Assigning this role to the most technical person mixes two incompatible activities: coordinating and deep debugging. Separating the two speeds up resolution.
Savoir que ça casse avant vos utilisateurs : des SLO dimensionnés pour des équipes réduites, des métriques qui servent à décider, des alertes qu'on ne finit pas par couper. Chaque article part d'un système réellement instrumenté, ou d'un incident qui a montré ce qui manquait.
Ces sujets, je les traite aussi en mission : Fiabilité & observabilité.
Pour lire ces articles dans l'ordre plutôt que par date : Observabilité · Sécurité d’infrastructure.
Le vocabulaire du domaine : Burn rate · Cardinalité des métriques (Prometheus) · Error budget (budget d'erreur) · Observabilité · Percentile de latence (p99, p95) · SLO (Service Level Objective) · tout le glossaire.
Assigning this role to the most technical person mixes two incompatible activities: coordinating and deep debugging. Separating the two speeds up resolution.
Confier le rôle d'incident commander à la personne la plus technique mélange coordination et débogage. Séparer les deux accélère la résolution.
Blameless separates fact reconstruction from individual evaluation, it doesn't erase the problem. Naming a person in the incident narrative breaks trust.
Blameless sépare la reconstitution des faits de l'évaluation individuelle, ça n'efface pas le problème. Nommer une personne dans le récit d'incident casse la confiance.
A well-written alerting rule isn't enough: without grouping or inhibition, a single incident fires dozens of identical notifications for the same cause.
Sans Alertmanager bien configuré, un seul incident déclenche des dizaines de notifications identiques pour la même cause, une tempête qui noie le vrai signal.
Un Collector par nœud limite la collecte au strict local. Le tail-sampling qui a besoin de voir une trace complète réclame un second niveau, le gateway.
A per-node Collector limits collection to what's strictly local. Tail-sampling, which needs a complete trace, requires a second tier: the gateway.
Un Prometheus local garde ses métriques quelques semaines, sur son propre disque. Thanos déporte la rétention vers de l'object storage et unifie plusieurs clusters.
A local Prometheus keeps metrics for a few weeks, on its own disk. Thanos offloads retention to object storage and unifies multiple clusters into one view.
Un label à valeurs non bornées (ID de requête, IP client) multiplie les séries stockées à l'infini. La cardinalité, pas le nombre de métriques, dimensionne Prometheus.
An unbounded label (request ID, client IP) multiplies stored series without limit. Cardinality, not metric count, is what actually sizes Prometheus.
A PodDisruptionBudget never tested is a hypothesis, not a guarantee. Chaos engineering forces the failure under controlled conditions to prove it.
Un PodDisruptionBudget jamais testé est une hypothèse, pas une garantie. Le chaos engineering provoque la panne en conditions contrôlées pour le vérifier.
Le choix entre Prometheus auto-hébergé et une plateforme SaaS n'est pas idéologique. Un calcul de coût total : infrastructure et exploitation contre facturation à l'ingestion.
The choice between self-hosted Prometheus and SaaS observability isn't ideological. A total-cost calculation: infrastructure and operations versus ingestion billing.
Un SLO et un budget d'erreur ne disent pas quand alerter. La méthode burn-rate multi-fenêtres, simplifiée pour une PME, pour agir avant l'épuisement du budget.
A static SLO and error budget don't say when to page. Multi-window burn-rate alerting, simplified for a small team, catches trouble before the budget runs out.
Why internal metrics never see the whole picture, how blackbox_exporter probes HTTP, TLS and certificate expiry, and the network false-positive trap.
Pourquoi les métriques internes ne suffisent jamais, comment blackbox_exporter sonde HTTP, TLS et expiration de certificats, et le piège du faux positif réseau.
Pourquoi Loki n'indexe pas le contenu des logs, ce que ça change pour le coût de stockage et LogQL, et les pièges de cardinalité qui annulent l'économie.
Why Loki doesn't index log content, what that means for storage cost and LogQL, and the label cardinality traps that undo the savings.
Why distributed tracing beats metrics and logs alone on a request crossing ten services, how context propagates, and the sampling trap.
Pourquoi le tracing complète métriques et logs sur une requête qui traverse dix services, comment le contexte se propage, et le piège du sampling.
Why symptom-based Prometheus alerts beat cause-based ones, how the for clause and severity labels cut noise, plus a bad rule rewritten into a good one.
Pourquoi alerter sur les symptômes et non les causes, comment régler la clause for et le label severity, et une mauvaise règle Prometheus réécrite proprement.
Pourquoi la plupart des dashboards Grafana ne servent à rien en plein incident, et comment les méthodes RED et USE structurent ce qu'on consulte sous pression.
Why most Grafana dashboards are useless mid-incident, and how the RED and USE methods give you a structure people actually consult under pressure.
Golden signals, méthode RED et histogramme plutôt que summary pour la latence : comment instrumenter une application Prometheus, avec les requêtes PromQL.
Golden signals and the RED method: why latency uses a histogram, not a summary, when instrumenting an app for Prometheus, with matching PromQL queries.