使用statsD时,有没有办法填写石墨中的缺失数据?

Big*_*Ben 15 graphite statsd

我正在使用statsD向石墨报告计数器数据; 每次收到消息时都会发送一个勾号.这种方法很有效,除非statsD因任何原因必须重新启动.然后我在我的图表中得到了很大的漏洞,因为在我没有收到任何消息的时间段内,statsD现在不再每10秒发送一次"0".

我正在报告各种不同的消息类型和队列,有时我很长时间没有收到特定队列的消息.

是否有任何现有的方法用我指定的默认值"填充"缺失的数据(在我的情况下,这将是0)?

我考虑为给定的指标发送'0'计数,以便statsD开始为它发送0,但我并不总是知道我将提前报告的指标集.

fer*_*eel 17

查看Graphite提供的函数transformNull.例如

transformNull(stats.timers.deploys.all.duration.total.mean, 0)
Run Code Online (Sandbox Code Playgroud)

这会将具有空数据的部分映射到0.


per*_*won 11

您可以在graphite中使用"keepLastValue(requestContext,seriesList)"函数来处理缺失的数据.它"[c]在数据中出现间隙('无'值)时,将最后收到的值打开,而不是破坏你的线."

  • 不要迂腐,发送0而不是"无数据"将对您的聚合(分位数,平均值)产生降低影响. (2认同)

mmr*_*ins 9

如果您只想用零填充可视图形,请查看"图形选项 - >线条模式 - >绘制零点为零".这不会让你设置0以外的值,如果你得到json或csv格式的数据,它不会导致0出现,但如果你只是想看到一些图形,它通常是你想要的伸展没有数据记录的地方.

没有Draw Null为Zero

将Draw Null设为零