Alerts Practical By Samson Tanimawo, PhD Published Apr 7, 2026 4 min read

Prometheus Alertmanager Routing

Alertmanager's tree-based routing. The patterns that work.

The route tree

Alertmanager routes form a tree. The top-level route matches everything; sub-routes match more specific labels and inherit settings from parents. Each route has matchers (label-based filters) and a receiver (where to send the notification); the tree shape is what makes complex routing tractable.

Matchers

Matchers are how routes select alerts. Label equality, label regex, and AND-combined multiple matchers cover most cases; continue: true lets a sub-route match without halting processing, which is what allows an alert to reach multiple receivers.

Receiver types

Receivers are where notifications land. PagerDuty, Slack, email, webhook each have their own configuration block; receivers can compose so a single named receiver fires to PagerDuty and Slack together; inhibition rules suppress lower-priority alerts when higher-priority ones are firing.

Grouping

Grouping reduces alert spam during incidents. group_by labels combine alerts with matching values into one notification; group_wait sets how long to wait for additional alerts before sending; group_interval sets the cadence of updates for an existing group.

Operating the routing

Operating Alertmanager routing well is a discipline. amtool routes test verifies sample alerts route correctly; per-route delivery rate metrics surface underused or overused routes; configuration lives in git and deploys via CI so UI access stays read-only and changes go through review.