Backup Exec in Nagios überwachen

Aus ITwiki
Wechseln zu: Navigation, Suche

Mittels Powershell und dem CLI-Tool Backup Exec Management Command Line Interface lässt sich in Nagios der Status von Backup Exec bzw. die Alert-Meldungen überwachen:

Nagios checkbealert01.jpg

Powershell-Script check_bealert.ps1[Bearbeiten]

Erstelle die Datei check_bealert.ps1 mit folgendem Inhalt:

#
# Name: check_bealert.ps1
#
# Comment: powershell script to query backup exec state using bemcli
#
# Copyright by Flo Krug
# Version 1.4

import-module "\program files\symantec\backup exec\modules\bemcli\bemcli";
$returnState = 0;
$returnString = "OK - Backup Exec has no warnings or critical alerts detected";
$returnString_warning = "0 warnings";
$returnString_critical = "0 critical alerts";
$count_bealerts_warnings = 0;
$count_bealerts_criticals = 0;

foreach($bealerts_warning in get-bealert | where {$_.severity -match "warning"}){
 $count_bealerts_warnings++;
 if( $count_bealerts_warnings -gt 1){
  $returnString_warning = "$count_bealerts_warnings warnings"
 }
 else{
  $returnString_warning = "$count_bealerts_warnings warning"
 }
}

foreach($bealerts_critical in get-bealert | where {$_.severity -match "error"}){
 $count_bealerts_criticals++;
 if( $count_bealerts_criticals -gt 1){
  $returnString_critical = "$count_bealerts_criticals critical alerts"
 }
 else{
  $returnString_critical = "$count_bealerts_criticals critical alert"
 }
}

if($count_bealerts_criticals -gt 0){
 $returnString = "CRITICAL - Backup Exec has detected " + $returnString_warning + " and " + $returnString_critical;
 $returnState = 2;
}
elseif($count_bealerts_warnings -gt 0 -And $count_bealerts_criticals -le 0){
 $returnString = "WARNING - Backup Exec has detected " + $returnString_warning + " and " + $returnString_critical;
 $returnState = 1;
}

Write-Host $returnString;
exit $returnState

Das Script ermittelt, ob - und falls ja - wie viele Warnungen und Critical Alerts in Backup Exec ermittelt wurden und liefert den entsprechenden Status zurück. Der Nagios-Status für eine Warnung oder ein Critical wird zurückgesetzt, indem im Backup Exec diese Alerts von einem Admin bestätigt werden:

Nagios checkbealert02.jpg

Zum Testen kann das PS1-Script mittels Powershell direkt am Server aufgerufen werden, eine entsprechende Meldung sollte dann in der Konsole erscheinen:

Nagios checkbealert03.jpg

Achtung: bei manchen Windows Systemen muss noch der Powershell-Befehl

set-executionpolicy remotesigned

ausgeführt werden. Andernfalls scheitert der Scriptaufruf.

NSClient++ konfigurieren[Bearbeiten]

Am Backup Exec Server muss der NSClient++ installiert und funktionstüchtig konfiguriert worden sein. Füge dann in der nsclient.ini folgenden Inhalt ein bzw. ergänze den Abschnitt:

[/settings/external scripts/scripts]
; Eigene Scripts:
check_bealert=cmd /c echo scripts\check_bealert.ps1; exit($lastexitcode) | powershell.exe -command -

Kopiere das erstellte Script in den Unterordner scripts des NSClient++-Programmverzeichnisses und starte dann den NSClient++ Dienst neu.

Nagios einrichten[Bearbeiten]

Ich bin ein recht fauler/intelligenter (?) Hund, deshalb verwende ich NagiosQL zum Verwalten der Nagios Konfig-Files. Basierend darauf nachfolgend die Nagios-Konfiguration.

Der neue Command check_bealert im Nagios sieht wie folgt aus:

Nagios checkbealert04.jpg

Dann noch ein entsprechender Dienst srv_bealert und den/die Backup Exec Server zuweisen:

Nagios checkbealert05.jpg

Nach Abspeichern der Konfig und Neustart vom Nagios Daemon sollte am entsprechenden Server nun der Backup Exec Status überwacht werden:

Nagios checkbealert06.jpg


Bewertung[Bearbeiten]

War dieser Beitrag hilfreich für Dich?
Bitte stimme unten ab.
1
0
0
Es wurde seit Erstellung der Umfrage am 12:09, 18. Aug. 2017 eine Stimme abgegeben.
poll-id DFD498717F1D9E049FFF6F6CB488C2E9