Smart Alerting
≥ 10 ERROR events in 60s→ops@company.com
≥ 50 WARN events in 300s→#alerts
≥ 3 ERROR events in 60s→oncall@company.com
≥ 20 ERROR events in 120s→#api-team
28 ERROR events in last 60s — threshold was 3
email → oncall@company.com·✓ delivered
14 ERROR events in last 60s — threshold was 10 (db pool exhausted)
slack → #incidents·✓ delivered
67 WARN events in last 5m — threshold was 50 (jwt clock skew)
slack → #alerts·✓ delivered
Built for on-call sanity
Email & Slack channels
Route any rule to email addresses or Slack webhooks. Different rules can go to different channels — ops, oncall, frontend, whatever fits your team.
Threshold-based triggers
Fire only when N events of a given level happen within a time window. No more pages for transient blips.
Configurable time windows
60 seconds for critical paths, 5 minutes for warnings, 1 hour for trends. You set what matters.
Per-service granularity
Scope alerts to specific services with one filter. Stop the auth-service spam from drowning out your payments alerts.
Auto-deduplication
Once an alert fires, it won't fire again for the same pattern in the same window. Quiet inboxes, signal-rich pages.
Audit trail
Every fired alert is logged with timestamp, payload, and delivery status. Replay history during postmortems.