Menu

Important: This documentation is about an older version. It's relevant only to the release noted, many of the features and functions have been updated or replaced. Please view the current version.

Grafana Cloud Enterprise Open source

Configure the webhook notifier for Alerting

The webhook notification is a simple way to send information about a state change over HTTP to a custom endpoint. Using this notification you could integrate Grafana into a system of your choosing.

Webhook JSON payload

json
{
  "receiver": "My Super Webhook",
  "status": "firing",
  "orgId": 1,
  "alerts": [
    {
      "status": "firing",
      "labels": {
        "alertname": "High memory usage",
        "team": "blue",
        "zone": "us-1"
      },
      "annotations": {
        "description": "The system has high memory usage",
        "runbook_url": "https://myrunbook.com/runbook/1234",
        "summary": "This alert was triggered for zone us-1"
      },
      "startsAt": "2021-10-12T09:51:03.157076+02:00",
      "endsAt": "0001-01-01T00:00:00Z",
      "generatorURL": "https://play.grafana.org/alerting/1afz29v7z/edit",
      "fingerprint": "c6eadffa33fcdf37",
      "silenceURL": "https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT2%2Cteam%3Dblue%2Czone%3Dus-1",
      "dashboardURL": "",
      "panelURL": "",
      "values": {
        "B": 44.23943737541908,
        "C": 1
      }
    },
    {
      "status": "firing",
      "labels": {
        "alertname": "High CPU usage",
        "team": "blue",
        "zone": "eu-1"
      },
      "annotations": {
        "description": "The system has high CPU usage",
        "runbook_url": "https://myrunbook.com/runbook/1234",
        "summary": "This alert was triggered for zone eu-1"
      },
      "startsAt": "2021-10-12T09:56:03.157076+02:00",
      "endsAt": "0001-01-01T00:00:00Z",
      "generatorURL": "https://play.grafana.org/alerting/d1rdpdv7k/edit",
      "fingerprint": "bc97ff14869b13e3",
      "silenceURL": "https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT1%2Cteam%3Dblue%2Czone%3Deu-1",
      "dashboardURL": "",
      "panelURL": "",
      "values": {
        "B": 44.23943737541908,
        "C": 1
      }
    }
  ],
  "groupLabels": {},
  "commonLabels": {
    "team": "blue"
  },
  "commonAnnotations": {},
  "externalURL": "https://play.grafana.org/",
  "version": "1",
  "groupKey": "{}:{}",
  "truncatedAlerts": 0,
  "title": "[FIRING:2]  (blue)",
  "state": "alerting",
  "message": "**Firing**\n\nLabels:\n - alertname = T2\n - team = blue\n - zone = us-1\nAnnotations:\n - description = This is the alert rule checking the second system\n - runbook_url = https://myrunbook.com\n - summary = This is my summary\nSource: https://play.grafana.org/alerting/1afz29v7z/edit\nSilence: https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT2%2Cteam%3Dblue%2Czone%3Dus-1\n\nLabels:\n - alertname = T1\n - team = blue\n - zone = eu-1\nAnnotations:\nSource: https://play.grafana.org/alerting/d1rdpdv7k/edit\nSilence: https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT1%2Cteam%3Dblue%2Czone%3Deu-1\n"
}

Webhook fields

Body

KeyTypeDescription
receiverstringName of the webhook
statusstringCurrent status of the alert, firing or resolved
orgIdnumberID of the organization related to the payload
alertsarray of alertsAlerts that are triggering
groupLabelsobjectLabels that are used for grouping, map of string keys to string values
commonLabelsobjectLabels that all alarms have in common, map of string keys to string values
commonAnnotationsobjectAnnotations that all alarms have in common, map of string keys to string values
externalURLstringExternal URL to the Grafana instance sending this webhook
versionstringVersion of the payload
groupKeystringKey that is used for grouping
truncatedAlertsnumberNumber of alerts that were truncated
titlestringWill be deprecated soon
statestringWill be deprecated soon
messagestringWill be deprecated soon

Alert

KeyTypeDescription
statusstringCurrent status of the alert, firing or resolved
labelsobjectLabels that are part of this alert, map of string keys to string values
annotationsobjectAnnotations that are part of this alert, map of string keys to string values
startsAtstringStart time of the alert
endsAtstringEnd time of the alert, default value when not resolved is 0001-01-01T00:00:00Z
valuesobjectValues that triggered the current status
generatorURLstringURL of the alert rule in the Grafana UI
fingerprintstringThe labels fingerprint, alarms with the same labels will have the same fingerprint
silenceURLstringURL to silence the alert rule in the Grafana UI
dashboardURLstringWill be deprecated soon
panelURLstringWill be deprecated soon
imageURLstringURL of a screenshot of a panel assigned to the rule that created this notification

Note

Alert rules are not coupled to dashboards anymore therefore the fields related to dashboards dashboardId and panelId have been removed.

Procedure

To create your webhook integration in Grafana Alerting, complete the following steps:

  1. Navigate to Alerts & IRM -> Alerting -> Contact points.
  2. Click + Add contact point.
  3. Enter a contact point name.
  4. From the Integration list, select Webhook.
  5. In the URL field, copy in your Webhook URL.
  6. Click Test to check that your integration works.
  7. Click Save contact point.

Next steps

The Webhook contact point is ready to receive alert notifications.

To add this contact point to your alert, complete the following steps.

  1. In Grafana, navigate to Alerting > Alert rules.
  2. Edit or create a new alert rule.
  3. Scroll down to the Configure labels and notifications section.
  4. Under Notifications, click Select contact point.
  5. From the drop-down menu, select the previously created contact point.
  6. Click Save rule and exit.