prometheus 过滤范围向量 day_of_week

prometheus filter range vector by day_of_week

我使用子查询来获取上周每小时的聚合值,例如:整个上周每小时的 http 请求数,这将 return 范围向量中的 168 个值。

delta(http_server_requests_seconds_count[1h])[1w:1h]

现在我想将值过滤为 return 只有特定工作日的值,假设 return 只有周一的 24 值。 我发现了一些关于 day_of_week、timestamp、bool expr 的提示,但我无法将它们组合起来使其正常工作,或者这可能是不可能的?类似于:

delta(http_server_requests_seconds_count[1h])[1w:1h] bool day_of_week() == 1

将您的 start/end 时间调整为仅在一天内使用会更有效率,但您可以这样做:

(increase(http_server_requests_seconds_count[1h]) and on () day_of_week() == 1)[1w:1h]