AlertsGrafana alertsCreate and manage rulesAnnotations and labels for alerting rules

Annotations and labels for alerting rules

Annotations and labels are key value pairs associated with alerts originating from the alerting rule, datasource response, and as a result of alerting rule evaluation. They can be used in alert notifications directly or in templates and template functions to create notification contact dynamically.


Annotations are key-value pairs that provide additional meta-information about an alert. You can use the following annotations: description, summary, runbook_url, alertId, dashboardUid, and panelId. For example, a description, a summary, and a runbook URL. These are displayed in rule and alert details in the UI and can be used in contact point message templates.


Labels are key-value pairs that contain information about, and are used to uniquely identify an alert. The label set for an alert is generated and added to throughout the alerting evaluation and notification process.

How are labels used?

  • The complete set of labels for an alert is what uniquely identifies an alert within Grafana Alerts.
  • The Alertmanager uses labels to match alerts for silences and alert groups in notification policies.
  • The alerting UI displays labels for every alert instance generated by the evaluation of that rule.
  • Contact points can access labels to dynamically generate notifications that contain information specific to the alert that is resulting in a notification.
  • Labels can be added to an alerting rule. These manually configured labels are able to use template functions and reference other labels. Labels added to an alerting rule here take precedence in the event of a collision between labels.
Alert details

Variables available to alerting rule labels and annotations

The following template variables are available when expanding annotations and labels.

Name Description
$labels The labels from the query or condition. For example, {{ $labels.instance }} and {{ $labels.job }}. This is unavailable when the rule uses a classic condition.
$values The values of all reduce and math expressions that were evaluated for this alert rule. For example, {{ $values.A }}, {{ $values.A.Labels }} and {{ $values.A.Value }} where A is the refID of the expression. If the rule uses classic conditions, then a combination of the refID and position of the condition is used. For example, {{ $values.A0.Value }} or {{ $values.A1.Value }}
$value The value string of the alert instance. For example, [ var='A' labels={instance=foo} value=10 ].