Integration: Prometheus Alertmanager

Prometheus Alertmanager Phone Call Alerts

Alertmanager has no phone call receiver of its own. Add Edesy OnCall as a webhook_configs receiver and route critical alerts to it: each firing alert opens an incident that calls your team in English or Hindi until someone presses 1, and send_resolved closes it again. Detection and routing stay in your Prometheus setup.

webhook_configs

Receiver type

send_resolved

Closes incidents

Fingerprint

Groups repeats

Free

For 3 monitors

Webhook v4 payload

Repeats grouped by fingerprint

Calls in English or Hindi

Alertmanager integration at a glance

How OnCall reads the webhook payload

ItemEdesy OnCall
Receiverwebhook_configs with url = your alert webhook monitor's URL and send_resolved: true
PayloadAlertmanager webhook (version 4): status, alerts[] with status, labels, annotations and fingerprint
GroupingOne incident per fingerprint; without one, alertname + instance + job
Spoken textannotations.summary, or the alertname label
Incident detailannotations.description, annotations.message or the instance label
Responses202 with the number of alerts accepted; 400 for a payload that isn't JSON or has no alerts; 404 for an unknown URL
Limits120 requests a minute per IP, 1 MB body

Connect Alertmanager to OnCall

One receiver and one route

  1. Step 1 of 5: Create an alert webhook monitor

    In OnCall, add an Alert webhook monitor, attach an escalation policy and copy its URL.

  2. Step 2 of 5: Add the receiver

    Add an edesy-oncall receiver with webhook_configs, the URL and send_resolved: true.

  3. Step 3 of 5: Add a route

    Match your critical alerts (for example severity = "critical") and send them to edesy-oncall.

  4. Step 4 of 5: Reload Alertmanager

    Reload the config and check that the receiver loads without errors.

  5. Step 5 of 5: Fire a test alert

    Send a test alert with amtool or a temporary rule, and watch the incident and call in OnCall.

alertmanager.yml

Critical alerts go to OnCall; everything else stays on your existing receiver. Replace the URL with the one from your OnCall monitor.

# alertmanager.yml
route:
  receiver: default-chat
  routes:
    - matchers:
        - severity = "critical"
      receiver: edesy-oncall
receivers:
  - name: default-chat
    # your existing email or chat receiver
  - name: edesy-oncall
    webhook_configs:
      - url: https://oncall.edesy.in/ingest/<token>
        send_resolved: true

What a good alert rule looks like

The on-call engineer hears your summary annotation, so keep it short and speakable:

- alert: CheckoutErrorRateHigh
  expr: sum(rate(http_requests_total{job="checkout",code=~"5.."}[5m])) / sum(rate(http_requests_total{job="checkout"}[5m])) > 0.05
  for: 5m
  labels:
    severity: critical
  annotations:
    summary: Checkout error rate above 5 percent
    description: More than 5% of checkout requests returned 5xx for 5 minutes

The description is shown in the incident and the email. Full field mapping: Alertmanager ingest docs.

Alertmanager phone call alerts: FAQ

Running Prometheus across several clusters?

Tell us how your alerting is set up. We reply within one working day with a suggested setup.

Give Alertmanager a phone

Create an alert webhook monitor on the Free plan and add it as a receiver. Prices exclude 18% GST.