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

Jas*_*ton 8 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中设置了最好的保留,以10s为增量:

retentions = 10s:7d,1m:21d,24h:5y
Run Code Online (Sandbox Code Playgroud)

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

[sum]
pattern = \.count$
xFilesFactor = 0
aggregationMethod = sum
Run Code Online (Sandbox Code Playgroud)

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

如果我&rawData=true在任何一种情况下尝试使用我的URL,我会看到一些Nones,一些0.0s和一对1.0s被一些0.0s 分开.我从来没有看到这些小数值以某种方式显示在图表上.那么......这是一个错误吗?难道我做错了什么?

sla*_*wek 2

还有一个consolidateBy函数,它告诉 Graphite 如果没有足够的像素来准确绘制所有内容,该怎么做。默认情况下,它使用“avg”函数,因此当时间范围更大时会出现奇怪的结果。这里摘录自文档:

\n\n
\n

当绘制的图表中图表大小的宽度(以像素为单位)小于要绘制图表的数据点数量时,Graphite 会合并这些值以防止线条重叠。consolidateBy() 函数将合并函数从默认值 \xe2\x80\x98average\xe2\x80\x99 更改为 \xe2\x80\x98sum\xe2\x80\x99、\xe2\x80\ 之一x98max\xe2\x80\x99 或 \xe2\x80\x98min\xe2\x80\x99。这在销售图表中特别有用,其中小数值没有意义,并且综合值的 \xe2\x80\x98sum\xe2\x80\x99 是合适的。

\n
\n\n

另一个有用的函数是hitcount从这里摘录为什么它有用:

\n\n
\n

此函数类似于 summarise(),不同之处在于它会自动补偿不同的时间尺度(以便使用细粒度或粗粒度记录产生相似的图表)并优雅地处理很少发生的事件。

\n
\n\n

我花了一些时间摸不着头脑,为什么当我的聚合规则为最大值时,我的计数器会得到时间范围超过几个小时的分数。这是相当令人困惑的,尤其是在开始时,当你使用单个计数器来查看一切是否正常时。检查 rawData 是调试健全性检查的好方法;)

\n