【发布时间】:2016-12-19 07:03:20
【问题描述】:
我正在使用 prometheus 进行一些监控,并试图了解如何正确使用速率函数。
前提是这样;我有一个计数器,它的配置设置为每 15 秒获取一次新值。
现在我正在尝试绘制每秒的速率,所以使用速率函数我这样做:
rate(pgbouncer_sent_bytes_total{job="pgbouncer", database="worker"}[1m])
当我解释 rate 函数时,查询将在每个被查询的时间点给我一个滚动速率平均值(在 1m 回溯窗口中)。点的间隔由所使用的分辨率指定。
下面是来自 prometheus 控制台的屏幕截图,包括原始数据图和上面使用 1m 分辨率的速率查询的图。现在,此处生成的速率图与我查看底部图中的原始数据的预期并不完全相符。
有趣的是,根据加载的时间点,生成的图表看起来会非常不同。简单地在随后的几次重新加载相同的图表将完全改变外观到它甚至看起来不像代表相同数据的点。下图是几分钟后的同一个数据集,但即使几秒钟后也会出现同样的情况。
有人能解释一下这里到底发生了什么吗?
【问题讨论】:
-
我还注意到速率计算是跳跃的,并且随着重新加载而变化。速率计算比仅查看间隔中第一次和最后一次测量的斜率更复杂 - 也许还应该提供另一种方法。 github.com/prometheus/prometheus/blob/master/promql/…
标签: prometheus