You need to enable JavaScript to run this app.
导航
自定义指标标签
最近更新时间:2024.07.16 15:53:20首次发布时间:2024.04.28 14:02:25

容器服务支持自定义集群内的指标标签,提升监控系统的灵活性和信息丰富度。本文介绍如何配置自定义指标标签。

背景信息

指标和标签

在 Prometheus 的监控体系中,指标(metrics)可以附加多个标签(labels),这些标签用于对数据进行更细致的分组和区分。每个标签由一个键(key)和一个值(value)组成,使得指标的维度更加丰富,便于用户对特定场景进行监控和分析。

例如,当用户正在监控多个服务器的 CPU 使用率时,可以使用标签来标示每台服务器的 ID 或者位置,例如cpu_usage{server_id="ecs1", location="datacenter1"}。此时,用户不仅可以得到整体的 CPU 使用率,还能通过标签过滤得到指定服务器或者数据中心的 CPU 使用率。

使用标签可以非常灵活地查询、过滤或聚合数据,进行比较分析、计算总和或平均值等统计指标。这对于理解和优化系统性能非常有帮助。

说明

指标和 Label 的更多详情,请参见 Prometheus 时序数据格式

自定义标签

除了指标中默认自带的标签(Label)外,很多情况下,用户需要自定义标签,以提升监控系统的灵活性和信息丰富度。例如:

  1. 多环境区分:在开发、测试和生产环境中部署相同的应用时,可以使用标签(例如 env="production"env="development")来区分不同环境的指标数据。允许用户将多个环境的指标汇聚在单个 Prometheus 监控环境中,轻松地在单个 Prometheus 环境中查看多个环境的数据,并能够快速定位问题所在环境。
  2. 服务实例区分:当同一服务有多个实例运行时,可以使用标签(例如 instance="server1"instance="server2")来标识每个服务的实例。这有助于监控每个实例的性能,识别不均衡的负载分配,或者检测具体实例的故障。
  3. 版本追踪:在进行软件部署或更新时,可以通过标签(例如version="1.0"version="1.1")来跟踪不同版本的应用性能。帮助开发团队理解新版本对性能的影响,或者比较不同版本间的性能差异。
  4. 地理位置标记:对于分布式服务,可以使用地理位置相关的标签(例如region="cn-beijing-1"region="cn-beijing-2")监控不同区域的性能,并对地区间的响应时间、可用性等关键指标进行分析。
  5. 业务相关信息:可以使用业务层面的标签(例如customer="customerA"project="projectX")来细分监控数据。查看特定客户或项目的资源使用情况,帮助业务团队进行成本分析和资源优化。

注意

为指标添加自定义标签,会导致短期(1 小时)内,工作区中的活跃时序数翻倍,请提前确认与集群绑定的托管 Prometheus 工作区规格能满足要求。详情请参见 工作区基本概念工作区规格

前提条件

  • 已创建集群,并开启云原生观测功能,详情请参见 开启观测
  • 已安装 prometheus-agent 组件,并升级至 v2.6.0-vke.1.24 或 v2.6.0-vke.1.20 及以上版本。详情请参见 组件发布记录

操作步骤

  1. 登录 容器服务控制台
  2. 单击左侧导航栏中的 集群
  3. 在集群列表页面,单击需要配置的目标集群。
  4. 在集群管理页面的左侧导航栏中,选择 配置管理 > 配置项,单击 使用 Yaml 创建,添加配置项。
apiVersion: v1
kind: ConfigMap
metadata:
  name: additional-monitoring-config # 配置项名称,固定值,请勿修改
  namespace: kube-system # 配置项所在命名空间,固定值,请勿修改
data:
  external-labels: |-
    k1: v1
    k2: v2
    
  # k1: v1 为用户自定义的指标标签
  # label 长度不超过 256B (Byte)
  # label 需要符合正则规则 [a-zA-Z_][a-zA-Z0-9_]*
  # label value 长度不超过 2048B (Byte)
  # label value 必须是合法 utf8 字符

说明

  • 该配置为全局配置,为集群配置自定义指标标签后,所有使用 prometheus-agent 组件采集到的指标均会增加该标签。
  • 该配置修改的是 prometheus 原生参数 中的global参数,仅支持配置部分参数,详情请参见 prometheus-agent 全局配置参数
  • 升级 promtheus-agent 组件时,该配置不会被覆盖。
  • 配置_cloud_productcluster等内置标签无效。

结果验证

登录 VMP 服务控制台,使用 Explore 功能来快速查询集群指标数据。可以看到指标中自定义的标签。

alt

参考信息

prometheus-agent 全局配置参数

prometheus 原生参数中,仅支持配置部分参数,如下表所示。未提及的参数表示不支持配置。

参数是否支持配置默认配置
external_labels
remote_write