使用Riemann报告CPU一如既往

时间:2015-11-19 10:44:05

标签: riemann

我们正在使用Riemann和Riemann-health来监控我们的服务器。但是现在我得到了很多CPU严重警告,因为CPU在很短的时间内达到了顶峰 - 这是我认为我甚至不需要知道的。根据我的理解,持续的高CPU使用率将增加负载平均值,这也将被报告并且听起来更有用。

我不想禁用报告CPU,只应认为每个级别都可以。如果可能,我想更改Riemann服务器上的事件,因此我不必更改所有服务器。

这里是我们的黎曼配置:https://gist.github.com/iGEL/e352764a8c559440c851

1 个答案:

答案 0 :(得分:0)

我没有完整的解决方案,但理论上你应该能够通过where函数过滤你的CPU相关事件,并使用with无条件地将状态设置为“ok”,如下所示:

(streams
    (where (service #"cpu")
        (with :state "ok" index)))

另一方面,依靠负载平均值不是一个好主意,因为高负载平均值也可能意味着a large number of processes are waiting for IO

除了使CPU警报静音之外,您可以仅在CPU处于超过X时间单位的状态时发出警报。 更好的是,针对代表客户端影响问题的更高级别指标发出警报,例如响应延迟,http状态代码,错误级别等。 毕竟,如果CPU很高,但对系统没有影响,警报可能只是噪音。