在Nagios服务检查上设置临时check_interval

有谁知道Nagios是否可以select在服务检查上设置一个临时check_interval设置,并在X分钟后恢复?

我的服务检查定义如下所示:

define service { host_name prodhost use http service_description www.example.com:8080 check_command check_http!8080!example.com:8080!/!5.000!10.00 servicegroups http-check check_interval .5 retry_interval .25 max_check_attempts 3 

}

问题是,每次更改到我的Web应用程序(通过configuration项),它也必须重新启动应用程序作为部署过程的一部分。 这会触发我的5秒钟和10秒钟的一些警告和严重警报。

我希望能够保持当前的check_intervalretry_intervalmax_check_attempts阈值,但能够在部署完成后暂时更改它们,并在3分钟后恢复到原始状态。

你所指的是自适应监控 。 这不一定是实现目标的最佳方式,但是您可以使用外部命令更改这些参数。 例如,您可以通过使用ssh和键连接的脚本来远程提交它们。

(由于您不到1分钟的时间间隔,因此需要进行一些调整,因为Nagios在您的下一次检查运行之前可能尚未处理该命令。)

您可以让您的部署工作stream向Nagios发送命令来修改参数,然后再发送一个命令以在稍后(服务重新启动后)将其更改。 同样,您也可以临时禁用活动检查或通知。

你可能应该做的是(自动)通过部署过程将服务置于计划停机时间 。 停机时间有一个停止/结束时间的好处,所以你不必提交第二个命令来恢复你的改变。