如何通过普罗米修斯查询排除一些工作

how to exclude some job in count by prometheus query

我有一个普罗米修斯查询如下:

100 * (count by(job, namespace, service) (up == 0) / count by(job, namespace, service) (up)) > 10

它正在给出结果

{job="kubernetes-pods"}
12.121212121212121
{job="kube-prometheus-kube-proxy", namespace="kube-system", service="kube-prometheus-kube-proxy"}  12.98
{job="kubernetes-service-endpoints"}   19

但在结果中我想排除

job="kube-prometheus-kube-proxy"

我该怎么做?我试过类似的东西:

100 * (count by(job {job!=“kube-prometheus-kube-proxy”}, namespace, service) (up == 0) / count by(job {job!=“kube-prometheus-kube-proxy”},, namespace, service) (up)) > 10

and 

100 * (count by(job, namespace, service) {job!=“kube-prometheus-kube-proxy”} (up == 0) / count by(job, namespace, service) {job!=“kube-prometheus-kube-proxy”} (up)) > 10

和其他选项。但是 none 它们按预期工作......在按查询的原始计数中,需要更改什么以便它不包括作业 job="kube-结果中的 prometheus-kube-proxy”?

过滤器必须写在指标名称之后,在本例中为 up。因此:

100 * (
  count by(job, namespace, service) (up{job!="kube-prometheus-kube-proxy"} == 0)
  / 
  count by(job, namespace, service) (up{job!="kube-prometheus-kube-proxy"})
) > 10

此外,我的普罗米修斯似乎不喜欢你时髦的 语录。我用典型的 ".

替换了它们