Bru*_*ira 5 grafana kubernetes prometheus
我正在尝试使用 prometheus 计算 pod 在 grafana 中处于挂起状态的平均时间。我可以使用此查询生成一个图表,以获取一段时间内处于挂起状态的 Pod 数量
sum(kube_pod_status_phase{phase="Pending"})
Run Code Online (Sandbox Code Playgroud)
但是,我真的很想获得 pod 在过去 X 小时内保持此状态的平均时间值。我怎样才能做到这一点?
小智 6
该指标kube_pod_status_phase{phase="Pending"}只会为您提供二进制值,即 0/1。如果 pod 处于挂起状态,则为 1,否则为 0。此外,数据每 30 秒更新一次。因此,要查找过去 X 小时内待处理的总时间,您可以执行类似的操作。
sum_over_time(kube_pod_status_phase{phase="Running"}[Xh]) * X * 30
Run Code Online (Sandbox Code Playgroud)
为了更好的可视化,您可以使用grafana中的表格。
PromQL 提供随时间变化的聚合函数。
您在表达式中指定时间范围;对于前 X 个小时,它将是:
avg_over_time(kube_pod_status_phase{phase="Pending"}[Xh])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4034 次 |
| 最近记录: |