更新时间:2024-05-27 GMT+08:00

配置预聚合规则

预聚合(Recording Rule)可以对落地的指标数据做二次开发。某些查询可能需要在查询端进行大量的计算,导致查询端压力过大,通过配置预聚合规则将计算过程提前到写入端,可减少查询端资源占用,尤其在大规模集群和复杂业务场景下可以有效的降低PromQL的复杂度,从而提高查询性能,解决用户配置以及查询慢的问题。

前提条件

服务已接入CCE类型Prometheus 监控并接入CCE集群,具体请参见Prometheus实例 for CCE

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

    (可选)指标的标签。

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

Recording Rule配置完成后,可通过AOM的“指标浏览”界面查看和通过Grafana系统查看Recording Rule指标。

方式一:通过AOM的“指标浏览”界面查看

  1. 在“指标浏览”界面,从下拉列表选择已配置Recording Rule的Prometheus实例。
  2. 单击“全量指标”,在搜索框中输入对应的Recording Rule指标名称来查看该指标的详细信息。

方式二:通过Grafana查看

具体操作请参见通过Grafana查看AOM中的指标数据