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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Prometheus查询过滤器不适用于OR过滤器相关的知识,希望对你有一定的参考价值。

以下查询是否有问题?

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

如果我仅传递一个名称空间,它将起作用。

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

总和也可以不传递任何内容。

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"}

以上是关于Prometheus查询过滤器不适用于OR过滤器的主要内容,如果未能解决你的问题,请参考以下文章

如何在另一个 Prometheus 查询中引用查询值

过滤器集字段不适用于多个对象

Couchdb 视图不适用于多个过滤器

dplyr 取消引用不适用于过滤器功能

身份验证过滤器不适用于 Spring Boot

KendoUI 下拉过滤器不适用于 AngularJS