The Real Cost of Noisy Alerts
Alert fatigue isn't just an annoyance β it trains engineers to ignore pages. When every brief network hiccup or momentary timeout fires a PagerDuty notification at 2 AM, on-call rotations start muting channels, delaying acknowledgements, and eventually missing the alerts that actually matter.
The fix isn't to raise thresholds so high that real incidents slip through. It's to make your alerting system smarter about when and how often it fires.
What Is Flap Damping?
Flapping happens when a check oscillates rapidly between passing and failing states β up, down, up, down β often within seconds or minutes. Each transition can trigger a notification if your monitoring system treats every state change as actionable.
Flap damping (borrowed from BGP routing, where it's been used for decades) suppresses notifications when a check is changing state too frequently. Instead of alerting on the first failure, the system waits to see if the failure persists before paging anyone.
The core idea: a brief, self-resolving failure is usually not worth waking someone up for. A failure that lasts five minutes almost always is.
Smart Threshold Strategies
Consecutive-failure thresholds
The simplest form of damping is requiring N consecutive failures before firing an alert. Most monitoring tools expose this as a setting.
- 1 failure: Maximum sensitivity, maximum noise.
- 2β3 consecutive failures: A reasonable default for most HTTP checks with 30β60 second intervals. A single flap is ignored; a genuine outage triggers within 1β3 minutes.
- 5+ failures: Appropriate only for checks where brief interruptions are expected (e.g., a service that restarts on deploy).
Choose your threshold based on your check interval and your acceptable detection latency. If your interval is 60 seconds and you require 3 failures, your worst-case detection time is 3 minutes β usually acceptable.
Percentage-based thresholds over a window
Consecutive counts can be fooled by alternating pass/fail patterns. A more robust approach: alert when the failure rate exceeds a threshold over a rolling time window.
Example rule: Alert if more than 50% of checks in the last 5 minutes have failed.
This handles noisy environments better because a single passing check doesn't reset your counter.
Multi-location confirmation
One underappreciated technique is requiring failures from multiple monitoring locations before alerting. A single probe failing from one region often indicates a network path issue between the probe and your server β not an actual outage affecting users.
If checks from three geographically distributed locations all report failures simultaneously, the probability that it's a real incident (not a local network blip) is much higher. This is one of the concrete operational benefits of running uptime checks from multiple regions: you get corroborating evidence before a page fires.
Implementing Flap Damping Step by Step
- Audit your current alert volume. Count pages per week, and tag each one as actionable or noise after the fact. If more than 20β30% are noise, you have a tuning problem.
- Set a consecutive-failure threshold. Start with 2 for critical services, 3 for non-critical. Adjust after two weeks of observation.
- Add a recovery delay. Don't resolve alerts the instant a check passes β require 1β2 consecutive successes first. This prevents alert storms from yo-yoing services.
- Separate notification channels by severity. Immediate page for confirmed multi-region failures; Slack message for single-region or single-failure events. This alone dramatically reduces wake-ups.
- Review and adjust monthly. Thresholds that made sense at launch may not fit after traffic patterns change. Treat alert tuning as ongoing maintenance.
What Not to Do
- Don't suppress all alerts during deployments by default. You'll miss real regressions. Instead, use short maintenance windows with automatic expiry.
- Don't set thresholds so high that you delay incident detection by 10+ minutes. Match your SLO objectives β if your availability target is 99.9%, a 10-minute blind spot is a significant fraction of your monthly error budget.
- Don't conflate flap damping with ignoring alerts. The goal is to page on confirmed failures, not to avoid accountability.
Key Takeaways
- Require 2β3 consecutive failures before alerting; don't fire on the first blip.
- Combine consecutive-failure counts with a recovery delay to avoid yo-yo notifications.
- Use multi-region monitoring to confirm failures before paging β a single probe's failure is weak evidence.
- Separate noisy low-confidence alerts (Slack) from high-confidence alerts (pager) by default.
- Audit your alert-to-noise ratio regularly and treat threshold tuning as maintenance, not a one-time setup.