Auf der Bacula Konferenz letztes Jahr hatte ich einen Vortrag gehalten, wie sich Bacula und vor allem auch Bacula Jobs und Pools durch Nagios oder Icinga überwachen lassen. In diesem Vortrag habe ich auch zwei Monitoring Plugins vorgestellt, die wir zum internen Einsatz entwickelt haben. Die beiden Plugins stehen auf unserem Community Portal netways.org zum Download zur Verfügung.
Mit dem Plugin check_bacula lassen sich einzelne Jobs überwachen, insbesondere ob ein Job in den letzten x Stunden erfolgreich abgeschlossen werden konnte. Wenn man den Jobnamen in Bacula gleich dem Nagios/Icinga Hostnamen wählt, spart man sich gleichzeitig auch etwas Konfigurationsarbeit. So wird das ganze konfiguriert:
# Bacula Checkcommand # -H: hours; -w: Warning; -c: Critical; -j: Job (Jobname=Hostname) define command { command_name check_bacula command_line $USER1$/check_netways_bacula.pl -H $ARG1$ -w $ARG2$ -c $ARG3$ -j $HOSTNAME$" } # bacula jobs define service { use bacula-template hostgroup_name bacula-win, bacula-linux host_name another_client service_description backup-jobs check_command check_bacula!27!1!1 servicegroups backup }
Das zweite Plugin count_bacula dient der Überwachung von Poolauslastungen, bzw. Poolgrößen. Damit lässt sich automatisch feststellen, wenn der Platz in einem definierten Pool zur Neige geht. Das Ergebnis kann man dann auch sehr aussagekräftig mit NETWAYS Grapher visualisieren:
define command { command_name check_backup_poolsize command_line $USER1$/count_bacula -pool $ARG1$ -w 75 -c 90 } define service { use generic-service host_name Bacula_Server service_description backup-pool PoolName check_command check_backup_poolsize!PoolName }