使用长持续时间时,Graphite不能正确绘制值?

时间:2012-10-22 20:16:24

标签: graphite

我正在尝试使用statsd和graphite绘制数据。我有一个简单的计数器,我将它递增1,然后当我在一天中绘制计数器的值时,我会看到奇怪的值,如0.09作为我图表中的峰值(参见http://i.stack.imgur.com/o4gmz.png

此图表应显示2次登录,但显示为0.09。如果我将时间刻度从1天更改为最后15分钟,那么它会正确显示两次登录(请参阅http://i.stack.imgur.com/23vDJ.png

我已经在storage-schemas.conf中设置了最好的保留,增量为10秒:

retentions = 10s:7d,1m:21d,24h:5y

我已将storage-aggregation.conf文件设置为总计数:

[sum]
pattern = \.count$
xFilesFactor = 0
aggregationMethod = sum

(并且,在你问之前,是的;这是一个.count)。

如果我使用&rawData=true尝试使用我的网址,那么在任何一种情况下,我都会看到一些None,一些0.0和一对1.00.0隔开{ {1}}秒。我从来没有看到这些小数值以某种方式显示在图表上。那么......这是一个错误吗?我做错了吗?

1 个答案:

答案 0 :(得分:2)

还有 consolidateBy 功能,告诉石墨如果没有足够的像素可以准确地绘制所有内容,该怎么做。默认情况下,它使用" avg"功能,因此当时间范围更大时奇怪的结果。 Here摘自文档:

  

绘制图形时,图形大小的宽度(以像素为单位)   小于要绘制的数据点的数量,Graphite   合并值以防止线重叠。该   consolidateBy()函数从中更改合并函数   'average'的默认值为'sum','max'或'min'之一。这是   在销售图表中特别有用,其中小数值为no   感觉和合并价值的“总和”是合适的。

另一个可能有用的功能是 hitcount 。摘自here为什么它有用:

  

这个函数就像summarize(),除了它补偿   自动为不同的时间尺度(以便类似图表   使用细粒度或粗粒度记录的结果)和   处理很少发生的事件。

我花了一些时间摸不着头脑,为什么我的计数器得分,时间范围超过几小时,当我的聚合规则达到最大值时。它非常令人困惑,特别是在你开始玩单个计数器以查看是否一切正常时。检查rawData是调试健全性检查的一种很好的方法;)