正在寻找一个配置选项,以使响应 OK 的检查在达到 max_check_attempts 之前不会达到硬状态。
问题是,我们将拥有一项可以上线的服务,然后在几分钟内立即恢复,但是当它恢复时,它会发出 OK 通知,从而解决我们的票务系统中的问题。
答案1
我的建议是,首先确定投影仪停机后多长时间是可接受的时间范围,然后再将停机视为新的停机,还是上次停机的一部分。
根据该窗口的程度,我会建议遵循@b0fh 的建议并重新设计检查。如果窗口很短(几分钟),只需告诉 OK 结果的检查休眠 X 分钟,然后重新运行检查;如果第二次通过,则发送退出代码 0。但是,如果窗口长于几分钟,我会说更好的选择是重新设计检查,本质上是使用状态缓存(以便您可以将中断/设备与缓存进行比较)。为了使此方法更有效,您可能需要在 Nagios 主机上将脚本/检查作为计划作业运行,并让它将被动检查结果发送到 Nagios。
答案2
Nagios 认为按照您描述的方式运行的主机或服务扑。您可能希望调整此主机/服务的抖动检测。
答案3
使用 check_command 覆盖默认主机检查并定义自定义检查/脚本,在声明状态之前执行所需数量的检查。更简单的是,再次使用 check_command,定义一个新的 check-host-alive,在声明主机关闭之前进行多次 ping。默认值为一次 ping。