2022-05-26 16:06:25 +01:00
---
2024-03-14 16:58:18 +01:00
aliases:
- ../fundamentals/data-source-alerting/ # /docs/grafana/< GRAFANA_VERSION > /alerting/fundamentals/data-source-alerting/
- ../fundamentals/alert-rules/alert-instances/ # /docs/grafana/< GRAFANA_VERSION > /alerting/fundamentals/alert-rules/alert-instances/
2024-05-21 22:43:36 +02:00
- ../fundamentals/alert-rules/organising-alerts/ # /docs/grafana/< GRAFANA_VERSION > /alerting/fundamentals/alert-rules/organising-alerts/
2024-03-14 16:58:18 +01:00
- ../fundamentals/alert-rules/recording-rules/ # /docs/grafana/< GRAFANA_VERSION > /alerting/fundamentals/alert-rules/recording-rules/
- ../fundamentals/alert-rules/alert-rule-types/ # /docs/grafana/< GRAFANA_VERSION > /alerting/fundamentals/alert-rules/alert-rule-types/
2024-05-21 22:43:36 +02:00
- ../unified-alerting/alerting-rules/edit-cortex-loki-namespace-group/ # /docs/grafana/< GRAFANA_VERSION > /alerting/unified-alerting/alerting-rules/edit-cortex-loki-namespace-group/
- ../unified-alerting/alerting-rules/edit-mimir-loki-namespace-group/ # /docs/grafana/< GRAFANA_VERSION > /alerting/unified-alerting/alerting-rules/edit-mimir-loki-namespace-group/
2023-07-18 11:29:00 +01:00
canonical: https://grafana.com/docs/grafana/latest/alerting/fundamentals/alert-rules/
2023-12-12 11:26:36 +01:00
description: Learn about alert rules
2022-05-26 16:06:25 +01:00
keywords:
- grafana
- alerting
- rules
Explicitly set all front matter labels in the source files (#71548)
* Set every page to have defaults of 'Enterprise' and 'Open source' labels
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set administration pages to have of 'Cloud', 'Enterprise', and 'Open source' labels
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set administration/enterprise-licensing pages to have 'Enterprise' labels
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set administration/organization-management pages to have 'Enterprise' and 'Open source' labels
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set administration/provisioning pages to have 'Enterprise' and 'Open source' labels
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set administration/recorded-queries pages to have labels cloud,enterprise
* Set administration/roles-and-permissions/access-control pages to have labels cloud,enterprise
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set administration/stats-and-license pages to have labels cloud,enterprise
* Set alerting pages to have labels cloud,enterprise,oss
* Set breaking-changes pages to have labels cloud,enterprise,oss
* Set dashboards pages to have labels cloud,enterprise,oss
* Set datasources pages to have labels cloud,enterprise,oss
* Set explore pages to have labels cloud,enterprise,oss
* Set fundamentals pages to have labels cloud,enterprise,oss
* Set introduction/grafana-cloud pages to have labels cloud
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Fix introduction pages products
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set panels-visualizations pages to have labels cloud,enterprise,oss
* Set release-notes pages to have labels cloud,enterprise,oss
* Set search pages to have labels cloud,enterprise,oss
* Set setup-grafana/configure-security/audit-grafana pages to have labels cloud,enterprise
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set setup-grafana/configure-security/configure-authentication pages to have labels cloud,enterprise,oss
* Set setup-grafana/configure-security/configure-authentication/enhanced-ldap pages to have labels cloud,enterprise
* Set setup-grafana/configure-security/configure-authentication/saml pages to have labels cloud,enterprise
* Set setup-grafana/configure-security/configure-database-encryption/encrypt-secrets-using-hashicorp-key-vault pages to have labels cloud,enterprise
* Set setup-grafana/configure-security/configure-request-security pages to have labels cloud,enterprise,oss
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set setup-grafana/configure-security/configure-team-sync pages to have labels cloud,enterprise
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set setup-grafana/configure-security/export-logs pages to have labels cloud,enterprise
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
* Set troubleshooting pages to have labels cloud,enterprise,oss
* Set whatsnew pages to have labels cloud,enterprise,oss
* Apply updated labels from review
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
---------
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-07-18 09:10:12 +01:00
labels:
products:
- cloud
- enterprise
- oss
2022-05-26 16:06:25 +01:00
title: Alert rules
2024-02-28 09:10:19 +01:00
weight: 100
2024-05-21 13:43:21 +01:00
refs:
queries-and-conditions:
- pattern: /docs/grafana/
destination: /docs/grafana/< GRAFANA_VERSION > /alerting/fundamentals/alert-rules/queries-conditions/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/queries-conditions/
recorded-queries:
- pattern: /docs/
destination: /docs/grafana/< GRAFANA_VERSION > /administration/recorded-queries/
notification-images:
- pattern: /docs/grafana/
destination: /docs/grafana/< GRAFANA_VERSION > /alerting/configure-notifications/template-notifications/images-in-notifications/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/configure-notifications/template-notifications/images-in-notifications/
2024-06-03 11:00:52 +02:00
notifications:
2024-05-21 13:43:21 +01:00
- pattern: /docs/grafana/
2024-06-03 11:00:52 +02:00
destination: /docs/grafana/< GRAFANA_VERSION > /alerting/fundamentals/notifications/
2024-05-21 13:43:21 +01:00
- pattern: /docs/grafana-cloud/
2024-06-03 11:00:52 +02:00
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/notifications/
2024-05-21 13:43:21 +01:00
create-recording-rules:
- pattern: /docs/grafana/
destination: /docs/grafana/< GRAFANA_VERSION > /alerting/alerting-rules/create-mimir-loki-managed-recording-rule/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/alerting-rules/create-mimir-loki-managed-recording-rule/
expression-queries:
- pattern: /docs/grafana/
destination: /docs/grafana/< GRAFANA_VERSION > /alerting/fundamentals/alert-rules/queries-conditions/#expression -queries
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/queries-conditions/#expression -queries
alert-rule-evaluation:
- pattern: /docs/grafana/
destination: /docs/grafana/< GRAFANA_VERSION > /alerting/fundamentals/alert-rules/rule-evaluation/
- pattern: /docs/grafana-cloud/
destination: /docs/grafana-cloud/alerting-and-irm/alerting/fundamentals/alert-rules/rule-evaluation/
2022-05-26 16:06:25 +01:00
---
2022-05-24 22:04:25 +02:00
2023-04-21 13:24:43 +02:00
# Alert rules
2022-05-24 22:04:25 +02:00
2024-03-21 11:06:49 +01:00
An alert rule is a set of evaluation criteria for when an alert rule should fire. An alert rule consists of:
2022-05-24 22:04:25 +02:00
2024-03-21 11:06:49 +01:00
- Queries and expressions that select the data set to evaluate.
- A condition (the threshold) that the query must meet or exceed to trigger the alert instance.
2024-05-21 13:43:21 +01:00
- An interval that specifies the frequency of [alert rule evaluation ](ref:alert-rule-evaluation ) and a duration indicating how long the condition must be met to trigger the alert instance.
2024-03-21 11:06:49 +01:00
- Other customizable options, for example, setting what should happen in the absence of data, notification messages, and more.
2022-05-24 22:04:25 +02:00
2024-03-21 11:06:49 +01:00
Grafana supports two different alert rule types: Grafana-managed alert rules and data source-managed alert rules.
2024-03-14 16:58:18 +01:00
## Grafana-managed alert rules
2024-09-25 15:11:29 +08:00
Grafana-managed alert rules are the most flexible alert rule type. They allow you to create alert rules that can act on data from any of the [supported data sources ](#supported-data-sources ), and use multiple data sources in a single alert rule. You can add [expressions to transform your data ](ref:expression-queries ) and set custom alert conditions. Using [images in alert notifications ](ref:notification-images ). is also supported.
2024-03-14 16:58:18 +01:00
2024-03-21 11:06:49 +01:00
{{< figure src = "/media/docs/alerting/grafana-managed-alerting-architecture.png" max-width = "750px" caption = "How Grafana-managed alerting works by default" > }}
2024-03-14 16:58:18 +01:00
1. Alert rules are created within Grafana based on one or more data sources.
1. Alert rules are evaluated by the Alert Rule Evaluation Engine from within Grafana.
2024-06-03 11:00:52 +02:00
1. Firing and resolved alert instances are forwarded to [handle their notifications ](ref:notifications ).
2024-03-14 16:58:18 +01:00
### Supported data sources
2024-06-03 01:58:23 -07:00
Grafana-managed alert rules can query backend data sources if Grafana Alerting is enabled by specifying `{"backend": true, "alerting": true}` in the [plugin.json ](https://grafana.com/developers/plugin-tools/reference/plugin-json ).
2024-03-14 16:58:18 +01:00
2024-04-15 10:56:01 +02:00
Find the public data sources supporting Alerting in the [Grafana Plugins directory ](/grafana/plugins/data-source-plugins/?features=alerting ).
2024-03-14 16:58:18 +01:00
## Data source-managed alert rules
2024-09-13 17:29:48 +02:00
Data source-managed alert rules can be used for Grafana Mimir or Grafana Loki data sources which have been configured to support rule creation.
2024-03-14 16:58:18 +01:00
2024-09-13 17:29:48 +02:00
They can improve query performance via [recording rules ](#recording-rules ) and ensure high-availability and fault tolerance when implementing a distributed architecture.
They are only supported for Grafana Mimir or Grafana Loki data sources with the Ruler API enabled. For more information, refer to the [Loki Ruler API ](/docs/loki/<GRAFANA_VERSION>/api/#ruler ) or [Mimir Ruler API ](/docs/mimir/<GRAFANA_VERSION>/references/http-api/#ruler ).
2024-03-14 16:58:18 +01:00
2024-03-21 11:06:49 +01:00
{{< figure src = "/media/docs/alerting/mimir-managed-alerting-architecture-v2.png" max-width = "750px" caption = "Mimir-managed alerting architecture" > }}
2024-03-14 16:58:18 +01:00
1. Alert rules are created and stored within the data source itself.
2024-03-21 11:06:49 +01:00
1. Alert rules can only query Prometheus-based data. It can use either queries or [recording rules ](#recording-rules ).
1. Alert rules are evaluated by the Alert Rule Evaluation Engine.
2024-06-03 11:00:52 +02:00
1. Firing and resolved alert instances are forwarded to [handle their notifications ](ref:notifications ).
2024-03-14 16:58:18 +01:00
2024-09-12 12:06:23 +02:00
## Recording rules
2024-03-14 16:58:18 +01:00
A recording rule allows you to pre-compute frequently needed or computationally expensive expressions and save their result as a new set of time series. This is useful if you want to run alerts on aggregated data or if you have dashboards that query computationally expensive expressions repeatedly.
2024-05-21 13:43:21 +01:00
Querying this new time series is faster, especially for dashboards since they query the same expression every time the dashboards refresh. For more information, refer to [Create recording rules ](ref:create-recording-rules ).
2024-03-14 16:58:18 +01:00
2024-05-21 13:43:21 +01:00
Alternatively, Grafana Enterprise and Grafana Cloud offer [recorded queries ](ref:recorded-queries ) that can be executed against any data source.
2024-03-14 16:58:18 +01:00
## Comparison between alert rule types
When choosing which alert rule type to use, consider the following comparison between Grafana-managed and data source-managed alert rules.
2024-05-21 13:43:21 +01:00
| < div style = "width:200px" > Feature< / div > | < div style = "width:200px" > Grafana-managed alert rule< / div > | < div style = "width:200px" > Data source-managed alert rule |
| ------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Create alert rules< wbr / > based on data from any of the supported data sources | Yes | No. You can only create alert rules that are based on Prometheus-based data. |
| Mix and match data sources | Yes | No |
2024-09-12 12:06:23 +02:00
| Includes support for recording rules | Yes. Only for Grafana OSS users with the `grafanaManagedRecordingRules` feature flag enabled. | Yes |
2024-05-21 13:43:21 +01:00
| Add expressions to transform< wbr / > your data and set alert conditions | Yes | No |
| Use images in alert notifications | Yes | No |
2024-05-21 22:43:36 +02:00
| Organization | Organize and manage access with folders | Use namespaces |
2024-05-21 13:43:21 +01:00
| Scaling | More resource intensive, depend on the database, and are likely to suffer from transient errors. They only scale vertically. | Store alert rules within the data source itself and allow for “infinite” scaling. Generate and send alert notifications from the location of your data. |
| Alert rule evaluation and delivery | Alert rule evaluation and delivery is done from within Grafana, using an external Alertmanager; or both. | Alert rule evaluation and alert delivery is distributed, meaning there is no single point of failure. |