#!/bin/sh

# REDUNDANCY EVENT HANDLER SCRIPT
# Written By: Ethan Galstad (egalstad@nagios.org)
#
# This is an example script for implementing redundancy.
# Read the HTML documentation on redundant monitoring for more
# information on what this does.

# Location of the echo and mail commands
echocmd="/bin/echo"
mailcmd="/bin/mail"

# Location of the event handlers
eventhandlerdir="/usr/local/icinga/libexec/eventhandlers"


# Only take action on hard host states...
case "$2" in
HARD)

	case "$1" in
	DOWN)
		# The master host has gone down!
		# We should now become the master host and take
		# over the responsibilities of monitoring the 
		# network, so enable notifications...

		`$eventhandlerdir/enable_notifications`


		# Notify someone of what has happened with the original
		# master server and our taking over the monitoring
		# responsibilities.  No one was notified of the master
		# host going down, since the notification would have
		# occurred while we were in standby mode, so this is a good idea...

		#`$echocmd "Master Icinga host is down!" | /bin/mail -s "Master Icinga Host Is Down" root@localhost`
		#`$echocmd "Slave Icinga host has entered ACTIVE mode and taken over network monitoring responsibilities!" | $mailcmd -s "Slave Icinga Host Has Entered ACTIVE Mode" root@localhost`

		;;

	UP)
		# The master host has recovered!
		# We should go back to being the slave host and
		# let the master host do the monitoring, so 
		# disable notifications...

		`$eventhandlerdir/disable_notifications`


		# Notify someone of what has happened.  Users were 
		# already notified of the master host recovery because we
		# were in active mode at the time the recovery happened.
		# However, we should let someone know that we're switching
		# back to standby mode...

		#`$echocmd "The master Icinga host has recovered, so the slave Icinga host has returned to standby mode..." | $mailcmd -s "Slave Icinga Host Has Returned To STANDBY Mode" root@localhost`

		;;

	esac
	;;

esac
exit 0

