我正在尝试在 Grafana 中制作一组 pod 使用的 CPU 量的直方图。我不想要当前使用情况的即时快照,我希望它是每个 pod 在过去 1 小时内使用的平均值。
我遇到的问题是,我尝试的每个查询似乎都返回一个范围向量。例如这个查询:
sum(sum_over_time(system_cpu_usage{pod=~"$pod"}[1h])) by (pod)
/
sum(count_over_time(system_cpu_usage{pod=~"$pod"}[1h])) by (pod)
为每个 pod 返回一个像这样的范围向量
"data": {
"values": [
[
1729874620000,
1729874640000,
1729874660000,
1729874680000,
],
[
0.48956301869585045,
0.6437413841918773,
0.6332958523730499,
0.5662626892438256,
]
]
}
但我只想要每个 pod 的一个瞬时向量或一个标量值。
我能得到的最接近的答案是
last_over_time(avg by (pod) (system_cpu_usage{pod=~"$pod"})[1h:5m])
返回每个 pod 的
"data": {
"values": [
[
1729874680000,
],
[
0.5662626892438256,
]
]
}
这几乎就是我想要的。我更喜欢使用avg_over_time
,但再次,它会返回多个时间值。