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.