我们正在使用Nagios来检查重复的进程。
define service { use local-service host_name xxx service_description xxx Duplicate Processes check_interval 1 max_check_attempts 1 contact_groups admins event_handler restart-dependent-processes check_command check_procs_duplicate!2!3!2!2!2 }
check_procs_duplicate检查是否有任何重复的进程并返回状态 – 例如CRITICAL。
事件处理程序杀死重复进程及其依赖进程,并启动进程和依赖进程的一个实例。 在这个结尾,Nagios检查是否有任何重复的进程并相应地设置状态 – OK / WARNING / CRITICAL。
事件处理程序需要更多的时间来启动进程,在此期间,如果有人手动启动进程,状态将保持在CRITICAL本身。
在下一个时间间隔内,Nagios将再次检查重复的进程,它将再次发现它关键。
事件处理程序现在不会执行,因为前面的和当前的两个状态都是关键的。
任何关于如何解决这个问题的指针?
你可能要考虑把它变成一个不稳定的服务。 请参阅“ 易失性服务”的文档页面。
你所处理的并不是一个不稳定的服务,但是1和1的max_check_attempts的check_interval几乎是一样的。
如果你使服务变得不稳定,那么它应该在任何时候运行事件处理程序,而不仅仅是当状态“变化”时。