如何获取给定时间范围内每个命名空间的CPU最大值?
为了获取我使用的值的向量:
sum(namespace_pod_name_container_name:container_cpu_usage_seconds_total:sum_rate{}) by (namespace)
我对 max()
和 max_over_time()
函数有点困惑。
特别是我不明白如何将 max_over_time
、sum
和 rate
组合在一起才能达到预期的结果
以下查询应返回过去一小时内每个
namespace_pod_name_container_name:container_cpu_usage_seconds_total:sum_rate
namespace
指标的最大总和(请参阅查询中的 [1h]
):
max_over_time(
(
sum(
namespace_pod_name_container_name:container_cpu_usage_seconds_total:sum_rate
) by (namespace)
)[1h:1m]
)
它使用 subquery 功能来计算以当前时间戳结束的 1 小时时间范围内每分钟每个
namespace_pod_name_container_name:container_cpu_usage_seconds_total:sum_rate
的 namespace
总和。然后它找到每个 namespace
的这些计算总和的最大值。
请参阅 max_over_time() 文档 和 sum() 文档 了解更多详细信息。