我有一个量规度量badness,当我的服务表现不佳时,它就会上升。服务的每个实例都有一个量规,我有很多实例。
我可以对所有实例取一个最大值,这样我就可以看到最坏的情况是什么:
max(badness)这个图很嘈杂,因为最坏的实例的标识,以及它有多糟糕,经常会发生变化。我想用移动平均法来解决这个问题。但是,这不起作用(我得到了一个PromQL语法错误):
avg_over_time(max(badness)[1m])如何将avg_over_time()应用于已经与max()运算符聚合的时间序列?
我的后端是VictoriaMetrics,所以我可以使用MetricsQL或纯PromQL。
发布于 2022-10-02 11:45:02
avg_over_time(max(process_resident_memory_bytes)[5m])查询在VictoriaMetrics中工作,没有问题。如果您在丙基前面使用VictoriaMetrics,它可能会失败,因为promxy不支持MetricsQL -有关详细信息,请参阅本期。
查询可以修复,所以它可以在Prometheus和promxy中工作--只需在方括号中的5m后面添加一个冒号:
avg_over_time(max(process_resident_memory_bytes)[5m:])这是普罗米修斯世界中的子查询。请参阅有关VictoriaMetrics中的子查询细节和这篇文章中的Prometheus的模式详细信息。
https://stackoverflow.com/questions/73778520
复制相似问题