预聚合以规则组 (Rule Group) 的形式存在, 相同组中的规则以一定的间隔顺序执行。聚合规则的名字必须符合 相应的 Prometheus 规范。
通常一个规则文件如下:
groups: [ – <rule_group> ]
一、规则组
# 规则组名称, 在同一文件中必须唯一name: <string># 规则探测周期.[ interval: <duration> | default = global.evaluation_interval ]rules: [ – <rule> … ]
二、规则
预聚合的语法如下:
# 生成的新的指标名称, 必须是一个有效的指标名称record: <string># PromQL 表达式, 每次计算的数据都会存储到新的指标名称 'record' 中expr: <string># 在要存储的数据中所要添加或者覆盖的标签labels: [ <labelname>: <labelvalue> ]
三、推荐命名格式
预聚合规则命名的推荐格式:level:metric:operations。
·level:表示聚合级别,以及规则的输出标签。
·metric:是指标名称。
·operations:应用于指标的操作列表。
例如:
– record: instance_path:requests:rate5m expr: rate(requests_total{job="myjob"}[5m])- record: path:requests:rate5m expr: sum without (instance)(instance_path:requests:rate5m{job="myjob"})