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

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

有谁知道 Nagios 是否有设置临时检查间隔设置服务检查并在 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 应用程序进行更改(通过 CI)时,它还必须重新启动应用程序作为部署过程的一部分。这会触发我的一些 5 秒和 10 秒警告和严重警报。

我希望能够保留我目前的检查间隔重试间隔, 和最大检查尝试次数阈值保持不变,但可以在部署时暂时更改它们,并在 3 分钟后恢复到原始状态。

答案1

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

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

您可以让部署工作流向 Nagios 发送命令来修改参数,然后稍后(服务重新启动后)发送另一个命令来将其改回。同样,您可以暂时禁用主动检查或通知。

你应该做的(自动)将服务放入计划停机时间,通过部署过程。停机的好处是有一个停止/结束时间,因此您不必提交第二个命令来恢复更改。

相关内容