← Home ← Codex ← DEBT ← Engine
Browse by Category
+ added · updated 7d
← Back to glossary

Alert Fatigue

Observability Intermediate
debt(d8/e7/b7/t6)
d8 Detectability Operational debt — how invisible misuse is to your safety net

Closest to 'silent in production until users hit it' (d9), -1. Tools like PagerDuty, Datadog, and Grafana can surface metrics like alert volume and silence rates, but detection is explicitly marked as 'automated: no'. The code_pattern describes behavioral signals (alerts silenced without action, high noise-to-signal ratio) that require deliberate human audit to notice. There's no automated tool that flags 'you have alert fatigue' — it manifests as on-call engineers ignoring pages until a real incident is missed. Scoring d8 because monitoring platforms can at least surface the raw data (alert counts, acknowledgment rates) even if they don't flag the problem automatically.

e7 Effort Remediation debt — work required to fix once spotted

Closest to 'cross-cutting refactor across the codebase' (e7). The quick_fix says 'audit your alerts monthly' which sounds simple, but the common_mistakes reveal the real scope: pruning stale alerts, rewriting threshold-based alerts to symptom-based ones, adding runbooks, separating critical from informational channels — this touches monitoring configs, runbooks, on-call processes, and team culture across the entire system. It's not architectural rework (e9) but it's clearly cross-cutting effort spanning infrastructure, application code, and organizational processes.

b7 Burden Structural debt — long-term weight of choosing wrong

Closest to 'strong gravitational pull' (b7). Alert fatigue is a cultural and structural problem that shapes how teams respond to incidents. It applies across web and CLI contexts, and the tags (observability, devops, monitoring, culture) indicate it's cross-cutting. Once alert fatigue sets in, it degrades the entire monitoring investment — every new alert added risks making it worse, and every incident response is shaped by the team's relationship with the alerting system. It doesn't quite define the system's shape (b9) but it exerts strong gravitational pull on operational practices.

t6 Trap Cognitive debt — how counter-intuitive correct behaviour is

Closest to 'notable trap' (t5), +1. The misconception is explicit: 'More alerts means better monitoring coverage.' This is a genuinely common and intuitive wrong belief — developers naturally equate more coverage with better safety. However, it's not as severe as t7 (contradicts similar concepts elsewhere) since experienced ops engineers do learn this lesson, and the concept of signal-to-noise is broadly understood. The +1 is because the trap is insidious: the damage from acting on the misconception is gradual and the feedback loop is delayed, making it harder to recognize than a typical documented gotcha.

About DEBT scoring →

Also Known As

alarm fatigue alert noise pager fatigue

TL;DR

When alerts fire so frequently or for such trivial reasons that on-call engineers begin ignoring them — the most dangerous state for a production monitoring system.

Explanation

Alert fatigue occurs when noise overwhelms signal: too many non-actionable alerts, alerts for things that resolve themselves, alerts at inappropriate severity, or alerts with no clear remediation steps. The consequence: real alerts are missed or dismissed. Remediation: audit all alerts for actionability (is there anything a human should do?), eliminate or downgrade non-actionable alerts, use multi-condition alerts (error rate AND high latency, not just error rate), and add runbook links to every alert. Alert on symptoms (user-facing impact) not causes (CPU spike).

Common Misconception

More alerts means better monitoring coverage — more alerts means more noise; a well-designed alert system pages humans only when human action is required.

Why It Matters

An on-call engineer who receives 50 alerts overnight and ignores them all will also ignore the one real incident — alert fatigue kills the value of the entire monitoring investment.

Common Mistakes

  • Alerting on every 5xx response — alert on error rate above threshold, not individual errors.
  • CPU threshold alerts that don't correlate with user impact — alert on latency or error rate instead.
  • Alerts with no runbook — 2am page for an alert nobody knows how to respond to.
  • Never reviewing and pruning stale alerts — monitoring debt accumulates just like code debt.

Avoid When

  • Do not alert on every transient spike — short bursts that self-resolve train engineers to ignore alerts.
  • Avoid creating alerts without a defined runbook action; an alert with no clear response step adds noise.
  • Do not duplicate alerts across multiple channels for the same event — multiple pages for one incident multiply fatigue.

When To Use

  • Alert on user-facing symptoms (error rate, latency, availability) rather than internal resource metrics.
  • Set alert thresholds that require a human decision — if the response is scripted, automate it instead of paging.
  • Use separate channels: critical page-worthy alerts vs informational ones that appear in a dashboard only.

Code Examples

💡 Note
The bad config pages on-call for any single 500 or 70% CPU spike; the good config only triggers on sustained user-visible impact with a defined minimum severity window.
✗ Vulnerable
# Alert configuration causing fatigue:
# Alert: any 500 error → page on-call
# Alert: CPU > 70% for 1 minute → page on-call
# Alert: memory > 80% → page on-call
# Alert: any slow query > 100ms → page on-call
# Alert: disk > 85% → page on-call
# Result: 40 pages per night, all noise
# Real incident at 3am: ignored like the previous 39
✓ Fixed
# Alert on user-facing symptoms with thresholds:
# CRITICAL (page): error rate > 1% for 5min → user impact, human needed
# CRITICAL (page): p99 latency > 3s for 5min → user impact
# WARNING (Slack): error rate 0.1-1% → watch, may self-resolve
# INFO (dashboard only): CPU, memory, disk trends

# Every alert has:
# - Clear title: 'Checkout error rate elevated'
# - Runbook link: 'See runbook/checkout-errors.md'
# - Auto-resolution when metric recovers

Added 16 Mar 2026
Edited 31 Mar 2026
Views 108
Rate this term
No ratings yet
🤖 AI Guestbook educational data only
| |
Last 30 days
0 pings S 1 ping M 1 ping T 2 pings W 0 pings T 0 pings F 0 pings S 0 pings S 1 ping M 0 pings T 0 pings W 0 pings T 0 pings F 1 ping S 0 pings S 0 pings M 2 pings T 1 ping W 0 pings T 0 pings F 0 pings S 1 ping S 2 pings M 0 pings T 1 ping W 1 ping T 0 pings F 1 ping S 0 pings S 0 pings M
No pings yet today
No pings yesterday
Amazonbot 11 PetalBot 10 Scrapy 8 Ahrefs 7 SEMrush 7 Google 6 Perplexity 5 ChatGPT 5 Unknown AI 4 Bing 4 Applebot 2 Meta AI 1 Twitter/X 1 Brave Search 1 Baidu 1
crawler 69 crawler_json 3 pre-tracking 1
🧱 FUNDAMENTALS — new to this? Start with the ground floor.
Alert observability An alert is an automatic notification that tells you something in your system needs attention, like an error spike or a server going down.

You can't stare at dashboards all day, so alerts are how systems tell humans that real trouble is happening. Every production service, from a tiny side project to a bank, relies on alerts to catch problems before users notice.

💡 Every alert should answer: what broke, and what should I do about it right now?

Ask Codex about Alert →
DEV INTEL Tools & Severity
🟠 High ⚙ Fix effort: Medium
⚡ Quick Fix
Audit your alerts monthly — if an alert fires but nobody acts, either fix the underlying issue or remove the alert; every alert should demand an action
📦 Applies To
any web cli
🔗 Prerequisites
🔍 Detection Hints
More than 5 alerts firing per week that get silenced without action; on-call engineers ignoring low-priority alerts; high noise-to-signal ratio
Auto-detectable: ✗ No pagerduty datadog grafana
⚠ Related Problems
🤖 AI Agent
Confidence: Low False Positives: High ✗ Manual fix Fix: Medium Context: File


✓ schema.org compliant