check_bareos (check_bacula)

Info

Die Idee zu diesem nützlichen check script für diverse Monitoring System wie nagios, icinga, usw. kam mir, als ich auf bacula für die backup Infrastruktur umgestiegen bin und bis an hin keine ausgereiften nagios/icinga check-plugins dafür fand. Also machte ich mich daran und schrieb in python selbst eines. 😉

Benutzung

Für den Betrieb muss das python Modul MySQLdb installiert werden:
yum:

yum install mysql-python

apt:

apt install python-mysqldb

In der shell wird es wie folgt benutzt:

Usage: check_bacula [-H ] [-U ] [-P ] [-D ] [--warning-severity ] [--critical-severity ] [--days ] [--help] [-d] [--list-status]
 
Options:
  -h, --help            = Show this help
  -H                    = Database hostname                    (default: localhost)
  -U                    = Database username                    (default: read-only)
  -P                    = Database password                    (default: read-only)
  -D                    = Database name                        (default: bacula)
  --warning-severity    = From this number reports WARNING     (default: 15)
  --critical-severity   = From this number reports CRITICAL    (default: 25)
  --days                = Number of days to look back for jobs (default: 2)
  -d                    = Show debug information
  --list-status         = List the available bacula statuses
-H Hostname des Datenbankservers
-U Benutzername des Datenbankservers
-P Passwort des Datenbankservers
-D Name der Bacula-Datenbank
–warning-severity Ab dieser Stufe wird ein WARNING ausgegeben. Die einzelnen Stufen können mit –list-status angezeigt werden.
–critical-severity Ab dieser Stufe wird ein CRITICAL ausgegeben. Die einzelnen Stufen können mit –list-status angezeigt werden.
–days Wie viele Tage hintereiander sollen die Jobs angeschaut werden?
-d Debug Informationen anzeigen
–list-status Statusliste der bacula events anzeigen

Eingebunden wurde das in icinga so:

command:

define command{
  command_name                         check_bacula
  command_line                         $USER2$/check_bacula -H $HOSTADDRESS$ $ARG1$
}

service:

define service {
  use                                  backup-service
  host_name                            backupserver
  service_description                  Bacula-backup
  check_command                        check_bacula!-U $USER28$ -P $USER29$ -D bacula --warning-severity=15 --critical-severity=25 --days=2
}

Download