For the complete documentation index, see llms.txt. This page is also available as Markdown.

Grafana Integration Guide

Send unified alerting through webhooks.

Configure Grafana Unified Alerting to send webhook notifications to Harness AI SRE when alerts fire.

Before you begin

  • Harness webhook endpoint: Create a Grafana webhook in Harness AI SRE using the Grafana webhook template.

  • Grafana access: Admin permissions to configure contact points and notification policies.

  • Webhook URL: Copy the webhook URL from your Harness webhook configuration.

  • Grafana version: This guide covers Grafana 8.0+ with Unified Alerting. For legacy alerting, go to the Grafana documentation.

  • Unified Alerting documentation: Go to Grafana Unified Alerting to understand contact points and notification policies.

  • Webhook configuration reference: Go to Manage Contact Points for webhook setup details.


Create webhook contact point

Open the contact points configuration in Grafana:

  1. In Grafana, go to Alerting, then select Contact points

  2. Click New contact point

Configure webhook contact point

  • Name: Harness AI SRE

  • Integration: Select Webhook

  • URL: Your Harness webhook URL

    https://<your-harness-instance>/gateway/ai-sre/api/webhooks/<webhook-id>
  • HTTP Method: POST

  • Name: Harness AI SRE

  • Integration: Select Webhook

  • URL: Your Harness webhook URL

  • HTTP Method: POST

  • Authorization: Add custom header

    • Header: X-Webhook-Secret

    • Value: your-secret-key

  • Name: Harness AI SRE

  • Integration: Select Webhook

  • URL: Your Harness webhook URL

  • HTTP Method: POST

  • Max alerts: Leave blank to send all alerts

  • Disable resolved message: Uncheck to send resolved notifications

  • HTTP settings:

    • Authorization: Custom header if needed

    • User: Leave blank

    • Password: Leave blank

Test contact point

Click Test to send a test notification and verify the webhook is reachable.

Save contact point

Click Save contact point to create the webhook integration.


Configure notification policy

Edit default notification policy

Route alerts to the Harness contact point:

  1. Go to Alerting, then select Notification policies

  2. Edit the Default policy or create a new nested policy

  3. Select Harness AI SRE as the contact point

Create specific routing policy

For selective alert routing:

  1. Click New nested policy

  2. Configure matching labels:

    • Label: severity

    • Operator: =

    • Value: critical

  3. Select Harness AI SRE contact point

  4. Click Save policy


Configure field mapping in Harness

In your Harness webhook configuration, map Grafana payload fields to alert properties.

Grafana webhook payload structure

Map basic fields

Use Mustache templates:

Advanced field mapping with CEL


Test the integration

Create test alert rule

Create a rule that fires immediately to confirm delivery:

  1. Go to Alerting, then select Alert rules

  2. Click New alert rule

  3. Configure a simple test rule:

    • Alert rule name: Test Harness Integration

    • Query: Use a test query that always fires

    • Condition: Set threshold that will trigger

    • Evaluate every: 1m

    • For: 0m

  4. Add labels:

    • severity: warning

    • test: true

  5. Add annotations:

    • summary: Test alert for Harness integration

  6. Select notification policy or contact point

  7. Click Save rule and exit

Verify in Grafana

Confirm the rule fired and the notification was sent:

  1. Go to Alerting, then select Alert rules

  2. Wait for the rule to evaluate and fire

  3. Check Contact points, then Harness AI SRE, for recent notifications

Verify in Harness

Confirm the alert arrived and mapped correctly:

  1. Navigate to Alerts in Harness AI SRE

  2. Check that the test alert appears

  3. Verify field mapping is correct


Available Grafana fields

Field
Description
Example

receiver

Contact point name

Harness AI SRE

status

Alert status

firing, resolved

alerts

Array of firing alerts

See payload structure

alerts[].labels

Alert labels

{"alertname": "...", "severity": "critical"}

alerts[].annotations

Alert annotations

{"summary": "...", "description": "..."}

alerts[].startsAt

Alert start time

2025-07-01T10:30:00.000Z

alerts[].endsAt

Alert end time

0001-01-01T00:00:00Z (if not resolved)

alerts[].generatorURL

Link to alert rule

https://grafana.../alerting/.../view

alerts[].dashboardURL

Link to dashboard

https://grafana.../d/dashboard-id

alerts[].panelURL

Link to specific panel

https://grafana.../d/dashboard-id?viewPanel=1

alerts[].fingerprint

Unique alert ID

a1b2c3d4e5f6

alerts[].values

Query result values, keyed by refID

{"B": 95.2}

title

Pre-formatted alert title

[FIRING:1] High CPU Usage

message

Pre-formatted alert message

Multi-line formatted message

groupLabels

Labels used for grouping

{"alertname": "..."}

commonLabels

Labels common to all alerts

{"severity": "critical"}

commonAnnotations

Annotations common to all

{"summary": "..."}

externalURL

Grafana instance URL

https://grafana.example.com


Advanced configuration

Route by folder

Send alerts from specific Grafana folders to different Harness webhooks:

Grafana notification policy:

  1. Create nested policy with label matcher:

    • Label: grafana_folder

    • Operator: =

    • Value: Production

  2. Select appropriate contact point

Route by data source

Label alerts by data source and route accordingly:

Alert rule labels:

Notification policy matcher:

  • Label: datasource

  • Operator: =

  • Value: prometheus

Silence alerts

Use Grafana's silence URL in Harness:

Multi-dimensional alerts

Grafana supports multi-dimensional alerting. Access all dimensions:


Troubleshooting

Grafana webhook is not sending notifications to Harness AI SRE

Test the contact point from the Grafana UI, check the Grafana logs, verify the webhook URL is accessible from the Grafana server, and check for a firewall or proxy blocking outbound requests.

Grafana alerts are not appearing in Harness AI SRE

Check the Harness webhook logs for errors, inspect the raw payload in the Grafana contact point test, verify the CEL filter logic by temporarily removing the filter, and ensure the required fields exist in the payload.

Resolved Grafana alerts are not clearing in Harness AI SRE

Ensure 'Disable resolved message' is unchecked in the contact point, and handle the resolved status in the Harness CEL mapping.

Grafana is creating duplicate alerts in Harness AI SRE

Review the notification policy routes to ensure no overlapping matchers, and adjust the group wait, group interval, and repeat interval in the notification policy.


Example: complete integration

Grafana contact point configuration

Configure the contact point with these settings:

  • Name: Harness AI SRE

  • Integration: Webhook

  • URL: https://app.harness.io/gateway/ai-sre/api/webhooks/wh_abc123

  • HTTP Method: POST

  • Disable resolved message: Unchecked

Grafana notification policy

Map fields in the Harness webhook


Next steps


Grafana official documentation

Last updated

Was this helpful?