我正在监视一个队列,以便在Graphite中跟踪错误消息的数量。错误消息处于“错误”的结束状态状态,因此将计数简单发送到计量器或计数器不会按预期工作。
举例说明:
minute path result
--- ---- ------
1 queue.errors 3000 3000 errors (the baseline)
2 queue.errors 3002 2 errors
3 queue.errors 3005 3 errors
4 queue.errors 3010 5 errors
有没有办法通过statsd或graphite来处理这种指标?错误的队列计数将永远增加,但有意义的值实际上只是自上一个值以来的更改。
我读过关于statsd的Gauge Delta,它看起来与我需要的相反:
statsd.gauge('foo', 70) # Set the 'foo' gauge to 70.
statsd.gauge('foo', 1, delta=True) # Set 'foo' to 71.
但是,我真正需要的是:
statsd.gauge('foo', 70) # Set the 'foo' gauge to 70.
statsd.gauge('foo', 71, ?????=True) # Set 'foo' to 1.
答案 0 :(得分:2)
有趣的是,你应该问,有一个关于能够跟踪statsd中的绝对值并得到衍生物的能力。见https://github.com/etsy/statsd/issues/324
它的要点是statsd不支持定义为不断增加的自然整数的计数器。较老的工具,如rrdtool,但它们提供的灵活性几乎与statsd不同。
答案 1 :(得分:2)
如果您想从计价器或计数器值中获取更改率,请将其包含在derivative()或nonNegativeDerivate()函数中。