阿里云 Prometheus 用量分析与成本优化指南

更新时间:
复制为 MD 格式

本文旨在帮助用户自助分析阿里云可观测监控 Prometheus 版的指标写入量,定位高额费用的来源(实例、Job、指标),并提供相应的优化治理方案,从而有效控制成本。

阿里云 Prometheus 计费主要分为指标传入费用指标存储费用,具体参考计费概述。要优化用量,首先需要分析指标写入量较大的实例、Job 和指标。阿里云 Prometheus 提供了用量分析、指标统计和指标治理等功能来支持这一需求。

用量分析

1. 实例维度用量分析

首先从全局视角查看用量较高的Prometheus 实例。

  1. 登录云监控控制台

  2. 在左侧导航栏单击Prometheus 监控 > 用量统计

  3. 实例用量总览区域,您可以查看实例的上报量、写入量、归档存储量等计费相关统计。

    • 操作建议:按自定义指标上报量(百万)自定义指标写入量(GB)倒排,快速识别指标传入 TopN 的实例。

      image

说明

上报量和写入量是 Prometheus 实例数据传入不同的计费方式,用户可以二选一,一般情况下上报量比较高写入量也会比较高,具体参考计费概述

2. Job 维度用量分析

分析完实例维度后,可以针对用量较大的实例,进一步下钻分析产生大量数据的具体Job。

  1. 用量分析的大盘中,筛选期望下钻分析的实例。

  2. 查看Job排行:

    • 指标上报量统计 > job自定义指标上报量(Top10)中查看上报量Top 10 的自定义Job。

    • 指标写入量统计 > job自定义指标写入量(Top10)中查看写入量 Top 10 的Job。

    image

3. 指标维度用量分析

若需要定位导致高用量的具体指标,可以进入具体的 Prometheus 实例进行分析。

  1. 在左侧导航栏选择实例列表,单击目标实例名称,访问具体的 Prometheus 实例。

  2. 在左侧导航栏选择指标管理,在指标统计页签下:

    • Top 10 指标数据条数:查看上报量比较高的指标。

    • Top 10 指标名数据量:查看写入量比较高的指标。

  3. 您也可以在大盘上筛选查看上一步中分析出的写入量比较高的Job。

image

重要

指标统计中的数据条数和数据量为实时统计,实际出账的上报量或写入量可能存在一定误差,请以实际账单为准。

4. 高基数指标分析

在 Prometheus 中,高基数(High Cardinality) 是指时间序列(time series)的数量异常庞大,通常是由于指标(metric)的 标签(labels)组合过多导致的,一般情况下是指标中存储在发散的 label。

指标管理 > 指标治理中,提供了时间线统计和label 统计能力:

  • 指标快速分析:查看当前实例中时间线TopN的指标。

  • Label 快速分析:查看 Label数的TopN分析,也可以筛选具体的指标进行查看。

image

成本优化策略

基于上述用量分析的洞察,您可以针对性地采取以下措施进行成本优化。

策略1:选择合适的实例计费方式

Prometheus 在实例维度提供了写入量和上报量 2 种计费方式,您可以基于用量统计页面计算哪种方式更划算。

  • 操作:在 Prometheus 实例的设置中,切换不同的计费方式。

  • 限制:单实例只允许切换一次。

image

策略2:提高采集频率

  1. 接入管理页面,单击期望设置的环境名称,进入接入环境配置界面。

  2. 组件管理中找到期望设置的组件,单击目标组件操作列的设置

  3. 在配置界面中,设置采集间隔(秒)

image

策略3:废弃无用指标

  1. 在左侧导航栏选择接入管理,单击目标环境名称操作列的指标采集

  2. 在指标采集页面,单击指标废弃,输入期望废弃的指标即可。

    • 如果指标是通过开源 Prometheus 采集后 Remote Write 写到阿里云 Prometheus,可在抓取配置中通过metric_relabel_configs 删除不需要的指标。具体操作参考常见metric_relabel_configs使用场景示例

    • 也可以在 Remote Write 阶段通过 write_relabel_configs进行指标丢弃配置

策略4:优化高基数指标

  • 禁止发散标签:在指标源头,禁止将高基数的指标作为label ,例如用户 ID、订单 ID、Trace ID 作为标签。

  • 标签归一化:如果指标中存储了路径等 label ,建议进行归一化处理(比如:/api/user/123/profile → /api/user/:id/profile)。

总结

各优化措施的对比汇总如下表所示:

优化措施

作用范围

使用限制

实施难度

选择合适的实例计费方式

实例维度

单实例只允许切换一次。

提高采集频率

Job维度

云服务指标不支持(云服务指标本身基本都是1分钟粒度)

废弃无用指标

指标粒度

云服务高级指标不支持废弃

优化高基数指标

指标粒度

需要调整采集逻辑