【发布时间】:2021-04-13 11:42:52
【问题描述】:
如何在 PromQL 中添加 where 子句?
我正在尝试构建一个查询,显示在 Kubernetes 中运行的应用程序何时启动超过一分钟,但我想按命名空间进行过滤。
这就是我的查询目前的样子
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 和 default 命名空间的结果。
{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"}
但我收到 invalid parameter "query": 1:65: parse error: unexpected "{" in grouping opts, expected "(" 错误。
【问题讨论】:
标签: kubernetes where-clause prometheus promql