Observability & Operations

Alerting & On-Call

An alert should fire only when a human needs to act right now — every alert that does not meet that bar trains the on-call engineer to ignore alerts, which is how real incidents get missed.
  • Alert on symptoms (user-facing latency or error rate breaching an SLO) rather than causes (CPU at 80%) — causes change constantly and do not always mean users are affected
  • Every page should be actionable: if there is nothing a human can do about it right now, it belongs on a dashboard, not in a page
  • Alert fatigue is a real failure mode — a system that pages constantly for non-issues trains engineers to acknowledge-and-ignore, which is exactly when a real incident slips through
  • Multi-window, multi-burn-rate alerting (a fast burn over a short window plus a slow burn over a long window) catches both sudden and slow-building SLO violations without paging on every brief blip
  • On-call rotation design — length, handoff process, escalation policy — is itself a system that needs designing; an unsustainable rotation causes burnout and worse incident response, not better
  • Runbooks attached to alerts turn a 3am page into a 10-minute fix instead of a 45-minute cold investigation
From burn-rate breach to resolution
Symptom-based vs cause-based alerting
Symptom-basedCause-based
Fires onuser-facing SLO breachinternal metric crossing a threshold
False positive ratelower — tied to actual impacthigher — many causes never affect users
Actionabilityusually yesoften "wait and see"
Sources
  • Site Reliability Engineering: How Google Runs Production SystemsCh. — Practical Alerting from Time-Series Data