消息队列上的石墨/ grafana警报

时间:2018-01-31 12:50:45

标签: metrics grafana graphite

我们有一个队列中的消息等待时间被送入Graphite,用Coda Hale的Metrics库记录。然后我们有Grafana绘制那个时间图。我试图根据等待时间提出合理的警报,但我看到的是持续警报。它们可能是合法的,但我很难找到与之比较的例子,我想知道警报是否在做我认为正在做的事情。 我会很感激反馈和任何做类似事情的人的建议。我现在要提醒的是,消息等待时间超过记录消息等待时间的第98个百分点。我的疑问是 答:aliasByNode(... waitTime.p98,9) B:timeShift(... waitTime.p98,'5min'), C:asPercent(#B,#A) 我的警报是 当avg()的查询(C,5m,现在)高于100

1 个答案:

答案 0 :(得分:0)

听起来您想使用movingAverage (...waitTime.p98, '1hour')而不是timeShift(...waitTime.p98, '5min')

这将为您提供asPercent(...waitTime.p98,movingAverage(...waitTime.p98, '1hour'))的最终查询,该查询将计算每个间隔的值,作为前一个小时滚动窗口的平均值的百分比。然后当你使用警报平均5分钟时,你将得到的值实际上是过去5分钟的平均值,而不是最后1小时5分钟的平均值。

另一种方法是使用asPercent(movingaverage(...waitTime.p98, '5min'), movingAverage(...waitTime.p98, '1hour'))并获取当前值。它不是100%相同,但更容易推理,因为你可以绘制它并确切地看到警报正在发射的内容。