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

如何在Prometheus查询中编写‘或’逻辑运算符过滤条件?

Prometheus查询中实现“或”逻辑的方法

Prometheus的标签匹配语法里,同一组大括号内的逗号代表“与”逻辑,但不支持直接在括号内写or。要实现“或”逻辑,有两种常用方式:

  • 向量合并操作符|:把两个独立的标签查询结果合并,自动去重。比如要匹配job=~"abc"或者name=~"def",写法是:

    {job=~"abc"} | {name=~"def"}
    

    这个查询会返回所有符合任一条件的时间序列,同时满足两个条件的序列只会出现一次。

  • or操作符:和|效果一致,返回左右两个向量的并集。写法如下:

    {job=~"abc"} or {name=~"def"}
    

    注:or的逻辑是返回左侧向量的全部元素,再加上右侧向量中未在左侧出现的元素,最终结果和|完全相同。

如果需要结合“与”和“或”的复杂逻辑,可以用括号分组:

({job=~"abc", env="prod"} | {name=~"def", env="prod"})

上面的查询表示:(job匹配abc且环境是prod)或者(name匹配def且环境是prod)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 08:40:49