请求协助:OpenShift+Grafana环境按Namespace统计Pod小时重启次数
解决OpenShift中按Namespace统计Pod重启次数的PromQL查询
正确查询语句(过去1小时)
sum by (namespace) (round(increase(kube_pod_container_status_restarts_total[1h])))
如果要统计过去24小时,只需将[1h]替换为[24h]即可。
语句说明
increase(kube_pod_container_status_restarts_total[1h]):针对每个Pod容器,计算过去1小时内重启次数的增量(计数器的增长值)。由于Prometheus的采样机制,结果可能出现小数,用round()函数将其转换为整数。sum by (namespace):将同一Namespace下所有容器的重启次数增量求和,得到该Namespace的总重启次数。
你之前尝试的问题分析
- 第一个语句
sum by (namespace) (kube_pod_container_status_restarts_total) > 0:获取的是当前累计的重启总数,不是过去1小时的增量,不符合需求。 - 第二个语句
count by (namespace) rate(kube_pod_container_status_restarts_total[60m]:语法缺失闭合括号,且rate()返回的是每秒重启速率,用count()统计逻辑完全错误,无法得到重启次数。 - 第三个语句
sum by (namespace)(increase(kube_pod_container_status_last_terminated_reason[1h])):kube_pod_container_status_last_terminated_reason是存在终止原因时为1的指标,并非重启次数计数器,统计这个指标的增量没有意义。
内容的提问来源于stack exchange,提问作者Robert123
相关产品推荐
相关产品推荐

