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 } |