Alerting That Doesn't Cry Wolf
Thresholds, alert fatigue, and the difference between something worth paging a human for and something that can wait.
On this page5 sections
Metrics and logs are only useful if someone - or something - actually looks at them. Alerting is what turns "the data shows a problem" into "a human was told about the problem."
Symptom-based, not cause-based
The most durable alerting rule: page on symptoms users would notice, not every possible internal cause.
- Cause-based: "disk is at 85%." Maybe fine, maybe not - depends entirely on context.
- Symptom-based: "error rate is above 5% for 5 minutes" or "p99 latency exceeds 2 seconds." This is something a real user is feeling, right now.
A disk slowly filling isn't automatically an emergency. A spike in failed checkouts always is.
Alert fatigue
If an on-call engineer gets paged every night for something that turns out to be fine, they learn - correctly, if irrationally - to tune out pages. The night it's real, that instinct costs you. Every alert that fires and isn't actionable is a small withdrawal from a trust account that's expensive to refill.
The fix isn't fewer metrics - it's fewer pages. Keep collecting everything; only page on what's both severe and something a human can actually do something about right now.
Severity tiers
Not everything deserves the same response:
| Tier | Response |
|---|---|
| Critical | Page someone immediately, any time of day |
| Warning | Visible on a dashboard, reviewed during business hours |
| Info | Logged, no notification at all |
Runbooks
A good alert links straight to a runbook - a short, specific document: "when this fires, check X, then Y; if that doesn't fix it, escalate to Z." The goal is for the first responder, possibly half-asleep at 3 AM, to have a clear next step instead of starting from zero.
Try it
ps aux | grep java
When you're ready, hit Mark complete and move to the next lesson.
Challenge
An alert just fired saying a Java process is eating memory - list every process and filter it down to the ones mentioning java.
Want to experiment first? Try things in the practice terminal (opens in a new tab), then enter the command that solves the task here.
Quiz
Lock in the concepts. Score at least 80% to mark the lesson complete.
Done with this one?
Skipped the challenge? You can mark the lesson complete by hand.