Runbook: Alert flood
Symptom: Dozens or hundreds of incidents are created in minutes. Slack is flooded with new channels. On-call engineers are paged repeatedly.Diagnose
1. Identify the source:received_at descending. Look for:
- All alerts from the same source (Prometheus, Grafana, etc.)
- All alerts with the same
alertnamelabel - All alerts from the same service
- Check that the alert source is sending a consistent
fingerprintorexternal_id - Generic webhook alerts require an
external_idfield for deduplication; without it, every POST creates a new alert
Mitigate
Immediate: suppress the source at the alerting level The fastest mitigation is silencing at the source, not in Regen:- Prometheus Alertmanager: Create a silence via the Alertmanager UI or API
- Grafana: Pause the alert rule in the Grafana UI
- CloudWatch: Disable the alarm in the AWS console
- Go to Settings → Routing Rules
- Add a high-priority rule (low priority number):
match_criteria: target the noisy alert by label or sourceactions:{"suppress": true}
- This stops new incidents being created; existing ones are unaffected
Resolve
- Remove or adjust the suppression routing rule once the source is fixed
- Archive or clean up noise Slack channels (Regen prefixes resolved channels with
[RESOLVED]) - Review deduplication and grouping rules to prevent recurrence — see deduplication docs
Prevention
- Grouping rules: Group alerts from the same service into one incident within a time window
- Routing rules: Suppress low-severity or known-noisy alerts by default; only page on
criticalandwarning - Alert source hygiene: Fix flapping alerts at the source — alerts that resolve and re-fire within seconds indicate a threshold that needs tuning
- Rate limit webhook callers: Regen’s API has rate limiting enabled (
RATE_LIMIT_REQUESTS_PER_MINUTE); tune it to absorb bursts without creating incidents for every single request
