Cloud alerting and on-call: thresholds, noise reduction and runbooks
In short: Alerts exist to get the right person to act at the right time. Alert on symptoms that affect users or security, set thresholds with duration windows, route by severity and ownership, and attach a runbook to every alert. Review noisy alerts regularly so on-call staff keep trusting the system.
What makes a good alert
An alert interrupts a person, sometimes at three in the morning. It should therefore be actionable (someone needs to do something), urgent enough for the channel used, and clear about what is wrong and where. Anything that fails those tests belongs on a dashboard, in a ticket queue or in a daily report instead.
Choosing what and when to alert
- Alert on symptoms, not every cause. Users notice slow pages and errors, not CPU percentages. "Checkout error rate above 2 percent for 5 minutes" is more meaningful than "CPU above 80 percent".
- Use duration windows. Requiring a condition to last several minutes avoids paging for brief spikes.
- Use service level objectives (SLOs). If the target is 99.9 percent successful requests over 30 days, alert when the error budget is burning too fast, rather than on every error.
- Use anomaly detection carefully. Cloud services offer it for metrics with daily patterns, but test it before trusting it with pages.
- Security alerts follow the same rules: root or break-glass sign-in, logging disabled, new admin role assignments and public exposure of sensitive data are high-value, low-volume alerts.
| Severity | Meaning | Channel |
|---|---|---|
| Critical (P1) | Users or data affected now | Page on-call immediately |
| High (P2) | Likely to cause impact soon | Page during working hours, or chat with escalation |
| Medium (P3) | Needs fixing, not urgent | Ticket for the owning team |
| Info | Useful context | Dashboard or report only |
Reducing noise
Alert fatigue happens when people see so many alerts that they start ignoring them, and real incidents slip through. Practical fixes:
- Deduplicate and group related alerts, so a failed region produces one incident, not 400 messages.
- Suppress dependent alerts during known outages and planned maintenance windows.
- Delete or downgrade any alert that nobody acted on in the last month.
- Track numbers: pages per on-call shift, out-of-hours pages, and how many were actionable.
Runbooks and on-call
A runbook is a short guide linked from the alert. It explains what the alert means, how to confirm impact, first steps to mitigate, who to escalate to and how to roll back. Keep runbooks next to the code or in a shared wiki and update them after incidents.
- Give every alert an owning team and a runbook link.
- Use an on-call tool for schedules, escalation and acknowledgement.
- Keep rotas fair, with handovers and enough people to rest.
- After incidents, hold blameless reviews and fix the alert rules too.
Tip: try a budget alert in your own cloud account as a first, low-risk example; see the budget alerts lab.
Practice
Why is "CPU above 80 percent" often a poor paging alert?
What is alert fatigue and why is it dangerous?
What should a runbook contain?
Key takeaways
- Every alert must be actionable, urgent enough for its channel and clear.
- Alert on user-facing symptoms and SLO burn, with duration windows.
- Route by severity and ownership; tickets for non-urgent issues.
- Fight alert fatigue by grouping, suppressing and pruning.
- Link a runbook to every alert and review after incidents.
Original content written by Mohamed Fayas for FM TecHub. © 2026 FM TecHub. You're welcome to share a link to this page; please don't copy the text elsewhere without permission.