假设我们在nagios中有一个服务定义:
define service{
host_name some host
service_description xxx
max_check_attempts 4
event_handler restart-XXX
...
}
现在我的问题是我们可以添加2个event_handler说event_handler1
和event_handler2
这应该是这样的:
event_handler1 restart-XXX
event_handler2 restart-YYY
...
}
这可能吗?
答案 0 :(得分:1)
您可以通过以下两种方式解决这些问题:
您可以注册一个全局事件处理程序,然后注册一个服务/主机事件处理程序。
在您的命令定义中: define command { command_name global_event_handler command_line / path / to / script $ ARGUMENTS $ }
define command{
command_name host_event_handler
command_line /path/to/script2 $ARGUMENTS$
}
然后,在主要的nagios配置中:
global_host_event_handler=global_event_handler
在您的主机定义中:
define host{
name some_host
address 127.1.2.3
event_handler host_event_handler
}
您可以编写一个将执行这两个操作的脚本,并将其设置为事件处理程序。
在命令定义中:
define command{
command_name host_event_handler
command_line /path/to/script $ARGUMENTS$
}
在您的主机定义中:
define host{
name some_host
address 127.1.2.3
event_handler host_event_handler
}
然后,在/ path / to / script:
#!/bin/bash
/path/to/script1
/path/to/script2
希望这有帮助!