
# 配置预聚合规则提升指标查询效率
预聚合（Recording Rule）可以对落地的指标数据做二次开发。您可以配置预聚合规则将计算过程提前写入端，减少查询端资源占用。
#### 应用场景
某些指标查询可能需要在查询端进行大量的计算，查询端压力过大，影响查询性能。通过配置预聚合规则对一些常用的指标或者计算相对复杂的指标进行提前计算；尤其在大规模集群和复杂业务场景下可以有效的降低PromQL的复杂度，从而提高指标查询性能，解决用户配置以及查询慢的问题。
#### 前提条件
- 服务已接入CCE类型Prometheus监控并接入CCE集群，具体请参见[Prometheus实例 for CCE](https://support.huaweicloud.com/usermanual-aom2/mon_01_0073.html)。
- 服务已接入通用实例类型Prometheus监控，具体请参见[Prometheus 通用实例](https://support.huaweicloud.com/usermanual-aom2/mon_01_0072.html)。
 
#### 配置Recording Rule
1. 登录[AOM 2.0控制台](https://console.huaweicloud.com/aom2#/aom2/betaTest)。
2. 在左侧导航栏选择"Prometheus监控 \> 实例列表"。
3. 在Prometheus实例列表中，单击目标CCE类型或通用实例的Prometheus实例名称，默认进入该实例的"指标管理"界面。
4. 在导航栏单击"设置"，然后在"预聚合（Recording Rule）"区域单击"编辑RecordingRule.yaml"。
5. 在弹出的对话框，删除默认模板并输入预聚合规则。 
   同一个集群只需要配置一份RecordingRule.yaml，不同规则组（Rule Group）的名字必须不同。
   图1配置Recording Rule   
   ![](https://support.huaweicloud.com/usermanual-aom2/zh-cn_image_0000002567701819.png "点击放大")
   表1Recording Rule参数说明 
   | 参数       | 说明                                                                                                                   |
   |:---|:---|
   | groups   | 规则组。一份RecordingRule.yaml可以配置多组规则组。                                                                                   |
   | name     | 规则组名称。规则组名称必须唯一。                                                                                                     |
   | interval | 规则组的执行周期。默认60s。（可选）                                                                                                  |
   | rules    | 规则。一个规则组可以包含多条规则。                                                                                                    |
   | record   | 规则的名称。聚合规则的名称必须符合[Prometheus指标名称规范](https://prometheus.io/docs/concepts/data_model/#metric-names-and-labels)。        |
   | expr     | 计算表达式。Prometheus监控将通过该表达式计算得出预聚合指标。计算表达式必须符合[PromQL](https://prometheus.io/docs/prometheus/latest/querying/basics/)。 |
   | labels   | 指标的标签。标签必须符合[Prometheus指标标签规范](https://prometheus.io/docs/concepts/data_model/#metric-names-and-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配置完成后，可通过如下方式查看指标数据。
   - **方式一：** 通过AOM的"[指标浏览](https://support.huaweicloud.com/usermanual-aom2/mon_01_0026.html)"页面查看配置了Recording Rule的Prometheus实例的指标数据。
   
   - **方式二：** [通过Grafana查看AOM中的指标数据](https://support.huaweicloud.com/usermanual-aom2/mon_01_0077.html)。
   
   
   
   
 
