Prévention de la surabondance d'alerts
1) Problème et objectif
Alert fatigue se produit lorsque le système de shlets est trop de notifications non pertinentes ou non activables. Le résultat est l'ignorance des pagaies, la croissance de MTTA/MTR et l'omission de vrais incidents.
Objectif : rendre les signaux rares, significatifs et exécutables en les liant aux SLO et aux pleybuks.
2) Taxonomie des signaux (canal = conséquences)
Page (P0/P1) : Réveille une personne ; seulement quand une action manuelle est nécessaire maintenant et il ya un runbook.
Ticket (P2) - travail asynchrone en heures/jour ; ne se réveille pas, mais suit la SLA.
Dash-only (P3) - observation/tendance sans action active ; ne fait pas de bruit.
Silent Sentry - métriques/audit en arrière-plan (pour RCA/post-mortem).
3) Concevoir l'alerte « correcte »
Chaque alert est tenu d'avoir :- Objectif/hypothèse (que nous défendons : SLO, sécurité, argent, conformité).
- Conditions de déclenchement (seuil, fenêtre, quorum des sources).
- Runbook/Playbook (bref ID d'étape + lien).
- Propriétaire (équipe/groupe de rôle).
- Critères d'achèvement (quand fermer, auto-résolve).
- Classe de vulnérabilité (user-impact/platform/security/cost).
4) Surveillance orientée SLO
SLI/SLO → signaux primaires : disponibilité, latence, succès des opérations commerciales.
Burn-rate alertes : deux fenêtres (courte + longue), par exemple :- Court : 5 % du budget en 1 heure → Page.
- Long : 2 % du budget en 6 heures → Ticket.
- Cohorte : alertes par région/fournisseur/segment VIP - moins de fausses alarmes mondiales.
5) Techniques de réduction du bruit
1. Quorum des sondes : déclenchement seulement si l' ≥2 d'une source indépendante (différentes régions/fournisseurs) confirme le problème.
2. Déduplication : regroupement des mêmes événements (clés d'aggregation : service + région + code).
3. Hystérésis/durée : « en zone rouge ≥ N minutes » pour filtrer les pointes.
4. Taux-limite : pas plus de X alertes/heure/service ; en cas de dépassement, une page + résumé.
5. Auto-snooze/suppression intelligente : alert répétitif dans la fenêtre T → la traduction dans Ticket avant d'éliminer la racine.
6. Corrélation des événements : un « maître-alert » au lieu de dizaines de symptômes (par exemple, « OBD n'est pas disponible » brouillé 5xx des microservices).
7. Fenêtre de maintenance : les travaux planifiés délivrent automatiquement les signaux attendus.
8. Anomaly + guardrails : anomalies - seulement comme Ticket s'il n'y a pas de confirmation par le signal SLO.
6) Routage et priorités
Priorités : P0 (Page, 15 min update), P1 (Page, 30 min), P2 (Ticket, 4-8 h), P3 (observation).
Routage par raccourcis : service/bou/region/tenant → correspondant à l'appel.
Escalade temporelle : pas d'ack en 5 min → P2 → Duty Manager/IC.
Quiet Hours : heures de nuit pour les non-critiques ; La page est interdite aux P2/P3.
Fatigue-politique : si l'ingénieur> N pages/poste est redistribué en P2, escalade de la pollution des signaux.
7) Qualité des alerts : arrangements
Actionability ≥ 80 %: la grande majorité des pagaies mènent à l'action sur le runbook.
False Positive ≤ 5 % pour les signaux Page.
Time-to-Fix-Alert ≤ 7 jours - alert défectueux doit être corrigé/enlevé.
100 % - chaque alert a un propriétaire et un référentiel avec sa définition.
8) Cycle de vie de l'alerte (Alert as Code)
1. Créer un PR (description de l'objectif, conditions, runbook, propriétaire, plan d'essai).
2. Sandbox/Shadow : shadow-alert écrit dans le chat/log, mais pas la pagite.
3. Canaris : public limité on-call, nous mesurons FP/TP.
4. Prod : inclusion avec rate-limit + observation 2-4 semaines.
5. Revue hebdomadaire : métriques de qualité, modifications/retraits.
6. Deprecate : si le signal est dupliqué plus élevé ou non-activable.
9) Métriques de maturité (montrer sur le dashboard)
Alerts per on-call hour (médiane/95-percentile).
% activable (il y a des étapes exécutées) et faux-taux positif.
MTTA/MTR autour de la pagaie et la proportion de page→ticket (ne doit pas être élevée).
Top-talkers (services/règles générant ≥20 % de bruit).
Mean time to fix alert (du premier FP au changement de règle).
Burn-rate coverage : part des services avec des alertes SLO à deux fenêtres.
10) Chèque « Hygiène des alerts »
- Alert est lié à SLO/SLI ou à Business/Security.
- Il y a un runbook et un propriétaire ; le contact et le canal war-room sont indiqués.
- Deux fenêtres (courte/longue) et le quorum des sources sont configurés.
- Inclus : dedup, rate-limit, auto-resolve et auto-snooze.
- La maintenance des fenêtres et la suppression sont indiquées lors des sorties/migrations.
- Passé par Shadow/Canary ; mesuré par FP/TP.
- Un rapport sur les mesures de la qualité des alerts est inclus.
11) Mini-modèles
Spécification d'alerte (YAML-idée)
yaml id: payments-slo-burn severity: P1 owner: team-payments@sre purpose: "Защитить SLO успеха платежей"
signal:
type: burn_rate sli: payment_success_ratio windows:
short: {duration: 1h, threshold: 5%}
long: {duration: 6h, threshold: 2%}
confirmations:
quorum:
- synthetic_probe: eu,us
- rum: conversion_funnel routing:
page: oncall-payments escalate_after: 5m controls:
dedup_key: "service=payments,region={{region}}"
rate_limit: "1/10m"
auto_snooze_after: "3 pages/1h"
runbook: "rb://payments/slo-burn"
maintenance:
suppress_when: [ "release:payments", "db_migration" ]
Texte d'update standard (pour réduire le bruit)
Импакт: падение success_ratio платежей в EU (-3.2% к SLO, 20 мин).
Диагностика: подтвержден кворумом (EU+US синтетика), RUM — рост отказов на 2 шаге.
Действия: переключили 30% трафика на PSP-B, включили degrade-UX, след. апдейт 20:30.
12) Processus : Hebdomadaire « Alert Review »
Ordre du jour (30-45 min) :1. Les règles les plus bruyantes (top-talkers) sont → gouvernées/supprimées.
2. FP/TP par signaux de page, → corrigeons les seuils/fenêtres/quorum.
3. Candidats à la rétrogradation du canal (Page→Ticket) et vice versa.
4. Statut « Time-to-Fix-Alert » - les retards de paiement sont aggravés par les propriétaires de services.
5. Vérifie le coverage SLO-alerts et la présence de runbook's.
13) Lien avec les sorties et les opérations
Les annotations de version ajoutent automatiquement des suppressions temporaires.
Changez Windows : dans les 30 premières minutes après la sortie - seulement les signaux SLO.
Les playbooks contiennent une étape de « réduire/supprimer les alerts non cubes » pour se concentrer sur la racine.
14) Sécurité et conformité
Signaux de sécurité (piratage/fuite/accès anormal) - canaux séparés, pas de quiet hours.
Audit-journal de toutes les suppressions/fenêtres silencieuses : qui, quand, pourquoi, le délai.
Exigence d'inaltérabilité pour les alarmes critiques (signature de l'événement).
15) Anti-modèles
« Chaque graphique = alert » → avalanche.
Seuil « ! = 0 erreur » dans la vente.
Une sonde/une région comme source de vérité.
Page sans runbook/propriétaire.
Des « suppressions temporaires » éternelles sans délai.
« Réparons ensuite » les alertes défectueuses - creusent pendant des années.
Mélanger le bruit de sortie avec les incidents de production.
16) Feuille de route pour la mise en œuvre (4-6 semaines)
1. Inventaire : décharger toutes les alertes, mettre les propriétaires et les canaux.
2. SLO-noyau : entrez des règles burn-rate avec des fenêtres doubles sur les services critiques.
3. Contrôle du bruit : activer le quorum, le dedup et le rate-limit, lancer une revue hebdomadaire.
4. Runbook-couverture : Fermer 100 % des signaux de page avec du pleybuck.
5. Fatig Politics : limites de pagaie/quart de travail, Quiet Hours, redistribution de la charge.
6. Automatisation : Alert-as-Code, Shadow/Canary, rapports sur les métriques de qualité.
17) Résultat
Le silence n'est pas une absence de surveillance, mais des signaux qualitativement conçus liés aux SLO et aux processus. Le quorum, les fenêtres doubles, le dédoublement et le routage rigoureux transforment les alertes en alertes rares, précises et exécutables. L'équipe est endormie, les utilisateurs sont satisfaits, les incidents sont sous contrôle.