创建 Grafana 管理的记录规则
记录规则允许您定期预先计算常用或计算量大的查询,并将结果保存为新的时间序列指标。
然后,警报规则和仪表盘可以查询记录规则生成的新指标。这比查询实时数据更快,有助于减少系统负载。
Grafana 不包含嵌入式时间序列数据库来存储记录规则结果。您必须提供自己的 Prometheus 兼容数据库来存储由记录规则生成的时间序列。
Grafana 管理的记录规则提供与 Prometheus 类似的功能,但允许您查询报警支持的数据源。此外,您还可以使用记录规则将来自其他数据源的数据导入并映射到 Prometheus。
注意
Grafana Cloud 中默认启用 Grafana 管理的记录规则。
在 Grafana OSS 和 Enterprise 中,您必须按照开始之前的说明启用它们。
要配置 Grafana 管理的记录规则,请完成以下步骤。
开始之前
本节仅适用于 Grafana OSS 和 Grafana Enterprise。
首先,启用 grafanaManagedRecordingRules
特性标记。
然后,在 Grafana 配置 .ini 的 [recording_rules]
部分中设置 enabled = true
来启用该特性。在 url
字段中提供您的 Prometheus 兼容远程写入端点 URL,以及可选的凭据或头部信息。
[recording_rules]
enabled = true
url = http://my-example-prometheus.local:9090/api/prom/push
basic_auth_username = my-user
basic_auth_password = my-pass
[recording_rules.custom_headers]
X-My-Header = MyValue
添加新记录规则
创建新的 Grafana 管理的记录规则
点击 Alerts & IRM -> Alerting -> Alert rules。
滚动到 Grafana-managed section 部分,点击 +New recording rule。
输入用于识别您的记录规则和指标的名称。
指标名称必须是 Prometheus 指标名称,且不包含空格。详情请参阅 Prometheus 指标名称。
定义记录规则
定义一个查询以获取您要度量的数据并设置记录规则输出。
选择数据源。
从 Options 下拉菜单中,指定时间范围。
注意
Grafana Alerting 仅支持固定的相对时间范围,例如
now-24hr: now
。它不支持绝对时间范围:
2021-12-02 00:00:00 to 2021-12-05 23:59:592
或半相对时间范围:now/d to: now
。添加查询。
要添加多个查询,请点击 Add query。
添加一个或多个表达式。
a. 对于每个表达式,选择 Classic condition 创建单个记录规则,或从 Math、Reduce 和 Resample 选项中选择。
使用 Prometheus 时,您可以使用即时向量和内置函数,因此无需添加额外的表达式。
b. 点击 Preview 验证表达式是否成功。
在您希望设置为规则输出的查询或表达式上点击 Set as recording rule output。
设置评估行为
使用记录规则评估来确定记录规则的评估频率。
为此,您需要确保您的记录规则位于正确的评估组中,并设置最适合您用例的评估间隔。
选择一个文件夹或点击 + New folder。
选择一个评估组或点击 + New evaluation group。
如果您正在创建新的评估组,请为该组指定间隔。
同一组内的所有规则在同一时间间隔内并发评估。组内的每个记录规则都使用相同的评估时间,这意味着同一组的所有查询始终相互对齐。
在创建记录规则之前或之后,如有必要,您可以选择 Pause evaluation。
高级配置
min_interval 设置规则评估之间强制执行的最小间隔。默认值为 10s,等于调度器间隔。如果规则小于此值或不是调度器间隔 (10s) 的倍数,则将进行调整。较高的值有助于资源管理,因为随时间安排的评估较少。
此设置优先于每个单独规则的频率。如果规则频率低于此值,则强制执行此值。
此设置适用于 Grafana 管理的警报规则和记录规则。
添加标签
您可以选择通过从下拉菜单中选择现有键值对或输入新的键或值,为结果指标添加自定义标签。
在仪表盘或警报规则中查询新指标
点击 Save rule 或 Save rule and exit 以保存规则。
保存后,新的记录指标即可用于仪表盘和警报规则中。