如何显示一段时间内重启的kubernetes pod数量?

psi*_*log 3 grafana kubernetes prometheus kubernetes-pod

我有带有 prometheus 和 grafana 的 kubernetes 集群用于监控,我正在尝试构建一个仪表板面板,该面板将显示我正在查看的期间已重新启动的 Pod 数量。

Atm 我有一个查询,如果 pod 的创建时间在范围内(意味着它已在此期间重新启动),则用 1 填充向量,否则用 -1 填充。

-sgn((time() - kube_pod_created{cluster="$cluster"}) - $__range_s)

这看起来像什么

有没有办法计算这个向量中正值的数量并显示它?就像在这个例子中一样,只有一个里面有红色 1 的盒子。或者也许有更好的方法来完成我正在尝试的事情。

小智 7

为了显示 Pod 重新启动,我们有不同的 Prometheus 指标

kube_pod_container_status_restarts_total。这是计数器指标,这将记录容器的重新启动。

计算重新启动次数:

  • 如果您想查看所有 pod, sum(increase(kube_pod_container_status_restarts_total{namespace="My-Namespace"}[5m])) by(pod)
  • 或者如果您想要特定的 Pod,则使用, sum(increase(kube_pod_container_status_restarts_total{namespace="My-Namespace", pod="My-Pod"}[5m]))
  • 或通过容器明智使用来显示 sum(increase(kube_pod_container_status_restarts_total{namespace="My-Namespace", pod="My-Pod"}[5m])) by(container)