PromQL表达式,用于查找两个间隔内的公共标签



假设我从现在-60m到现在-30m收集了以下指标-

fruits{name="apple"} 1
fruits{name="orange"} 1
fruits{name="pear"} 1

和从现在到现在

收集的以下指标
fruits{name="banana"} 1
fruits{name="pear"} 1
fruits{name="watermelon"} 1

我该如何写一个警报规则来检查是否有水果存在于两个集合和它的名字中?在本例中为

pear

尝试以下查询:

count(last_over_time(fruits[30m] offset 30m)) by (name)
and
count(last_over_time(fruits[30m])) by (name)

它应该返回name标签,该标签存在于两个时间范围-(now-60m .. now-30m](now-30m .. now]

它使用以下函数:

  • last_over_time用于选择过去30分钟内存在的所有时间序列
  • 抵消修饰符
  • 计数聚合函数
  • 和操作符

最新更新