tencent cloud

日志服务

动态与公告
产品动态
公告
新手指引
产品简介
产品概述
产品优势
地域和访问域名
规格与限制
基本概念
购买指南
计费概述
产品定价
按量计费(后付费)
欠费说明
清理日志服务资源
成本优化
常见问题
快速入门
一分钟入门指南
入门指南
使用 Demo 日志快速体验 CLS
操作指南
资源管理
权限管理
日志采集
指标采集
日志存储
指标存储
检索分析(日志主题)
检索分析(指标主题)
仪表盘
数据处理
投递与消费
监控告警
云产品中心
DataSight 独立控制台
历史文档
实践教程
日志采集
检索分析
仪表盘
监控告警
投递和消费
成本优化
开发者指南
通过 iframe 内嵌 CLS(旧方案)
通过 Grafana 使用 CLS
API 文档
History
Introduction
API Category
Making API Requests
Topic Management APIs
Log Set Management APIs
Index APIs
Topic Partition APIs
Machine Group APIs
Collection Configuration APIs
Log APIs
Metric APIs
Alarm Policy APIs
Data Processing APIs
Kafka Protocol Consumption APIs
CKafka Shipping Task APIs
Kafka Data Subscription APIs
COS Shipping Task APIs
SCF Delivery Task APIs
Scheduled SQL Analysis APIs
COS Data Import Task APIs
Data Types
Error Codes
常见问题
健康监测问题解释
采集相关
检索分析相关
其他问题
服务等级协议
CLS 政策
隐私协议
数据处理和安全协议
联系我们
词汇表

指标预聚合

PDF
聚焦模式
字号
最后更新时间: 2026-01-07 15:32:33
指标监控数据量较大或者查询较为复杂时,实时查询可能较慢,查询语句编写也较为困难。为了解决这一问题,指标存储支持预聚合功能。预聚合支持预先计算复杂的查询(PromQL),并将结果存储为新的指标。这些预计算的数据可以在后续的查询和告警中直接使用,从而减少实时计算的开销,提高查询性能,并使监控配置更为简单和高效。预聚合兼容 Prometheus Recording Rule,可直接导入原生的 YAML 配置文件。
例如原始指标prometheus_http_requests_total记录了 prometheus 各个接口在不同响应状态码的请求次数:
# HELP prometheus_http_requests_total Counter of HTTP requests.
# TYPE prometheus_http_requests_total counter
prometheus_http_requests_total{code="200",handler="/api/v1/label/:name/values"} 7
prometheus_http_requests_total{code="200",handler="/api/v1/query"} 19
prometheus_http_requests_total{code="200",handler="/api/v1/query_range"} 27
prometheus_http_requests_total{code="200",handler="/graph"} 11
prometheus_http_requests_total{code="200",handler="/metrics"} 8929
prometheus_http_requests_total{code="200",handler="/static/*filepath"} 52
prometheus_http_requests_total{code="302",handler="/"} 1
prometheus_http_requests_total{code="400",handler="/api/v1/query_range"} 6
如果日常需要查询各个状态码的请求总次数,可使用如下的配置创建预聚合任务:
groups:
- name: example
rules:
- record: code:prometheus_http_requests_total:sum
expr: sum by (code) (prometheus_http_requests_total)
其中:
sum by (code) (prometheus_http_requests_total)为指标查询语句(PromQL),按照状态码分组求和请求次数。
code:prometheus_http_requests_total:sum为生成的指标名称,可自定义,后续可直接使用该名称查询计算好的指标。

使用场景

提升指标查询性能:当有一些复杂的查询需要频繁执行时,使用预聚合可以将这些查询预先计算好并存储为新的指标。这可以显著提升查询性能,缩短查询耗时。
简化查询语句:复杂的查询语句可能非常冗长且难以阅读,通过预聚合您可以将复杂的查询结果存储为简化的指标。这使得后续的查询更简单、更容易维护。
单独存储核心指标:指标主题中所有的数据按照相同的周期进行保存,过期后将自动清除。如需将其中少部分核心指标存储更久,可通过预聚合任务将这部分指标数据存储到其它指标主题中。

前提条件

已创建 指标主题

操作步骤

新建任务

2. 在左侧导航栏中,单击指标主题
3. 单击需要新建预聚合任务的指标主题 ID/名称,进入指标主题管理页面。
4. 单击指标预聚合页签,进入预聚合任务列表页面,单击新建任务。其中主要配置项说明如下:
配置项
说明
服务日志
将任务运行日志保存在日志主题 cls_service_log 中,便于监控任务运行状态。该日志主题免费,建议开启。
执行语句
需要执行的 PromQL 语句,预聚合任务定时执行该语句以获取执行结果。
指标名称
将执行语句结果存储在该指标名称下,后续使用该名称查询数据。支持英文字母、数字、下划线及冒号,需符合正则表达式[a-zA-Z_:][a-zA-Z0-9_:]*
自定义维度
为指标添加维度,自定义维度与执行语句查询结果中的维度名称冲突时,以自定义维度为准。
调度周期
预聚合任务的执行间隔,支持1~1440分钟,建议使用1分钟。
高级配置
目标指标主题:预聚合获得的指标数据存储到什么地方,默认为当前主题。如需将该部分数据单独存储(例如需单独设定这部分数据的保存时长),可将数据存储到其它指标主题中。
延迟执行:指标数据采集可能存在延迟,为了确保预聚合任务执行时数据已完整采集,可设定延迟执行,默认为30秒。
5. 配置完成后单击提交

导入配置文件

2. 在左侧导航栏中,单击指标主题
3. 单击需要新建预聚合任务的指标主题 ID/名称,进入指标主题管理页面。
4. 单击指标预聚合页签,进入预聚合任务列表页面,单击导入配置文件。其中主要配置项说明如下:

配置项

说明
启用状态
任务是否需要运行,不运行的任务不会产生预聚合结果数据。
服务日志
将任务运行日志保存在日志主题 cls_service_log 中,便于监控任务运行状态。该日志主题免费,建议开启。
执行间隔
预聚合任务的执行间隔,支持1~1440分钟,建议使用1分钟。
YAML 配置
兼容 Prometheus Recording Rule YAML,interval 仅支持1~1440分钟。例如:
groups:
- name: example
rules:
- record: code:prometheus_http_requests_total:sum
expr: sum by (code) (prometheus_http_requests_total)
高级配置
目标指标主题:预聚合获得的指标数据存储到什么地方,默认为当前主题。如需将该部分数据单独存储(例如需单独设定保存时长),可将数据存储到其它指标主题中。
延迟执行:指标数据采集可能存在延迟,为了确保预聚合任务执行时数据已完整采集,可设定延迟执行,默认为30秒。
5. 单击提交,保存配置文件,将自动生成预聚合任务,任务名称由 YAML 中的 group name 及 record 组成。
说明:
通过配置文件自动生成的预聚合任务需通过配置文件进行修改,不支持直接修改。

管理配置文件

2. 在左侧导航栏中,单击指标主题
3. 单击需要新建预聚合任务的指标主题 ID/名称,进入指标主题管理页面。
4. 单击指标预聚合页签,进入预聚合任务列表页面,单击管理配置文件
5. 在列表中可查看当前已有的配置文件,在操作列可管理配置文件:
修改:修改配置文件,配置项与 导入配置文件 一致。修改后系统将根据最新的配置文件自动调整预聚合任务(删除配置文件中已不存在的任务、增加新的任务、更新已有任务)。
暂停:暂停配置文件对应的预聚合任务,暂停期间这些任务将不再执行。
删除:删除配置文件对应的预聚合任务。

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈