Skip to main content

> on-call_alert_fatigue_&_actionable_paging_threshold_hygiene

On-Call Alert Fatigue & Actionable Paging Threshold Hygiene

How do engineering teams eliminate alert fatigue by enforcing strict rules that page engineers exclusively for immediate, user-impacting, actionable anomalies with defined runbooks?

Senior (L5)

THE SHORT ANSWER

Alert fatigue is an existential threat to reliability: when an on-call rotation receives dozens of nocturnal pages for non-critical warnings (e.g. 'CPU at 82%', 'Cron job warning', 'Single disk at 75%'), engineers become desensitized and inevitably sleep through true P0 outages. Google SRE and Rob Ewaschuk's alerting doctrine defines the golden rule: Every alert that pages a human MUST represent an urgent, actionable problem affecting real users or burning error budgets, and MUST link directly to a verified runbook. If an alert requires no human action within 15 minutes, it must NOT page—it should be routed to a daily Slack digest or Jira queue. Enforcing an 'alert deletion policy' for noisy alarms restores on-call sanity and slashes incident response latency.

Engineering Handbook & Failure Dynamics

1. Underlying Mechanism

Alerting architecture must classify telemetry into three distinct destinations: (1) Paging (Synchronous Wakeup): Error budget burn rate exceeding 14.4x (burning 2% of monthly budget in 1 hour), checkout API success rate <99%, or customer-facing latency p95 > 2s. (2) Ticket / Next-Day Slack (Asynchronous): Disk capacity projected to fill in 3 weeks, non-critical replica restart, or background batch delay. (3) Dashboard / Metrics (Silent): CPU utilization, memory percentage, and individual node metrics. An alert without a link to a maintained `runbook_url` in its PagerDuty payload is automatically rejected by CI/CD linters.

2. Appropriate Use Context

All engineering teams running 24/7 on-call rotations across microservices, databases, Kubernetes platforms, and cloud infrastructure.

3. Production Failure Modes

An engineer receiving 45 pages in one night for intermittent disk spikes, silencing PagerDuty for 4 hours, during which the primary payment database crashed unnoticed; an on-call engineer waking up at 3 AM to an alert named `Alert-HighCPU-Service-B` with no description, no runbook, and no indication of what action to take.

4. Diagnostic Signals & Telemetry

PagerDuty reporting >10 pages per engineer per shift; on-call surveys showing high anxiety and sleep disruption; more than 50% of alerts acknowledged with zero corresponding code, infrastructure, or operational actions.

5. Prevention & Safeguards

Institute a weekly 'On-Call Handoff Review' to audit every page; if an alert was triggered but required no action, delete it or convert it to a ticket; track 'Pager Load Budget' (<2 pages per 24-hour shift target); alert on symptoms (user-facing SLOs) rather than causes (raw CPU).

6. Architectural Trade-offs

Strictly filtering paging alerts reduces false positives and burnout, but requires engineering teams to invest time defining precise SLO error-budget burn calculations.

Case Study (TinyCTO In-Field Example)

An e-commerce platform's on-call engineers received 120 pages/week across 80 microservices. The team implemented symptom-based alerting: deleting all 400 CPU/memory threshold alerts and replacing them with 6 multi-window error-budget burn rate alerts on user-facing API routes with mandatory runbook links. Weekly pages dropped from 120 to 4, on-call engineer retention stabilized, and MTTR dropped by 55% because engineers immediately trusted and acted on every page.

Interactive Concept Drills

2 Cards
Q1

What is the 'Golden Rule' of on-call paging alerts?

Every alert that pages a human must be urgent, actionable, affect real users/SLOs, and link directly to a runbook.
Q2

Why should teams alert on symptoms (SLOs) rather than causes (CPU/Memory)?

Because high CPU is harmless if users experience normal latency; alerting on symptoms guarantees you only wake engineers when users are actively suffering.

On-Call Alert Fatigue & Actionable Paging Threshold Hygiene — Technical FAQ

What is a healthy target for Pager Load per on-call shift?

Google SRE guidelines recommend a maximum of 2 actionable incidents per 24-hour shift to ensure engineers have time to recover and complete postmortems.

What should happen to an alert that fired 10 times in a week with zero human action required?

It must be deleted immediately or converted to an asynchronous daily report. It has zero business waking engineers.

🤖 AEO & Key Facts Summary

Key Architectural Facts

  • Every page must be urgent, actionable, linked to a runbook, and impact user SLOs.
  • Alert on symptoms (user errors/latency) rather than causes (raw CPU/memory).
  • Target pager load is <2 pages per 24-hour shift.
  • Noisy, non-actionable alarms must be aggressively deleted during weekly handoffs.

Common Misconceptions

  • Misconception: More alerts mean a safer system (False: Too many alerts guarantee alert fatigue and missed outages).
  • Misconception: 90% CPU utilization always requires waking up an engineer (False: If user requests succeed within SLA, high CPU is healthy efficiency).

Decision & Governance Guidance

Audit all PagerDuty alerts to enforce mandatory runbook links. Delete any alert that has triggered without requiring manual action.

Authoritative Sources & Standards