首页 > 解决方案 > 如何根据时间范围内的最大值过滤prometheus查询结果?

问题描述

我正在监视一系列汇总的 CPU 负载数据。如同:

avg(load_data{}) by (service_name)

现在,我只想过滤掉满足以下条件的结果: 在过去的n天内,一项服务的最大值大于90%。

我的目的是专注于 CPU 使用率高的服务。

我怎样才能做到这一点?我试过 max_over_time() 但没有用。

标签: prometheusgrafanapromql

解决方案


您需要使用子查询,如下所示:

max_over_time(avg by (service_name) (load_data)[1d:])

Prometheus 文档中的更多信息在这里


推荐阅读