如何在Icinga / Nagios做出持续的承认?

我正在使用Icinga(Nagios fork)来监视外部主机和服务的正常运行时间。 目前在看“关键”计数时,我发现很难确定内部服务是否受到影响(我应立即采取行动)或外部服务(我只是承认问题)。

有没有一种方法可以保证未来停机检查的主机/服务的问题得到确认? 有没有办法自动确认外部主机/服务的状态变化?

已经find了如何为外部主机做自动确认。

首先为外部主机定义一个事件处理程序:

define host { name some-external-server # ... event_handler handle_external_host # ... } 

然后定义要用作事件处理程序的命令:

 define command { command_name handle_external_host command_line $USER1$/eventhandlers/acknowledge_host_problem $HOSTNAME$ icingaadmin "Handled by external user" } 

最后把事件处理程序脚本放到文件/ usr / local / icinga / libexec / eventhandlers / acknowledge_host_problem(或者你的事件处理程序的安装位置):

 #!/bin/sh printf_cmd="/usr/bin/printf" command_file="/usr/local/icinga/var/rw/icinga.cmd" hostname="$1" author="$2" comment="$3" # get the current date/time in seconds since UNIX epoch now=`date +%s` # pipe the command to the command file $printf_cmd "[%lu] ACKNOWLEDGE_HOST_PROBLEM;%s;1;1;0;%s;%s\n" $now "$hostname" "$author" "$comment" >> $command_file 

不要忘记使用命令“chmod + x”或类似命令来执行脚本。 有关ACKNOWLEDGE_HOST_PROBLEM的详细信息,请参阅Icinga文档 。