最近,我们的服务器被大量垃圾邮件攻击,导致服务器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