Nagios: Dateiaktualisierungen mit passiven Checks prüfen
Mein Backupserver wird nachts geweckt (per wake on lan) und um eine bestimmte Uhrzeit started ein Prozess der per rsnapshot verschiedene Backups durchführt. Danach schaltet sich der Server wieder ab. Ein Backup ist mir dabei besonders wichtig. Nämlich eine bestimmte MYSQL Datenbank. Ich möchte das Nagios überwacht ob diese Datei aktuell ist.
Da der Backup Server nicht immer eingeschaltet ist, muss mit passiven Checks gearbeitet werden. Die generelle Vorgehensweise dazu hatte ich hier beschrieben.
Der Eintrag in der service.cfg sieht also so aus
define service{
use service-no-notification
active_checks_enabled 0
passive_checks_enabled 1
host_name Backup
service_description Datensicherung-Shop-DB
check_command check_dummy_ca
}
Zum prüfen nehme ich check_fileage.py. Das ganze Script auf dem Backup sieht dann so aus
more nsca-check-backup-date.sh
#!/bin/bash
send_nsca=/usr/lib/nagios/plugins/send_nsca
send_nsca_cfg=/etc/nagios/send_nsca.cfg
nagioshost=x.c.de
host=Backup
service1=Datensicherung-Shop-DB
plugin2=/opt/caserio/nagios/check_fileage.py
warn2=1440
crit2=2800
file1='your-path-to-the-critical-file'
output1=`$plugin2 -f $file1 -w $warn2 -c $crit2`
rc=$?
echo -e "$host\t$service1\t$rc\t$output1"| $send_nsca -H $nagioshost -c $send_nsca_cfg
exit 0
Das Script wird beim Starten und Runterfahren des Servers gestartet.