Skip to main content

Alert Routing Rules

Routing rules control what Regen does with an alert after deduplication and grouping. Rules are evaluated in priority order — the first matching rule wins. Configure under Settings → Routing Rules.

Match Criteria

The match_criteria object specifies which alerts a rule applies to. All fields are optional; omitting a field means “match anything”. All specified fields must match (AND logic).

Fields

Label and annotation value matching

Each value in labels and annotations is matched independently: Regex uses Go’s RE2 syntax — no lookaheads or backreferences.

How title and description are derived


Actions


Examples

Suppress noisy disk-space alerts in staging

Drop alerts from the staging namespace that match a disk usage pattern — they fire constantly during CI and are not worth paging anyone.

Escalate any production database error to critical

Alerts from the payments-db service are automatically upgraded to critical severity regardless of what Prometheus reports.

Suppress alerts whose annotation mentions a known maintenance window

Use an annotation regex to catch alerts that already self-describe as expected.

Catch-all: create an incident for everything else

Set a low-priority rule (high priority number) with an empty match_criteria as a fallback.

Evaluation order

Rules are sorted by priority (ascending — lower number = higher priority). The first rule whose match_criteria matches the alert determines the action. Subsequent rules are not evaluated. A catch-all rule (match_criteria: {}) at the end of the list acts as a default.