Translations of this page:

Event-Handler zum remoten starten von Windows-Diensten

  • check command
check command für Nagios (checkcommands.cfg)
 define command{
 	command_name	check_nrpe
 	command_line	/usr/local/nagios/libexec/eventhandlers/event.sh $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ $HOSTADDRESS$ $SERVICEDESC$
 	}

* Zusatz für Dienste in services.cfg

event_handler			check_nrpe
event_handler_enabled 	1

* Eventhandler Script

# Variablen Festlegen:

# Variablen werden in der Reihenfolge des checkcommands übergeben: 
# (s.o.: /usr/local/nagios/libexec/eventhandlers/event.sh $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ $HOSTADDRESS$)
# Variable 1 ($1) die übergeben wird, kürzen wir ab und nennen sie "SSTATE"  usw....

SSTATE=$1
SSTATETYPE=$2
SATTEMP=$3
HOSTADDRESS=$4
SDESC=$5

# In welchem Status befindet sich der Dienst?

case "$SSTATE" in
OK)
	# Der Dienst ist wieder erreichbar, es ist also nichts zu tun...
	;;
WARNING)
	# Wir kümmern uns hier nicht über warnende Stati, da der Dienst möglicherweise immernoch
	# normal läuft...
	;;
UNKNOWN)
	# Wir wissen nicht was evtl. einen unbekannten Status verursacht, deswegen tun wir nichts...
	;;
CRITICAL)
	# Der Dienst scheint ein Problem zu haben - vielleicht sollten wir den Dienst
	# neu zu starten...

	# Ist dies ein "softer" oder ein "harter" Status?
	case "$SSTATETYPE" in
		
	# der Dienst befindet sich in einem "soften" Status, d.h. Nagios verursacht gerade die
	# Dienst-Überprüfungen erneut durchzuführen, bevor es einen "harten" Status ausgibt und
	# die Kontaktpersonen informiert...
	SOFT)
			
		# Der wievielte Versuch einer Dienst-Überprüfung wurde gerade ausgeführt?
		# Man sollte den Dienst nicht bei dem ersten Versuch neu starten, da es evtl.
		# nur ein Fehlalarm ist!
		case "$SATTEMP" in
				
		# Der Dienst wird erst neu gestartet, wenn wenn vorerst drei Mal versucht wurde
		# den Dienst zu erreichen.
		# Falls die Überprüfung ein viertes Mal fehlschlägt (nachdem wir den Dienst
		# neu gestartet haben), wechselt der Status in einen "harten" Fehler-Status und
		# Nagios informiert die Administratoren über das Problem.
		# Hoffentlich startet dieses Skript den Dienst erfolgreich neu, so das die
		# vierte Überprüfung hoffentlich eine "softe" Wiederherstellung liefert. Falls dies
		# der Fall ist wird niemand informiert, da das Problem automatisch von Nagios		
                # behoben wurde!
		2)
			echo -n "Restarting Service (3rd soft critical state)..."
			# Aufruf des Init-Skriptes zum Neustart des Services
			/usr/local/nagios/libexec/check_nrpe -H $HOSTADDRESS -c $SDESC
		
			;;
			esac
		;;
				
	# Der Dienst ist trotz des Neustarts des Dienstes in einen "harten" Status gewechselt.
	# Geben wir ihm trotzdem eine letzte Chance, trotzdem die Administratoren bereits von
	# Nagios über das Problem informiert wurden (ausser es wurden Benachrichtigungen für diesen
	# Dienst deaktiviert).
	HARD)
		echo -n "Restarting service..."
		# Aufruf des Init-Skriptes zum Neustart des Services
		
		/usr/local/nagios/libexec/check_nrpe -H $HOSTADDRESS -c $SDESC
		
		;;
	esac
	;;
esac
exit 0

* NRPE.CFG auf dem Windows Server (Beispiel MS-Exchange 2003)

command[NT_Exchange]=C:\Programme\Nagios_NRPE\Batches\exchange.bat

* HINWEIS: Da der Parameter $SERVICEDESC$ mit übergeben wird, muss der command für die Batch genau so heissen, wie der in Nagios überwachte Dienst !!

* Inhalt exchange.bat

net start msexchangemta
net start msexchangeis
net start msexchangesa
net start msexchangemgmt
net start smtpsvc
net start resvc
net start pop3svc
net start imap4svc
nagios/howtos/nrpe_evt_win.txt · Zuletzt geändert: 2005/10/05 08:36 von pitchfork
CC Attribution-Noncommercial-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0