Prometheus - 在仪表板的 Grafana 时间范围内测量容器 运行 的时间

Prometheus - Measure time a container has been running in Grafana Time Range for dashboard

我正在尝试从 kubernetes 中的 grafana 仪表板获取某个 container/pod 在时间范围间隔内 运行 的时间。考虑到pod可以同名停止和启动。

基于:

我能够测试以下查询:

count_over_time(
  (changes(container_last_seen{namespace="dslab", pod=~"$user"}[90s])>0)
  [<interval>:90s]
)*90

但它不起作用,因为 pod 以相同的名称重新启动

以下解决方案有效。

在普罗米修斯这个查询中:

(kube_pod_container_status_running{pod=~"$pod_name"} > 0) * ($__interval_ms / 1000)

$__interval_ms 是仪表板中所选时间范围的时间(以毫秒为单位)

然后在grafana transfromation option: group by and calculate Total or Count: