配置预聚合规则
预聚合(Recording Rule)可以对落地的指标数据做二次开发。某些查询可能需要在查询端进行大量的计算,导致查询端压力过大,通过配置预聚合规则将计算过程提前到写入端,可减少查询端资源占用,尤其在大规模集群和复杂业务场景下可以有效的降低PromQL的复杂度,从而提高查询性能,解决用户配置以及查询慢的问题。
前提条件
服务已接入CCE类型Prometheus 监控并接入CCE集群,具体请参见Prometheus实例 for CCE。
配置Recording Rule
- 登录AOM 2.0控制台。
- 在左侧导航栏选择“Prometheus监控 > 实例列表”。
- 在Prometheus实例列表中,单击目标CCE类型的Prometheus实例名称,进入该实例的详情界面。
- 在左侧导航栏单击“设置”,然后在“预聚合(Recording Rule)”区域单击“编辑RecordingRule.yaml”。
- 在弹出的对话框,删除默认模板并输入预聚合规则。
同一个集群只需要配置一份RecordingRule.yaml,不同规则组(Rule Group)的名字必须不同。
图1 配置Recording Rule
表1 Recording Rule参数说明 参数
说明
groups
规则组。一份RecordingRule.yaml可以配置多组规则组。
name
规则组名称。规则组名称必须唯一。
interval
(可选)规则组的执行周期。默认60s。
rules
规则。一个规则组可以包含多条规则。
record
规则的名称。聚合规则的名称必须符合 Prometheus指标名称规范。
expr
计算表达式。Prometheus监控将通过该表达式计算得出预聚合指标。计算表达式必须符合PromQL。
labels
(可选)指标的标签。
配置后的Recording Rule示例如下:
groups: - name: apiserver_request_total interval: 60s rules: - record: apiserver_request_rate expr: avg by (job, instance, mode) (rate(apiserver_request_total[5m])) labels: team: operations - record: job:apiserver_request_total:sum_rate10m expr: sum by (job)(rate(apiserver_request_total[10m])) labels: team: operations
- 配置完成,单击“确定”保存Recording Rule。
查看Recording Rule指标
Recording Rule配置完成后,可通过AOM的“指标浏览”界面查看和通过Grafana系统查看Recording Rule指标。
方式一:通过AOM的“指标浏览”界面查看
- 在“指标浏览”界面,从下拉列表选择已配置Recording Rule的Prometheus实例。
- 单击“全量指标”,在搜索框中输入对应的Recording Rule指标名称来查看该指标的详细信息。
方式二:通过Grafana查看
具体操作请参见通过Grafana查看AOM中的指标数据。