Prometheus 查询过滤器不适用于 OR 过滤器

Prometheus query filter not working for OR filter

下面的查询有问题吗?

kube_resourcequota{resource="count/deployments.apps",type="hard",namespace="test1|test2"}

如果我只传递一个命名空间,它会起作用。

kube_resourcequota{resource="count/deployments.apps",type="hard",namespace="test1"}

Sum 也可以不传递任何东西。

sum(kube_resourcequota{resource="count/deployments.apps",type="hard"})

instant vector selector可以表示为

  • namespace="test1" 匹配标签 namespace 完全等于 "test1"
  • <no selector on namestapce> 匹配 namespace
  • 的所有值
  • namespace=~"test1|test2" 将标签 namespace 与给定的正则表达式
  • 匹配

您犯了一个错误:您使用了具有完全匹配 (=) 的正则表达式 "test1[test2" 而不是正则表达式匹配 (=~)。

正确的表达方式是:

kube_resourcequota{resource="count/deployments.apps",type="hard",namespace=~"test1|test2"}