自定义Nagios脚本不能触发

最近我们遇到了很多垃圾邮件攻击我们的服务器,导致apache崩溃。 要解决这个问题,我们已经安装了nagios来通知我们/运行一些重启命令,如果出现问题。 通知function正常,但重新启动脚本不会踢。我们采取了以下步骤:

  • 创build我们的重启脚本位于: /usr/share/nagios3/plugins/eventhandlers/restart_apache
  • testing并通过./restart_apache CRITICAL SOFT 3 – 可以确认脚本正常工作
  • 定义了命令: /etc/nagios3/commands.cfg
定义命令{
         command_name重新启动apache
         command_line / usr / local / nagios / libexec / eventhandlers / restart_apache $ SERVICESTATE $ $ SERVICESTATETYPE $ $ SERVICEATTEMPT $
 }
  • 在当前加载通知运行时应用该命令来触发: /etc/nagios3/conf.d/localhost_nagios2.cfg
定义服务{
        使用通用服务; 要使用的服务模板的名称
         host_name localhost
         service_description当前负载
         check_command check_load!5.0!4.0!3.0!10.0!6.0!4.0
         event_handler restart-apache
         }
  • 我们已经设置脚本在执行重新启动时写入文本文件,但没有任何事情发生(并且apache停留) – 所以有些事情是不正确的。 任何方向非常感谢!谢谢

你应该确保处理程序已经启用并且login你的nagios.cfg

 enable_event_handlers=1 log_event_handlers=1 

然后尝试尾巴你的nagios日志(在我的情况下/var/spool/nagios/nagios.log ),等待你的事件,你应该看到处理程序正在执行或失败

 tail -f /var/spool/nagios/nagios.log | egrep HANDLER ... [1271946604] SERVICE EVENT HANDLER: $HOST:$SERVICE:CRITICAL:HARD:3:$YOUR_RESTART_HANDLER