告警规则
告警规则是一组评估标准,用于确定何时应触发告警规则。告警规则包括:
- 查询,用于选择要评估的数据集。
- 一个告警条件(阈值),查询必须满足或超过该条件才能触发告警实例。
- 一个指定告警规则评估频率的间隔,以及一个指示条件必须满足多长时间才能触发告警实例的持续时间。
- 其他可自定义选项,例如,设置在没有数据时应发生的情况、通知消息等。
Grafana 支持两种不同的告警规则类型:Grafana 管理的告警规则和数据源管理的告警规则。
Grafana 管理的告警规则
Grafana 管理的告警规则是最灵活的告警规则类型。它们允许您创建可以对任何支持的数据源中的数据进行操作的告警规则,并在一个告警规则中使用多个数据源。

- 告警规则在 Grafana 中创建和存储。
- 告警规则可以查询一个或多个支持的数据源。
- 告警规则由 Grafana 中的告警规则评估引擎进行评估。
- 触发和已解决的告警实例会转发到 处理其通知。
支持的数据源
如果通过在 plugin.json
文件中指定 {"backend": true, "alerting": true}
启用了 Grafana Alerting,Grafana 管理的告警规则可以查询后端数据源。
在Grafana 插件目录中查找支持告警的公共数据源。
数据源管理的告警规则
数据源管理的告警规则只能使用 Grafana Mimir 或 Grafana Loki 数据源创建。这两种数据源后端都可以提供高可用性和容错能力,从而使您能够扩展告警设置。

- 告警规则存储在 Mimir 或 Loki 数据源中。
- 告警规则只能查询其特定数据源。
- 告警规则由数据源中的告警规则评估引擎进行评估。
- 触发和已解决的告警实例会转发到 处理其通知。
当启用通过告警 UI 管理告警时,来自 Prometheus 数据源的规则会显示在告警规则页面的数据源管理部分。
但是,Grafana 只能为 Mimir 和 Loki 创建和编辑数据源管理的规则,而不能为 Prometheus 实例创建和编辑。
告警规则类型比较
我们建议尽可能使用 Grafana 管理的告警规则,并在需要扩展告警设置时选择数据源管理的告警规则。
下表比较了 Grafana 管理的告警规则和数据源管理的告警规则。
功能 | Grafana 管理的告警规则 | 数据源管理的告警规则 |
---|---|---|
创建查询支持告警的数据源的告警规则 | 是 | 仅支持为 Mimir 和 Loki 创建规则。 |
混合使用数据源 | 是 | 否 |
添加表达式以转换您的数据并设置告警条件 | 是 | 否 |
在告警通知中使用图片 | 是 | 否 |
支持记录规则 | 是 | 是 |
组织 | 使用文件夹组织和管理访问 | 使用命名空间 |
告警规则评估和发送 | 告警评估在 Grafana 中完成,而发送可以由 Grafana 或外部 Alertmanager 处理。 | 告警规则评估和告警发送是分布式的。 |
可扩展性 | 告警规则存储在 Grafana 数据库中,可能会遇到瞬时错误。它只能垂直扩展。 | 告警规则存储在数据源中,允许水平扩展。 |
记录规则
与告警规则类似,记录规则会定期评估。记录规则会预计算常用或计算量大的查询,并将结果保存为新的时间序列指标。
然后可以将新的记录指标用于告警规则和仪表盘中,以优化其查询。
有关更多详细信息,请参阅创建记录规则。