如何为Prometheus查询指标container_cpu_reserved添加自定义静态标签?
给Prometheus指标添加自定义标签的两种方法
一、临时查询时添加标签(无需修改配置)
如果只是想在单次查询中临时带上目标标签,有两种实现方式:
1. 使用label_set函数(Prometheus 2.27+ 支持)
这是最简洁的方式,可直接为指标批量添加标签:
label_set(container_cpu_reserved, {cloud="aws", account_id="0123456789"})
执行后返回的指标会保留原有全部标签,同时新增cloud="aws"和account_id="0123456789"。
2. 使用label_replace函数(兼容旧版本)
如果你的Prometheus版本低于2.27,可通过嵌套label_replace逐个添加标签:
label_replace(label_replace(container_cpu_reserved, "cloud", "aws", "", ""), "account_id", "0123456789", "", "")
这里的空匹配规则("")表示给所有container_cpu_reserved指标都添加标签。
二、永久添加标签(修改采集配置)
如果希望所有采集到的container_cpu_reserved指标都自动带上这两个标签,需要修改Prometheus的配置文件,找到对应job="nomad"的采集配置,添加relabel_configs规则:
scrape_configs: - job_name: "nomad" # 保留原有其他配置(比如targets、metrics_path等) relabel_configs: # 添加cloud标签 - source_labels: [] target_label: cloud replacement: "aws" # 添加account_id标签 - source_labels: [] target_label: account_id replacement: "0123456789"
修改完成后重启Prometheus服务,后续采集的指标就会自动包含这两个新标签。
内容的提问来源于stack exchange,提问作者GBT55
相关产品推荐
相关产品推荐

