指标主题支持预聚合
我们在日常工作中,当指标监控数据量较大或者查询较为复杂时,会出现实时查询慢的情况。为改善此场景下的用户使用体验,CLS推出指标主题预聚合功能。
预聚合功能优势如下:
- 提升指标查询性能:当有一些复杂的查询需要频繁执行时,使用预聚合可以将这些查询预先计算好并存储为新的指标。这可以显著提升查询性能,缩短查询耗时。
- 简化查询语句:复杂的查询语句可能非常冗长且难以阅读,通过预聚合您可以将复杂的查询结果存储为简化的指标。这使得后续的查询更简单、更容易维护。
- 单独存储核心指标:指标主题中所有的数据按照相同的周期进行保存,过期后将自动清除。如需将其中少部分核心指标存储更久,可通过预聚合任务将这部分指标数据存储到其它指标主题中。
与此同时,预聚合兼容 Prometheus Recording Rule,可直接导入原生的 YAML 配置文件。
如,原始指标 prometheus_http_requests_total记录了 prometheus 各个接口在不同响应状态码的请求次数:
代码语言:javascript复制# 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
如果日常需要查询各个状态码的请求总次数,可使用如下的配置创建预聚合任务:
代码语言:javascript复制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为生成的指标名称,可自定义,后续可直接使用该名称查询计算好的指标。
使用说明
前提条件:已创建指标主题。
1. 登录日志服务控制台 -- 单击指标主题 -- 点击需要新建预聚合任务的指标主题ID/名称;
2. 单击指标预聚合页签,进入预聚合任务列表页面,共计三项操作,在此处可进行:新建任务、导入配置文件、管理配置文件的操作。
- 新建任务
1) 在指标预聚合任务列表页面,选择“新建任务”,创建新的指标预聚合任务。
2) 按照页面提示填写相关内容,配置完成后单击提交,完成新建。
3) 主要配置项说明:
- 导入配置文件
1) 在指标预聚合任务列表页面,选择“导入配置文件”,导入预聚合任务的配置文件。
2) 按照页面提示填写所需内容,配置完成后单击提交,保存配置文件,会自动生成预聚合任务,任务名称由 YAML 中的 group name 及 record 组成。
3) 主要配置项说明:
特别说明:通过配置文件自动生成的预聚合任务需通过配置文件进行修改,不支持直接修改。
- 管理配置文件 在指标预聚合任务列表页面,选择“管理配置文件”,可查看当前已有的预聚合指标任务,在操作列进行相关管理操作:
- 修改:修改配置文件,配置项与导入配置文件一致。 修改后系统将根据最新的配置文件自动调整预聚合任务(删除配置文件中已不存在的任务、增加新的任务、更新已有任务)。
- 暂停:暂停配置文件对应的预聚合任务,暂停期间这些任务将不再执行。
- 删除:删除配置文件对应的预聚合任务。
更多功能介绍,请见官网文档:
https://cloud.tencent.com/document/product/614/110431