You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PromQL合并标签名相同值不同的两个指标并生成指定结构?

PromQL合并指标查询解决方案

原始指标结构

metric1{label_1="a",label_2="b",...,status="running"} 0
metric1{label_1="a",label_2="b",...,status="running"} 1
metric2{label_1="a",label_2="b",...,status="healthy"} 0
metric2{label_1="a",label_2="b",...,status="healthy"} 1

需求说明

筛选出值为特定值的指标,合并为如下结构的指标:

resultmetric{label_1="a",label_2="b",...,metric1_status="running", metric2_status="healthy"}

正确PromQL查询语句

假设你要筛选的值为1,替换为你需要的特定值即可:

label_replace(metric1{value=1}, "metric1_status", "$1", "status", "(.*)")
* on(label_1, label_2) group_left(metric1_status)
label_replace(metric2{value=1}, "metric2_status", "$1", "status", "(.*)")

语句解释

  1. 标签重命名:使用label_replace函数,将metric1的status标签重命名为metric1_status,metric2的status标签重命名为metric2_status,同时保留label_1、label_2等共同标签。
  2. 指标合并:通过on(label_1, label_2)指定合并时匹配的共同标签,确保同一组label_1/label_2的指标能关联到一起;group_left(metric1_status)保证左侧指标的新标签被保留,同时合并右侧指标的metric2_status标签。
  3. 值筛选:{value=1}部分替换为你需要的特定值条件,比如{value=0}。

内容的提问来源于stack exchange,提问作者Petr Javorik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 14:57:28