假设我们使用单一的nagios服务器,如果出现一些未知的错误,比如硬件问题,人为因素引起的宕机等,我们在不可知的情况下nagios已 经停止工作了。所以需要做一个“高可用”,也就是所谓的“主从”。原理就是借助定时任务,由”主”机把有关故障信息以通知形式送给联系人。当发生问题后 “从”机接过来报警的工作,当“主”机恢复工作,“从”机停止通知功能。当然,“主”和“从”的信息是同步的。

以下是脚本(放在从机上):

#!/bin/sh

case   "$(/opt/nagios/libexec/check_nrpe  –H  logserver –c  check_nagios| awk '{print $2}'|sed   "s/://")" in

CRITICAL)

/opt/nagios/libexec/eventhandlers/enable_notifications

;;

OK)

/opt/nagios/libexec/eventhandlers/disable_notifications

;;

esac

exit 0

注:其中的enable_notifications和disable_notifications在nagios安装包里面有。

环境配置:

修改“从”机上nagios.cfg

execute_service_checks =1  这样从机还能对远程主机进行检测,这样是主从同步

enable_notifications =0 阻止在“主”机正常工作下,”从”机对主机与服务送出通知

check_external_commands =1 决定了Nagios要检查存于命令文件里的将要执行的命令