自定义 Nagios 脚本未触发

自定义 Nagios 脚本未触发

最近,我们的服务器被大量垃圾邮件攻击,导致服务器apache崩溃。为了解决这个问题,我们安装了nagios通知程序,以便在出现问题时通知我们/运行一些重启命令。通知功能正常,但重启脚本无法启动。我们采取了以下步骤:

  • 创建我们的重启脚本,位于:/usr/share/nagios3/plugins/eventhandlers/restart_apache
  • 已测试并运行./restart_apache CRITICAL SOFT 3- 可以确认脚本有效
  • 定义命令:/etc/nagios3/commands.cfg
定义命令{
        命令名 restart-apache
        命令行 /usr/local/nagios/libexec/eventhandlers/restart_apache $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$
}
  • 应用命令在当前负载通知运行时触发:/etc/nagios3/conf.d/localhost_nagios2.cfg
定义服务{
        使用通用服务;要使用的服务模板的名称
        主机名 本地主机
        service_description 当前负载
        检查命令检查加载!5.0!4.0!3.0!10.0!6.0!4.0
        event_handler 重新启动 apache
        }
  • 我们已将脚本设置为在执行重启时写入文本文件,但什么也没发生(并且 Apache 保持关闭状态) - 所以有些地方不对劲。任何指示都非常感谢!谢谢

答案1

你应该确保处理程序已启用并记录在你的 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

相关内容