以下两个查询都会产生布尔输出。
查询1
state{token="59cdefc6f4e9ac94"} 1
查询2
state{token="c86fc1f35d479759"} 0
如何根据以下逻辑组合这两个查询?谢谢。
[Q1]&[Q2]
1 & 1 -> 1
1 & 0 -> 0
0 & 1 -> 0
0 & 0 -> 0
我推荐这个查询:
state{token="59cdefc6f4e9ac94"} + on() state{token="c86fc1f35d479759"} == bool 2
这里:
+ on()
对提供的值求和,忽略任何标签。结果不包含标签集中的任何标签,== bool 2
返回 1,否则返回 0。请注意,此查询假定每个查询恰好返回一个时间序列。如果情况并非如此,并且您的查询最终可能返回任何其他数量的时间序列,我会使用
(
vector(1)
and on() (state{token="59cdefc6f4e9ac94"}==1)
and on() (state{token="c86fc1f35d479759"}==1)
) or vector(0)
如果两个选择器中的任何时间序列等于 1,则此查询将返回 1,否则返回 0。