容器服务支持自定义集群内的指标标签,提升监控系统的灵活性和信息丰富度。本文介绍如何配置自定义指标标签。
在 Prometheus 的监控体系中,指标(metrics)可以附加多个标签(labels),这些标签用于对数据进行更细致的分组和区分。每个标签由一个键(key)和一个值(value)组成,使得指标的维度更加丰富,便于用户对特定场景进行监控和分析。
例如,当用户正在监控多个服务器的 CPU 使用率时,可以使用标签来标示每台服务器的 ID 或者位置,例如cpu_usage{server_id="ecs1", location="datacenter1"}
。此时,用户不仅可以得到整体的 CPU 使用率,还能通过标签过滤得到指定服务器或者数据中心的 CPU 使用率。
使用标签可以非常灵活地查询、过滤或聚合数据,进行比较分析、计算总和或平均值等统计指标。这对于理解和优化系统性能非常有帮助。
说明
指标和 Label 的更多详情,请参见 Prometheus 时序数据格式。
除了指标中默认自带的标签(Label)外,很多情况下,用户需要自定义标签,以提升监控系统的灵活性和信息丰富度。例如:
env="production"
或env="development"
)来区分不同环境的指标数据。允许用户将多个环境的指标汇聚在单个 Prometheus 监控环境中,轻松地在单个 Prometheus 环境中查看多个环境的数据,并能够快速定位问题所在环境。instance="server1"
或 instance="server2"
)来标识每个服务的实例。这有助于监控每个实例的性能,识别不均衡的负载分配,或者检测具体实例的故障。version="1.0"
或version="1.1"
)来跟踪不同版本的应用性能。帮助开发团队理解新版本对性能的影响,或者比较不同版本间的性能差异。region="cn-beijing-1"
或region="cn-beijing-2"
)监控不同区域的性能,并对地区间的响应时间、可用性等关键指标进行分析。customer="customerA"
或project="projectX"
)来细分监控数据。查看特定客户或项目的资源使用情况,帮助业务团队进行成本分析和资源优化。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 字符
说明
global
参数,仅支持配置部分参数,详情请参见 prometheus-agent 全局配置参数。_cloud_product
、cluster
等内置标签无效。登录 VMP 服务控制台,使用 Explore 功能来快速查询集群指标数据。可以看到指标中自定义的标签。
prometheus 原生参数中,仅支持配置部分参数,如下表所示。未提及的参数表示不支持配置。
参数 | 是否支持配置 | 默认配置 |
---|---|---|
external_labels | 是 | 无 |
remote_write | 是 | 无 |