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

如何在Prometheus中查询近3个月K8s集群内处于运行状态的Pod

Prometheus查询近3个月持续运行Pod方案

要实现该查询,核心逻辑是同时满足两个条件:Pod当前处于运行状态、Pod启动时间早于3个月前的时间戳,具体操作如下:

可用PromQL语句

直接执行以下查询即可得到结果:

kube_pod_status_phase{phase="Running"} == 1 and kube_pod_start_time < time() - 90d

语句说明

  • kube_pod_status_phase{phase="Running"} == 1:筛选当前状态为正在运行的Pod,该指标值为1时对应Pod处于正常运行状态
  • time() - 90d:Prometheus内置time()函数返回当前Unix时间戳,90d是Prometheus支持的时间单位(代表90天,和3个月的时长基本对齐,也可以手动替换为3*30*24*3600精确到秒计算)
  • kube_pod_start_time < time() -90d:筛选启动时间早于3个月前的Pod,说明该Pod从3个月前启动后未被重建、持续运行

可选扩展条件

如果需要排除中间发生过重启的Pod,可额外加重启次数为0的筛选条件:

kube_pod_status_phase{phase="Running"} == 1 and kube_pod_start_time < time() - 90d and kube_pod_container_status_restarts_total == 0

查询返回结果会自动携带Pod名称、所属命名空间、所在节点等标签信息,可直接查看。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 21:51:00