我们可以在nagios服务定义中添加2个事件处理程序

时间:2016-12-22 10:37:14

标签: nagios

假设我们在nagios中有一个服务定义:

define service{
    host_name           some host
    service_description xxx
    max_check_attempts      4
    event_handler       restart-XXX
    ...
    }

现在我的问题是我们可以添加2个event_handler说event_handler1event_handler2这应该是这样的:

event_handler1      restart-XXX
    event_handler2      restart-YYY
    ...
        }

这可能吗?

1 个答案:

答案 0 :(得分:1)

您可以通过以下两种方式解决这些问题:

  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
    }
    
  2. 您可以编写一个将执行这两个操作的脚本,并将其设置为事件处理程序。

    在命令定义中:

    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
    
  3. 希望这有帮助!