文档首页/ 应用运维管理 AOM/ 用户指南/ Prometheus监控/ 配置预聚合规则提升指标查询效率
更新时间:2025-07-01 GMT+08:00

配置预聚合规则提升指标查询效率

预聚合(Recording Rule)可以对落地的指标数据做二次开发。您可以配置预聚合规则将计算过程提前写入端,减少查询端资源占用。

应用场景

某些指标查询可能需要在查询端进行大量的计算,查询端压力过大,影响查询性能。通过配置预聚合规则对一些常用的指标或者计算相对复杂的指标进行提前计算;尤其在大规模集群和复杂业务场景下可以有效的降低PromQL的复杂度,从而提高指标查询性能,解决用户配置以及查询慢的问题。

前提条件

配置Recording Rule

  1. 登录AOM 2.0控制台
  2. 在左侧导航栏选择“Prometheus监控 > 实例列表”。
  3. 在Prometheus实例列表中,单击目标CCE类型或通用实例的Prometheus实例名称,进入该实例的详情界面。
  4. 在左侧导航栏单击“设置”,然后在“预聚合(Recording Rule)”区域单击“编辑RecordingRule.yaml”。
  5. 在弹出的对话框,删除默认模板并输入预聚合规则。

    同一个集群只需要配置一份RecordingRule.yaml,不同规则组(Rule Group)的名字必须不同。
    图1 配置Recording Rule
    表1 Recording Rule参数说明

    参数

    说明

    groups

    规则组。一份RecordingRule.yaml可以配置多组规则组。

    name

    规则组名称。规则组名称必须唯一。

    interval

    规则组的执行周期。默认60s。(可选)

    rules

    规则。一个规则组可以包含多条规则。

    record

    规则的名称。聚合规则的名称必须符合Prometheus指标名称规范

    expr

    计算表达式。Prometheus监控将通过该表达式计算得出预聚合指标。计算表达式必须符合PromQL

    labels

    指标的标签。标签必须符合Prometheus指标标签规范。(可选)

    配置后的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

  6. 配置完成,单击“确定”保存Recording Rule。

    Recording Rule配置完成后,可通过如下方式查看指标数据。