🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ## 定义记录规则 Prometheus 支持两种经过配置之后可以定期进行评估的规则:记录规则和[告警规则](https://hulining.gitbook.io/prometheus/prometheus/configuration/alerting_rules) ## 记录规则 记录规则使您可以预先计算经常或计算量大的表达式,并将结果保存为一组新的时间序列。查询预计算结果通常比每次执行原始表达式要快得多。这对于每次刷新时都需要重复查询相同的表达式的仪表板特别有用 规则文件的语法是: 复制 ``` groups: # 组的名称。一个文件中必须唯一 name: <string> # 评估组中规则的频率 [ interval: <duration> | default = global.evaluation_interval ] rules: # 要输出到的新的时间序列的名称。必须是合法的数据指标名称 record: <string> # 要执行的 PromQL 表达式。每隔执行周期的时间,表达式都会在当前时间进行执行,并将结果记录为一组新的时间序列,其数据指标名称由 "record" 给出 expr: <string> # 存储结果之前要添加或覆盖的标签 labels: [ <labelname>: <labelvalue> ] ``` 示例 ``` groups: - name: example rules: - record: job:http_inprogress_requests:sum expr: sum by (job) (http_inprogress_requests) ``` > 注意: `sum by (job) (http_inprogress_requests)` 与 `sum(http_inprogress_requests) by (job) ` 等价 ## 规则语法检查 因为仅当所有规则文件的格式正确时,才会应用更改,所以需要提前检测 ``` promtool check rules /path/to/example.rules.yml ```