首页 > 解决方案 > 使用 PromQL 计算可用性

问题描述

我将监控我的 Kubernetes 集群的可用性。Prometheus 服务器抓取kube-apiserver指标并根据kube-apiserverpod 可用性计算可用性百分比。有时kube-apiserverpod 关闭,Prometheus 服务器根本无法抓取,有时 pod 启动并运行并服务请求,但由于网络连接或任何其他原因,Prometheus 服务器无法抓取指标。有没有办法使用 PromQL 来忽略任何值?还是计算 Kubernetes 集群可用性的更好方法?

标签: prometheushealth-monitoringpromqlkube-apiserver

解决方案


为了管理“无数据”,我找到了这篇文章并帮助我编写了查询:

clamp_max(sum by (cluster) (up{component="kube-apiserver"}),1) or on() vector(0)

使用or on() vector(0)到你的表达结束。如果度量表达式不返回任何内容,它将返回 0。


推荐阅读