Set up Prometheus Alertmanager ingestion
Forward Prometheus Alertmanager alerts into HowlOps as alerts and incidents using Alertmanager's native OpsGenie receiver pointed at HowlOps.
What you will configure
- Generate a Prometheus / Alertmanager endpoint in the HowlOps Integration Hub (gives you a token)
- Point Alertmanager's built-in OpsGenie receiver (
opsgenie_configs) at HowlOps - Verify a real alert flows through to HowlOps
Time: ~5 minutes · Requires: a running Prometheus Alertmanager. Works on any plan, including Free On-call — external alert ingestion is free.
Step 1 — Generate the endpoint in HowlOps
- In HowlOps, open Integrations in the sidebar (the Integration Hub).
- Under Bring alerts into HowlOps, click the Prometheus / Alertmanager source card.
- Click Generate endpoint.
- Copy the Token shown in the drawer — it starts with
howl_. This is your Alertmanagerapi_key.
Step 2 — Add the HowlOps receiver to alertmanager.yml
Add an opsgenie_configs receiver whose api_url points at HowlOps and whose api_key is the token from Step 1:
receivers:
- name: howlops
opsgenie_configs:
- api_url: https://api.howlops.com/api/v1/prometheus/
api_key: howl_YOUR_TOKEN_HERE
send_resolved: true
# Map your Prometheus `severity` label to an OpsGenie priority so HowlOps
# gets the right incident severity. Without this, everything arrives as P3.
priority: '{{ if eq .CommonLabels.severity "critical" }}P1{{ else if eq .CommonLabels.severity "warning" }}P3{{ else }}P5{{ end }}'
api_urlmust end with a trailing slash — Alertmanager appendsv2/alertsto it.send_resolved: truelets HowlOps auto-close the alert when it clears (matched by the Alertmanager alias).- The
prioritytemplate is optional but recommended; see Severity mapping below.
Alternative: deliver via webhook_configs
Prefer Alertmanager's generic webhook? HowlOps exposes a native webhook receiver too. Generate an Alertmanager token in Integrations (the Alertmanager tokens section), then add a webhook_configs receiver that authenticates with it as a Bearer token:
receivers:
- name: howlops
webhook_configs:
- url: https://api.howlops.com/api/v1/webhook/alertmanager
send_resolved: true
http_config:
authorization:
type: Bearer
credentials: howl_YOUR_TOKEN_HERE
- This endpoint takes Alertmanager's standard webhook JSON, so there is no
api_urltrailing-slash rule here. - The credential is a separate Alertmanager token (sent as
Bearer), not the OpsGenieapi_keyfrom Step 1. Generate it in the Alertmanager tokens section of Integrations. - Severity is read from each alert's own
severitylabel (critical/warning/info). The OpsGenieprioritytemplate shown above does not apply to this path.
Pick one receiver, not both, or a single alert would arrive twice.
Step 3 — Route alerts to HowlOps
route:
receiver: howlops
group_by: ['alertname']
group_wait: 10s
group_interval: 30s
repeat_interval: 4h
Reload Alertmanager on your Alertmanager host (this example assumes the command runs on that host itself — swap in the real hostname if it doesn't):
curl -X POST http://localhost:9093/-/reload
Step 4 — Test it
Fire a test alert straight into the Alertmanager API on your Alertmanager host:
curl -X POST http://localhost:9093/api/v2/alerts \
-H 'Content-Type: application/json' \
-d '[{"labels":{"alertname":"HowlOpsTest","severity":"critical","instance":"web-01"},
"annotations":{"summary":"Test alert from the HowlOps setup guide"},
"startsAt":"2026-07-07T10:30:00Z"}]'
Within a few seconds the alert appears under Alerts in HowlOps. Because it carries
severity: critical, the priority template maps it to P1 → critical, and a critical
alert is promoted to an Incident.
Severity mapping
HowlOps reads the OpsGenie priority that Alertmanager sends and maps it to an incident severity:
Priority (from opsgenie_configs) | HowlOps severity |
|---|---|
P1, P2 | critical (pages on-call) |
P3 | warning |
P4, P5 | info |
| (none set) | warning (defaults to P3) |
Priority is controlled entirely by the priority field in your receiver. If you omit it,
every alert arrives as P3 (warning). Use the template shown in Step 2 to derive the
priority from your alert-rule labels (for example, severity: critical → P1).
Troubleshooting
- No alert appears — confirm Alertmanager can reach
api.howlops.com, thatapi_urlends with a trailing slash, and that the token is correct (click Regenerate token if unsure). Check the Alertmanager logs for a401(bad token) or404(wrong URL). - Everything shows as
warning— you haven't set apriorityin the receiver, so all alerts default to P3. Add theprioritytemplate from Step 2. - Alert never resolves — make sure
send_resolved: trueis set; HowlOps matches the resolve to the open alert by the Alertmanager alias.
See also
Was this page helpful?