SECTOR NORD AG Tipp des Monats
[SNAG-View] Eventhandler
von Andreas Gerliz
Eventhandler sind anders als Checkcommands, Scripte die ausgeführt werden wenn sich der Zustand eines Services/Host ändert. Damit lassen sich z.B. Probleme reparieren bevor Sie alarmiert werden.
Anwendungsfälle:
- Aufräumen von Verzeichnissen
- Neustarten von Diensten
- Restart von Servern
- Logging
- ...
SNAG-View triggert Eventhandler in folgenden Status Änderungen:
- Bei "Soft" States
- Nur beim ersten "Hard" State
- Bei den "Recovery" eines Services
Beispiel: Neustart eines Windows Services
Anlegen eines Eventhandlers in SNAG-View
Einen Eventhandler legen Sie unter "Objektadmin → Eventhandler" an.
Als Bezeichnung: restart-windows-service
Befehlszeile:
$USER1 $/eventhandlers/restart-windows-Service $SERVICESTATE $ $SERVICESTATETYPE $ $SERVICEATTEMPT $ $HOSTADDRESS $ $ARG1 $ |
Auf den SNAG-View wird unter "/var/lib/nagios/libexec/eventhandlers/" das Script "restart-windows-Service" angelegt
#!/bin/sh case "$1" in OK) ;; WARNING) ;; UNKNOWN) ;; CRITICAL) case "$2" in SOFT) case "$3" in 3) echo -n "Restarting service (3rd soft critical state)..." /var/lib/nagios/libexec/check_nrpe -H $4 -c restartWinService -a $5 ;; esac ;; HARD) echo -n "Restarting service..." /var/lib/nagios/libexec/check_nrpe -H $4 -c restartWinService -a $5 ;; esac ;; esac exit 0 |
Wir führen nur Aktionen aus, wenn wir im Soft 3 State oder im Hard State sind. Alle anderen Aktionen lassen wir leer.
Auf der Windows Server brauchen wir ein Script, dass die gewünschte Aktion ausführt.
Wir legen das script "restartWinService.bat" im NSClient Verzeichnis unter "scripts" ab.
@ echo off rem Restart Service net stop %1 net start %1 |
In der "nsclient.ini" wird unter "[/settings/external scripts/scripts]" folgender Eintrag angelegt
restartWinService=\scripts\restartWinService.bat $ARG1 $ |
Danach wird ein Serviceinstance mit den Eventhandler konfiguriert.