A false alarm at 3 a.m. is the fastest way to burn out an on-call team. Here is how Observe turns noisy alerts into actionable signals with tiering, suppression, silence windows and on-call rotation.
The most common way an alerting system fails is not staying silent — it is going off too much. A momentary CPU spike, or a network timeout that recovers on its own, can trigger an alert and wake someone at 3 a.m. Over time the person on call becomes numb to alerts, mutes the notifications, then mutes the whole system, and the real incident drowns in a sea of noise.
The fix is to make every alert actionable: when it fires, the person on call should know exactly what to do, not wonder whether it is a false positive.
Observe ships three alert levels out of the box:
A threshold rule looks like this:
alert:
name: order-service-error-rate
level: P0
metric: http_error_rate
condition: '> 0.05'
duration: 5m
notify: [phone, sms, wecom]
The duration: 5m matters a lot: the metric has to stay above the threshold for five consecutive minutes before the alert fires, so a transient spike never pages you.
Consider a real case. An e-commerce team sets a P0 rule on the order endpoint with a 5% threshold and a 5-minute duration. At 2 a.m. a burst of payment-callback retries pushes the error rate to 6%, but it falls back within three minutes — the duration window keeps that blip from paging anyone. The alert that actually fires comes the next morning, when the error rate sits at 8%, and the on-call engineer jumps in before it turns into daytime customer complaints.
Two mechanisms filter out most of the noise:
A good alert does not just fire — it walks you to recovery. Observe ties every alert to its context: the metric curve at trigger time, the related error logs, and the traces from the same window. When the on-call engineer opens an alert, there is no hopping between three dashboards hunting for clues.
Together with acknowledgement, reassignment, comments and resolution states, the full lifecycle of an incident is recorded from detection to closure. In a postmortem you can replay by alert: how many fired, how long each took to acknowledge, and what the root cause turned out to be.
A flat "CPU above 80%" rule fires on every healthy traffic peak. Two adjustments help. First, use duration windows so only sustained conditions page. Second, prefer ratios and error rates over raw counters — a 5% error rate means something whether you serve ten requests a second or ten thousand. For metrics with daily or weekly seasonality such as batch jobs or payday traffic, switch to anomaly detection that compares against the same time last week instead of a fixed number.
The goal of alerting is not that everything fires — it is that everything that fires deserves a look.