如果过去60分钟内的交易小于x,如何使用Graphite在Seyren中发出警报?

时间:2014-11-06 09:05:46

标签: monitoring graphite statsd seyren

我使用Graphite + Statsd(使用Python客户端)从webapp收集自定义指标:成功交易的计数器。我们假设计数器为stats.transactions.count,它还具有stats.transactions.rate可用的费率/每秒/秒指标。

我还将Seyren设置为监控+警报系统,并成功从Graphite中提取指标。现在如果过去60分钟内成功交易的数量少于某个最低值,我想在Seyren设置提醒。

我应该使用哪种指标和Graphite功能?我尝试使用summarize(metric, '1h'),但是当Graphite开始汇总开始时间的指标时,这会给我一个提醒。

请注意,Seyren还允许指定Graphite的fromuntil参数,如果这有帮助的话。

1 个答案:

答案 0 :(得分:15)

我提供了Seyren代码来支持from / until,以便处理这种情况。

如果最后一小时的计数低于50,则以下配置应发出警告,如果低于25则出现错误。

  • 目标:汇总(nonNegativeDerivative(stats.transactions.count)," 1h"," sum",true)
  • 来自: -1h
  • 收件人: [空白]
  • 警告: 50(最低软)
  • 错误: 25(最低难度)

请注意,这将每分钟运行一次,所以"最后一小时"是一个滑动比例。另请注意,汇总函数的第三个布尔参数true告诉它将其1h桶与From对齐,这意味着从1小时前开始获得一个完整的1小时桶,而不是意外获取半桶。 (较新版本的Graphite可能会自动执行此操作。)

您的里程可能会有所不同。当计数器在服务器重启时设置回0时,我遇到了这种方法的问题。但在我的情况下,我使用了dropwizard指标+石墨,而不是statsd + graphite,所以你可能没有那个问题。

如果这种方法适合你,请告诉我!

相关问题