gpt4 book ai didi

kubernetes - PromQL "where"子句

转载 作者:行者123 更新时间:2023-12-02 16:14:38 25 4
gpt4 key购买 nike

如何在 PromQL 中添加 where 子句?

我正在尝试构建一个查询,当在 Kubernetes 中运行的应用程序已启动超过一分钟但我想按 namespace 进行过滤时显示该查询。

这就是我的查询现在的样子

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

我想要完成的是仅获取 jenkinsdefault 命名空间的结果。

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

但我得到一个无效参数“query”:1:65:解析错误:分组选项中出现意外“{”,预期“(”错误。

最佳答案

在你的情况下,你必须通过你想要的标签(命名空间)“向上”过滤指标,它应该看起来像这样:

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

关于kubernetes - PromQL "where"子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67074188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com