Skip to content

Grafana

Grafana unified alerting Webhook contact points POST Alertmanager-shaped alert groups to Exhale. Each tenant gets a unique HTTPS URL token. Exhale scrubs the payload, upserts a Pulse (source=grafana), and runs triage when status is firing / alerting.

See Incoming integrations for how Grafana fits alongside PagerDuty, OpsGenie, and Manual webhook.

OpenAPI: POST /webhooks/grafana (header token) and POST /webhooks/grafana/{token}.


Endpoint

After Connect in Connections → IntegrationsObservability & alertsGrafana:

Preferred (keeps tokens out of proxy access logs):

POST https://exhale.kolstromsystems.com/webhooks/grafana

Send header X-Exhale-Webhook-Token: {token}.

Path form (also supported):

POST https://exhale.kolstromsystems.com/webhooks/grafana/{token}

Design partners may substitute https://exhale-staging.kolstromsystems.com as the host.

  • token — opaque URL segment; this token authenticates the delivery.
  • Response: 202 Accepted with pulse_id, status, created, and message.

Unknown tokens return 404. Disabled or expired-trial tenants return 403.


Customer setup

  1. Sign in as adminConnections → IntegrationsGrafana.
  2. Click Connect Grafana and copy the webhook URL.
  3. In Grafana, add a Webhook contact point and paste the Exhale URL.
  4. Route alerts to that contact point via a notification policy.
  5. Send test alert creates a synthetic pulse and marks the integration configured.

Rotate webhook token invalidates the previous URL immediately — update Grafana after rotating.


Payload shape

FieldRequiredNotes
groupKeyYesStable id for dedupe (source=grafana)
statusNofiring / alerting, resolved / ok
titleNoPulse title (else commonLabels.alertname)

Lifecycle mapping

Grafana statusPulse status
firing, alertingReceived → triage
resolved, okResolved

Example

bash
TOKEN="your-url-token"
curl -i -X POST "https://exhale.kolstromsystems.com/webhooks/grafana/${TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{"status":"firing","groupKey":"demo-group","title":"High CPU"}'

Full detail (dedupe, env vars, security): Grafana webhooks in the repository wiki.

Exhale by Kolstrom Systems LLC