Prometheus Alertmanager

Route Prometheus alerts to phone calls, Telegram and on-call chains

Add a webhook receiver to alertmanager.yml. Grouped alerts collapse into a single WardenPoint incident with one UUID. The escalation chain runs once per group, not per alert.

Config
YAML
Format
Webhook v4
Grouping
By UUID

Anatomy of an Alertmanager push

LIVE
Alertmanager → webhook
grouped firing, severity=critical
WardenPoint
one incident · one chain · multi-channel
Telegram
Voice call
Email

Setup

Add a webhook receiver in alertmanager.yml

Three lines in your existing Alertmanager config wire WardenPoint as a receiver. Reload Alertmanager and you're live.

  1. 1Step 1

    Add a receiver

    Append a webhook_configs entry to alertmanager.yml with the URL from your WardenPoint Integrations page.

    $ receivers: [ name: wardenpoint, … ]
  2. 2Step 2

    Route to it

    Set the top-level route's receiver to wardenpoint, or use a sub-route matcher (severity, team, env) to scope which alerts escalate.

    $ route: { receiver: wardenpoint }
  3. 3Step 3

    Reload Alertmanager

    Send SIGHUP or hit the /-/reload endpoint. Alertmanager picks up the new receiver without a restart.

    $ curl -X POST localhost:9093/-/reload

Wire format

Alertmanager receiver, in YAML

Drop these lines into alertmanager.yml. Grouped alerts collapse server-side; WardenPoint receives one webhook with the grouped context and runs one escalation chain.

alertmanager.yml
alertmanager.ymlYAML
# alertmanager.yml — receiver
receivers:
- name: wardenpoint
webhook_configs:
- url: https://api.wardenpoint.com/hooks/wp_live_…
send_resolved: true
max_alerts: 0
 
route:
group_by: ['alertname', 'cluster']
group_wait: 30s
group_interval: 5m
receiver: wardenpoint
WardenPoint fan-out
WardenPoint response202
{
"status": "queued",
"notification_uuid": "notif_8h2k7yQrxJp",
"channels_planned": [
"telegram_voice",
"voice_call",
"email"
],
"escalation_chain_id": "esc_4j2k9bMcvL"
}

Routing recipes

Three Alertmanager patterns we see most often

Route by labels at the Alertmanager layer first, then let WardenPoint handle the multi-channel fan-out.

Severity

Critical → phone + Telegram

Match severity=critical at the Alertmanager route and forward only those alerts to WardenPoint. Lower severities stay in chat-only channels.

match
severity = critical
→ route
receiver: wardenpoint
Cluster

Cluster-aware routing

Use the cluster label to send each cluster's alerts to a different recipient group with its own on-call rotation.

match
cluster =~ prod-.*
→ route
group: prod_sre
Inhibition

Skip noisy duplicates

Use Alertmanager's inhibit_rules to suppress derivative alerts before they ever reach WardenPoint.

match
alertname = NodeDown
→ route
inhibit: { ServiceDown }

Alertmanager FAQ

Common Prometheus Alertmanager questions

WardenPoint accepts whatever Alertmanager groups server-side. If five alerts ship in one webhook, WardenPoint creates one notification with the grouped labels and runs one escalation chain — not five.
Free plan

Wire a Prometheus receiver before you depend on it

Add three lines to alertmanager.yml, send a test alert with amtool and watch the timeline render in WardenPoint.

  • Webhook v4 contract
  • Grouping preserved
  • Resolve hook respected