Grafana中使用Prometheus irate()函数时如何解决数据解析问题?

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

我的导出器每 5 秒抓取一次指标。我将查询的范围向量设置为 10 秒,这是抓取间隔的 2 倍,以便捕捉“尖峰和低谷”,

问题是 Grafana 自动控制图表的分辨率(步长),当我设置很长的时间范围时,我会丢失一些数据点。

简单的解决方案是使用“$__interval”或“$__rate_interval”变量而不是恒定范围向量。

但是如果我使用变量作为范围向量,当我监视长时间范围图时,我会丢失许多数据点。因为 irate() 只考虑最后两个样本。

在 Grafana 中使用 irate() 可以吗?或者有什么更好的解决办法吗?

prometheus grafana grafana-variable
1个回答
0
投票

这是我解决问题的方法。

首先,随着数据范围的增长,由于性能原因,您必须放弃查看所有原始数据。

我能做的就是以某种方式降低数据的分辨率。在prometheus中,有一些名为“超时”的操作:avg_over_time、max_over_time等

如果您对原始数据的平均趋势感到好奇,可以使用 avg_over_time。另一方面,如果您想捕获原始数据中出现的峰值,则可以应用 max_over_time。如果您对下跌感到好奇,可以应用 min_over_time。我应用了 max_over_time 来捕获当时的峰值。

自然,由于添加到原始数据中的额外数学运算,查找速度会变慢。为了准确监控,我愿意承受性能损失。

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