You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用单条PromQL查询检测K8s API Server数量下降及全集群宕机?

Kubernetes API Server异常检测的PromQL优化方案

原查询用于检测API Server在线数量变化:

delta(sum(up{job="kubernetes-apiservers"}) by (cluster)[3h:1m])

该查询存在明显局限性:当集群所有API Server全量宕机时,sum(up{job="kubernetes-apiservers"}) by (cluster)对应的时间序列会直接消失,delta函数无法计算出变化值,导致无法触发告警。

以下是可以同时检测API Server数量下降和全部消失场景的合并查询:

delta(sum(up{job="kubernetes-apiservers"}) by (cluster)[3h:1m]) < 0
or
absent(sum(up{job="kubernetes-apiservers"}) by (cluster))

各部分作用说明

  • delta(sum(up{job="kubernetes-apiservers"}) by (cluster)[3h:1m]) < 0:计算3小时内集群API Server在线数量的变化量,当结果小于0时,说明有API Server实例下线,触发告警。
  • absent(sum(up{job="kubernetes-apiservers"}) by (cluster)):当集群所有API Server都宕机时,sum(up)生成的时间序列会消失,absent函数会针对不存在的序列返回1,刚好覆盖这种全量宕机的场景。

内容的提问来源于stack exchange,提问作者Federico Nafria

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 16:42:11