Create a Grafana managed alerting rule
- In the Grafana menu, click the Alerting (bell) icon to open the Alerting page listing existing alerts.
- Click New alert rule.
- In Step 1, add the rule name, type, and storage location.
- In Rule name, add a descriptive name. This name is displayed in the alert rule list. It is also the label for every alert instance that is created from this rule.
- From the Rule type drop-down, select Grafana managed alert.
- In Step 2, add queries and expressions to evaluate.
- Keep the default name or hover over and click the edit icon to change the name.
- For queries, select a data source from the drop-down.
- Add one or more or expressions.
- For each expression, select either Classic condition to create a single alert rule, or choose from Math, Reduce, Resample options to generate separate alert for each series. For details on these options, see .
- Click Run queries to verify that the query is successful.
In Step 3, add conditions.
- From the Condition drop-down, select the query or expression to trigger the alert rule.
- For Evaluate every, specify the frequency of evaluation. Must be a multiple of 10 seconds. For examples,
1m
,30s
. - Click Preview alerts to check the result of running the query at this moment. Preview excludes no data and error handling.
- In Step 4, add additional metadata associated with the rule.
- Add a description and summary to customize alert messages. Use the guidelines in Annotations and labels for alerting.
- Add Runbook URL, panel, dashboard, and alert IDs.
- Add custom labels.
- Click Save to save the rule or Save and exit to save the rule and go back to the Alerting page.
For Grafana managed alerts, you can create a rule with a classic condition or you can create a multi-dimensional rule.
Rule with classic condition
Use the classic condition expression to create a rule that triggers a single alert when its condition is met. For a query that returns multiple series, Grafana does not track the alert state of each series. As a result, Grafana sends only a single alert even when alert conditions are met for multiple series.
To generate a separate alert for each series, create a multi-dimensional rule. Use Math
, Reduce
, or expressions to create a multi-dimensional rule. For example:
- Add a
Reduce
expression for each query to aggregate values in the selected time range into a single value. (Not needed for rules using numeric data). - Add a
Math
expression with the condition for the rule. Not needed in case a query or a reduce expression already returns 0 if rule should not fire, or a positive number if it should fire. Some examples:$B > 70
if it should fire in case value of B query/expression is more than 70.$B < $C * 100
in case it should fire if value of B is less than value of C multiplied by 100. If queries being compared have multiple series in their results, series from different queries are matched if they have the same labels or one is a subset of the other.
Rule with classic condition
For more information, see expressions documentation.
No data and error handling
Error or timeout option | Description |
---|---|
Alerting | Set alert rule state to Alerting |
OK | Set alert rule state to Normal |
Error | Create a new alert with the name and UID of the alert rule, and UID of the datasource that returned no data as labels. |