在 Prometheus guery 中获取最大 cpu

问题描述 投票:0回答:1

如何获取给定时间范围内每个命名空间的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
组合在一起才能达到预期的结果

prometheus monitoring promql
1个回答
0
投票

以下查询应返回过去一小时内每个

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() 文档 了解更多详细信息。

© www.soinside.com 2019 - 2024. All rights reserved.