Route alerts. Reduce the noise.

Group related alerts on a key you choose, filter out duplicates, and notify the team responsible. A group closes itself once the signal it came from has recovered.

Alerts received241
Groups after dedup6
Pages sent1
Deploy 2f91c · prod-critical13:58 → 14:20
241alerts received
6groups after dedup
1page sent
13:5814:0414:1214:20

Turn a burst of alerts into one page

A route sits between a signal crossing its threshold and a notification going out. Here is one burst of 241 alerts, from the first match to auto-resolution.

INC-402 · Checkout latency above SLO
Resolved
14:02:11 → 14:19:44 · 17m 33s
14:02:11
Route matched, alerts grouped
Alerts from three sources share a dedup key and join the group already open for it.
Alert routes
14:02:12
One notification sent
The other 240 alerts attach to the same group rather than becoming 240 notifications.
Paging
14:19:44
Group auto-resolved
The signal stayed healthy for five minutes, so the route closed the group and recorded why.
Alert routes

Build and maintain routing rules

Match on the fields in the alert payload, control how alerts group and how often they can notify, and keep a reviewable history of every change.

Grouping and deduplication

Group on a key you choose from the alert payload, and correct the grouping from the notification itself.

dedup-key
Rate-limit sharding

Give each source its own notification budget so one noisy sender cannot crowd out the rest.

shards
Auto-resolution

Close a group when the underlying signal has been healthy long enough, and record that it happened.

auto-resolve
Conditions on real fields

Match on severity, service, environment, region or any label in the payload.

match
Versioned routes

Every edit is a revision with an author and a diff, so changes can be reviewed later.

revisions
Restore a revision

Roll a route back to an earlier revision in one step.

restore
Alertmanager intake

Point your existing Prometheus alerting rules at a compatible endpoint and route them here.

alertmanager

Test a route before you rely on it.

Send a sample payload through a route and see which conditions matched, which group it joined, and who would have been notified — without sending anything.

  • Dry-run any payload. Paste a real alert body and watch the match happen field by field.
  • See the group it joins. Including whether it would have been suppressed as a duplicate.
  • See who it would wake. Resolved against the live rota, at the hour you choose to test.
  • Silence with an expiry. Maintenance windows end on their own, so nothing stays muted by accident.
Route test · prod-critical rev 4dry run
severity = criticalpayload.labels.severity → "critical"match
env = productionpayload.labels.env → "production"match
service in payments, checkoutpayload.labels.service → "checkout"match
Group key: service + alertnamejoins open group g-8841 (2 alerts)dedup
Would page Priya RamanL1 on payments, Tue 14:02 CETpage

Quiet down your alerts.

Point your alert sources at a route, choose how they group, and decide who gets notified. Start on the free plan with no card.