1

我有一个系列列表*.in.count,表示进入队列的消息数。如果我按原样绘制列表,它将是一条永远上升的线:

在此处输入图像描述

我想知道的是有多少消息进入队列,按小时汇总和汇总,并按天重置。像这样的东西:

在此处输入图像描述

我尝试了 Graphite 功能,但找不到实现此目的的方法。

4

2 回答 2

3

要在 Graphite 中随时间聚合事件,您可以结合使用group()sumSeries()summarize()group函数将指标提取到单个系列中,然后sumSeries将它们相加,然后汇总在一个间隔内聚合它们。

例如:

1小时总和:

summarize(sumSeries(group(*.in.count)),"1h")

或者

1天总和

summarize(sumSeries(group(*.in.count)),"1d")

然后,要使图形看起来像您想要的(即条形图),您应该将“线模式”设置为阶梯线,将“区域模式”设置为堆叠全部

于 2013-06-12T16:49:22.453 回答
0

老问题,但为了其他搜索者:

总结或计算每个间隔的计数(总计):

hitcount(perSecond(your.count), '1day')

Afaik 它在里面做了所有的黑魔法。包括但不限于summarize(scaleToSeconds(nonNegativeDerivative(your.count),1), '1day') 并且还应该根据落入所选聚合区间的碳保留期(一个或多个)进行缩放。

于 2016-11-23T15:08:34.297 回答