Kubernetes PromQL“where”子句

Kubernetes PromQL“where”子句,kubernetes,where-clause,prometheus,promql,Kubernetes,Where Clause,Prometheus,Promql,如何在PromQL中添加where子句 我试图构造一个查询,当在Kubernetes中运行的应用程序启动超过一分钟时显示该查询,但我希望按名称空间进行过滤 {job="apiserver", namespace="default", service="kubernetes"} {job="jenkins", namespace="jenkins", service="jenkins&qu

如何在PromQL中添加where子句

我试图构造一个查询,当在Kubernetes中运行的应用程序启动超过一分钟时显示该查询,但我希望按名称空间进行过滤

{job="apiserver", namespace="default", service="kubernetes"}
{job="jenkins", namespace="jenkins", service="jenkins"}
这就是我目前的问题

100 * (count(up == 1) BY (job, namespace, service) ) > 1
这很好,但它提供了我不需要的额外信息

{job="prometheus-grafana", namespace="monitor", service="prometheus-grafana"}
{job="jenkins", namespace="jenkins", service="jenkins"}
{job="kube-state-metrics", namespace="monitor", service="prometheus-kube-state-metrics"}
{job="node-exporter", namespace="monitor", service="prometheus-prometheus-node-exporter"}
{job="kubelet", namespace="kube-system", service="prometheus-kube-prometheus-kubelet"}
{job="apiserver", namespace="default", service="kubernetes"}
我试图完成的是只获得jenkins和默认名称空间的结果

{job="apiserver", namespace="default", service="kubernetes"}
{job="jenkins", namespace="jenkins", service="jenkins"}
我试过了

100 * (count(up == 1) BY (job, namespace, service) ) > 1 and ON {namespace="jenkins"}

但是我得到了一个无效的参数查询:1:65:parse error:unexpected{在分组选项中,预期的错误。

您必须根据您想要的名称空间的标签来筛选度量。在您的情况下,它应该如下所示:

100 * count(up{namespace=~"default|jenkins"} == 1) > 1

在您的案例中,您必须根据您想要的名称空间的标签来过滤度量,它应该如下所示:

100 * count(up{namespace=~"default|jenkins"} == 1) > 1

非常感谢佩塔。这对我帮助很大。非常感谢佩塔。这对我帮助很大。