tencent cloud

文档反馈

指标预聚合

最后更新时间:2024-09-20 17:48:27
    指标监控数据量较大或者查询较为复杂时,实时查询可能较慢,查询语句编写也较为困难。为了解决这一问题,指标存储支持预聚合功能。预聚合支持预先计算复杂的查询(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. 在列表中可查看当前已有的配置文件,在操作列可管理配置文件:
    修改:修改配置文件,配置项与 导入配置文件 一致。修改后系统将根据最新的配置文件自动调整预聚合任务(删除配置文件中已不存在的任务、增加新的任务、更新已有任务)。
    暂停:暂停配置文件对应的预聚合任务,暂停期间这些任务将不再执行。
    删除:删除配置文件对应的预聚合任务。
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持