Ein weiteres Plugin im Kreise der ESX-Checks: mit dem Script check_vranger_jobstatus.ps1 können Status und Laufzeit von VRanger Backup-Jobs überwacht werden.
Das per NRPE auf dem VRanger-Host aufgerufene Plugin bedient sich dabei der vRanger API, die es über das PowerShell-Snapin vRanger.API.PowerShell anspricht..
Download check_vranger_jobstatus.tar.gz
Das Intervall eines bspw. täglich laufenden Backup-Jobs ist “24h”; die über die Parameter -interval_warning und -interval_critical angegebenen Thresholds bestimmen, um wieviele wieviele Stunden maximal zwischen zwei Backup-Jobs vergehen dürfen.
War der letzte Job “Completed”, aber fehlerhaft, steigt das Plugin mit einer entsprechenden Meldung aus:
CRITICAL: Last backup job "esxcluster44" completed with errors!
Wurde ein Job gefunden, der erfolgreich innerhalb des Planungsintervalls lief, wirft das Plugin einen Blick auf die Ausführungsdauer und vergleicht diese mit -duration_warning und -duration_critical.
Alles ok:
./check_nrpe -H vranger02 -c check_vranger_jobstatus -t 60 -a '-jobname cluster11 -duration_warning 5 -duration_critical 6.5 -interval_warning 25 -interval_critical 28' OK: Backup job "cluster11" completed in 1.8 hours (warn at 5h, crit at 6.5h) at 12/22/2013 22:45:55.|backup_time=1.8h;5;6.5;;
Letztes Backup zu alt:
./check_nrpe -H vranger02 -c check_vranger_jobstatus -t 120 -a '-jobname cluster12 -duration_warning 5 -duration_critical 6.5 -interval_warning 25 -interval_critical 28' CRITICAL: Last backup job "cluster12" was started 32 hours ago. (warn at 25h, crit at 28h).
Laufzeit überschritten:
./check_nrpe -H vranger02 -c check_vranger_jobstatus -t 60 -a '-jobname cluster11 -duration_warning 1 -duration_critical 3 -interval_warning 25 -interval_critical 28' WARNING: Backup job "cluster11" completed in 1.8 hours (warn at 1h, crit at 3h) at 12/22/2013 22:45:55.|backup_time=1.8h;1;3;;
Ob das Snap-In bereits installiert ist, erfährt man in der PowerShell-Konsole mit
Get-PSSnapin
Taucht es in der Auflistung der aktiven Snap-Ins nicht auf, muss es erst installiert werden:
C:\Windows\Microsoft.NET\Framework\v2.0.50727>installutil.exe C:\Program Files (x86)\Quest Software\vRanger\PowerShell\vRanger.API.PowerShell.dll
Der anschließende Befehl
Set-ExecutionPolicy RemoteSigned
sorgt dafür, dass auch eigene Scripte ausgeführt werden können.
check_vranger_jobstatus.ps1 wird im Scripts-Verzeichnis von NSClient++ abgelegt (z.B. *C:\Programme\NSClient++\scripts*), der folgende NRPE-Command Handler erlaubt die Ausführung des Scripts durch Nagios:
check_vranger_jobstatus=powershell -NoLogo -InputFormat none -NoProfile -NonInteractive -command "& {scripts\check_vranger_jobstatus.ps1 $ARG1$; exit $lastexitcode}"
Jetzt nur noch den NSclient++ durchstarten.