预聚合规则组
更新时间:2024-09-06
概述
预聚合(RecordingRule)可提前计算相对复杂的指标,并存储到新的数据指标中,查询提前计算的数据比查询原始数据更加高效便捷,适用于 Dashboard 中配置与查询慢的场景。预聚合以规则组(RuleGroup)的形式存在,相同组中的规则以一定的间隔顺序执行。本文将介绍如何创建、管理、删除预聚合规则组。
准备工作
-
登录百度智能云控制台:
- 登录成功后,选择“产品服务 > 云原生 > Prometheus 监控服务”,进入“监控实例 > 实例列表”页面。
- 创建监控实例,监控实例与目标监控集群必须在同一地域下,详情见 创建实例。
- (可选)在监控实例详情中,接入目标集群所在的私有网络 VPC,详情见 接入网络。
- 在监控实例详情中,关联目标 CCE 集群(安装 Agent),详情见 安装Agent。
创建预聚合规则组
- 登录 Prometheus监控服务控制台,选择【监控实例】,点击目标实例名称进入实例详情页,在左侧点击【预聚合】进入预聚合详情页,点击【创建预聚合】。
- 预聚合以规则组(RuleGroup)的形式存在,相同组中的规则以一定的间隔顺序执行。请根据具体实际需求,使用原生的 Prometheus RecordingRule YAML 配置规则表达式及需要聚合生成的新指标名,聚合规则的命名必须符合 Prometheus 命名规范。更多详情可查看Prometheus RecordingRule 说明。
- 通常一个预聚合规则文件如下:
spec:
groups:
- rule_group
- 以下为一个简单预聚合规则例子:
spec:
groups:
- name: example
rules:
- record: 'job:http_inprogress_requests:sum'
expr: sum by (job) (http_inprogress_requests)
- record: 'path:requests:rate5m'
expr: 'sum without (instance)(instance_path:requests:rate5m{job="myjob"})'
规则
预聚合的语法如下:
# 生成的新的指标名称, 必须是一个有效的指标名称
record: <string>
# PromQL 表达式, 每次计算的数据都会存储到新的指标名称 'record' 中
expr: <string>
# 在要存储的数据中所要添加或者覆盖的标签
labels:
[ <labelname>: <labelvalue> ]
# 注释信息
annotations:
[ <key>: <value> ]
推荐命名格式
预聚合规则命名的推荐格式:level:metric:operations
。
参数 | 说明 |
---|---|
level | 表示聚合级别,以及规则的输出标签。 |
metric | 是指标名称。 |
operations | 应用于指标的操作列表。 |
管理预聚合规则组
- 创建规则组成功后,在“监控实例 > 预聚合”中可查看当前监控实例的预聚合规则组列表,展示规则组名称、规则组个数、状态等信息。
- 在规则组的操作列中,点击“编辑”,即可修改规则组的YAML信息。
- 预聚合规则组创建成功后,默认启用,即规则生效。可在规则组的操作列中,点击“禁用”,规则组状态将变成“禁用”,则规则失效,可点击“启用”恢复。
删除预聚合规则组
创建预聚合规则组成功后,在“监控实例 > 预聚合”中可查看当前监控实例的预聚合规则组列表,在规则组的操作列中,点击“删除”,在二次确认弹窗中,点击“确认”,即可删除规则组。