6

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

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

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

4

1 回答 1

0

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

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

另一方面,依赖平均负载并不是一个好主意,因为高负载平均也可能意味着大量进程正在等待 IO

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

于 2015-12-01T05:33:45.457 回答