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

PromQL中如何删除指标原有标签并重命名另一标签完成替换

实现方案

你可以通过PromQL内置的label_replace函数配合聚合标签筛选能力实现需求,不需要调整全局重标记配置,查询阶段即可完成标签处理。

核心逻辑

先清理is_up上冲突的原有label_b标签,再将label_a重命名为label_b,实现两个指标的标签对齐。

具体查询语句

有两种写法均可实现:

  1. 用without显式删除冲突标签,适合需要保留is_up除label_b外其他原有标签的场景:
label_replace(
  count(is_up) without (label_b),
  "label_b", "$1",
  "label_a", "(.*)"
)
unless
count(is_active) by (label_b)
  1. 用by只保留必要的关联标签,写法更简洁:
label_replace(
  count(is_up) by (label_a),
  "label_b", "$1",
  "label_a", "(.*)"
)
unless
count(is_active) by (label_b)

说明

  • by(label_a)/without(label_b)都会自动丢弃is_up上原有格式不匹配的label_b标签,避免重命名时发生冲突
  • label_replace会将label_a的取值直接赋值给新的label_b标签,处理后两个指标的关联标签完全对齐,可以正常用unless做差集计算,最终返回的结果就是「节点正常运行但对应服务未运行」的实例,可直接用于告警规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 10:45:05