2016-08-12 123 views
1

我正在做一些与普罗米修斯监测,并试图了解如何正确使用率函数。普罗米修斯率函数和区间选择

前提是这样;我有一个计数器,对此的配置设置为每15秒采集一次新值。

现在我试图绘制的每第二个速度,所以使用率函数我这样做是:

rate(pgbouncer_sent_bytes_total{job="pgbouncer", database="worker"}[1m]) 

正如我解释率功能,查询会给我一个滚动速度平均(在1米回头看窗口)在被查询的每个时间点。点的间隔由所使用的分辨率来指定。

下面是prometheus控制台的屏幕截图,包括原始数据图和上面使用1米分辨率的速率查询图。现在由此产生的费率图并不符合我在底部图中查看原始数据的预期。

data graphs

有趣的一点还在于所产生的图形看起来会很不同,这取决于在一次加载点。简单地重新加载同一个图形的几个后续时间将彻底改变看起来甚至不看起来,因为它代表相同的数据。几分钟后,下面的图像是相同的数据集,但即使在几秒钟后也是如此。

rate reloaded graph

有人能阐明什么是真正回事一些轻?

+0

我也注意到费率计算很诡异,并且随着重新加载而变化。比率计算比仅仅考虑间隔中第一次和最后一次测量的斜率更复杂 - 也许应该提供另一个方法。 https://github.com/prometheus/prometheus/blob/master/promql/functions.go#L50 – eckes

回答

2

你说的不符合数据,原始数据每分钟只上升一次。你确定你每15秒就刮一次?

+0

但是,放大时它变得更加明显。此外,这将产生,只是扩大范围选择/分辨率将解决它。它不是。我包括一个例子系列,我真的有所有系列中都存在同样的问题。 – Pelleplutt

+2

问题是你的刮。 1分钟的时间间隔与1分钟的时间范围相结合将极易受到比赛的影响。 –