Skip to content
tezvyn:
Menu

Symptom-based vs cause-based alerting

Source: interviewHardHow cards are made

Summary

Alerting philosophy and pager hygiene.

Key points

Symptom alerts fire on user-visible impact, cause alerts on internal conditions; page on symptoms to cut noise and catch unforeseen failures.

WHAT THIS TESTS This evaluates whether you can design an alerting policy that minimizes pager noise while reliably catching real user impact, a core SRE skill.

A GOOD ANSWER COVERS Symptom-based alerts trigger on observable user-facing effects: the error rate users experience is high, latency exceeds an SLO, or successful request ratio drops. Cause-based alerts trigger on internal conditions believed to lead to problems: a database replica is down, CPU is saturated, a queue is backing up. The SRE preference is to page humans only on symptoms, because symptoms map directly to whether your service is meeting its SLO and to actual customer pain. Crucially, symptom alerts catch failure modes you never anticipated, since any cause that degrades the user experience surfaces as a symptom, whereas cause alerts only fire for failure modes you predicted and instrumented. Cause signals are still valuable, but they belong on dashboards and as diagnostic context, not as urgent pages.

COMMON WRONG ANSWERS Wanting to page on every internal cause, which floods on-call with alerts that may not affect users, breeds fatigue, and trains people to ignore the pager. Another error is having no cause signals at all, leaving you unable to diagnose once a symptom fires.

LIKELY FOLLOW-UPS How do you avoid a symptom alert that is too coarse to act on? How do error budgets relate to alert thresholds? When is a cause alert worth paging on, such as imminent disk exhaustion? How do you tune for multi-window multi-burn-rate alerting?

ONE CONCRETE EXAMPLE Imagine a redundant three-node cache. A cause alert paging when any single node dies wakes someone even though the cache still serves traffic fine, a non-event. Replace it with a symptom alert: page only when the user-facing error rate or p99 latency breaches the SLO. Now if two nodes fail and users actually suffer, the page fires; if redundancy absorbs a single failure, no one is woken. The node-down condition stays as a dashboard panel and a ticket, giving the engineer the cause once a genuine symptom has paged them.

Interview question

Beyond reducing noise, what is the strongest argument for paging on symptoms rather than internal causes?

  • a.Cause alerts cannot be displayed on dashboards
  • b.Symptom alerts are cheaper to compute than cause alerts
  • c.Symptom alerts never require diagnostic follow-up
  • d.Symptom alerts catch unanticipated failure modes because any cause that hurts users surfaces as a symptomCorrect
Why?

Symptom alerts fire for any failure that degrades the user experience, including modes you never predicted, while cause alerts only cover anticipated conditions. Cost is minor, cause signals still belong on dashboards, and symptoms still need diagnosis.

Just read this? Test yourself on what you have been reading.

Read the original → sre.google

Put your scrolling time to good use

Learn one idea, try a quiz and save useful cards for revision. Tezvyn makes it easy to learn and stay current in your tech field, a few minutes at a time.

The iPhone app is on the way

We are building it. Until it lands, nothing here is held back from you: every interview card, your saved cards, streaks and the job board all work in Safari, plus hundreds of free practice quizzes of thirty questions each. Sign in and it all carries over to the app the day it arrives.

Want it as an icon? Tap Share at the bottom of Safari, then Add to Home Screen. It opens full screen and the cards you have read stay available offline.

Get it on Google PlayiPhone app coming soon

We are hiring for this. Every open role lists the topics its interview covers, so you can prepare for the real thing rather than guessing.

See open roles