Nagios+Bacula
Descripción
Prerequistos
4. Bacula+Nagios
INTRODUCCIÓN
Para realizar el proceso de backups automático de laptops utilizamos la herramienta Nagios
para monitorear el estado de los portátiles. Por medio de un “Event Handlerâ€? de
Nagios (Un script que ejecuta una acción al recibir un reporte) se revisa
continuamente el estado del portátil (HOSTSTATE), este estado puede tener los
siguientes valores:
- UP cuando el Servidor “dhcpâ€? tiene respuesta con la máquina cliente a través de ping
- DOWN en caso contrario.
Luego se revisa el tipo de estado (HOSTSTATETYPE), esta variable puede tener los
valores:
- HARD si la máquina cambia de estado después de un largo tiempo.
- DOWN si la máquina cambia de estado en un lapso temporal corto
Es decir, si la máquina se encontraba apagada y el usuario la prende, eso se toma
como un tipo de estado HARD, si por el contrario la máquina perdió conexión por
unos instantes debido a fallos en la red y luego esta se restablece esto se toma
como SOFT.
De esta forma, el sistema lanzará un backup incremental cada vez que encuentre
que la máquina se encuentra en HOSTSTATE “UPâ€? y HOSTSTATETYPE “HARDâ€?.
ACLARACIONES
Cabe a aclarar que:
- Se deberá realizar un backup FULL de forma manual de los portátiles con cierta frecuencia (como mínimo uno al mes)
- Comprobar que la máquina permita solicitudes de eco entrante (que se deje hacer “ping” :D).
- Las máquinas se deben llamar EXACTAMENTE igual tanto en Bacula como en Nagios.
PROCEDIMIENTO
1. Declare dentro del archivo “commands.cfg” el comando que lanzará el evento:
# by skina
# 'launch-bacula-jobs' command definition
define command{
command_name launch-bacula-jobs
command_line /usr/local/nagios3/libexec/eventhandlers/launch-bacula-jobs $HOSTSTATE$ $HOSTSTATETYPE$ $HOSTNAME$
}
2. En la definición del host (hosts.cfg) agreguele el parámetro del “event handler”
define host{
use generic-host
host_name shai-hulud
alias Portatil Compaq Comercial
address shai-hulud
parents Skina-Router-Cisco
check_command check-host-alive
max_check_attempts 20
check_period 24×7
notification_interval 60
notification_period workhours
notification_options d,u,r
event_handler launch-bacula-jobs
contact_groups admins
}
3. En la ruta donde Nagios tiene sus “event handlers” (/usr/local/nagios3/libexec/eventhandlers o /usr/lib64/nagios/plugins/eventhandlers) ponga el siguiente script, dele permisos de ejecución y asignele como usuario y grupo a nagios
#!/bin/sh
# LAUNCH BACULA JOBS EVENT HANDLER SCRIPT
# Written By: Miguel Angel Moreno (mmoreno@skinatech.com)
# Last Modified: 04-04-2008
echo “—————————“ » /tmp/launch-bacula-jobs.log
echo “Bacula Event Handler Script” » /tmp/launch-bacula-jobs.log
echo “HOSTSTATE: $1” » /tmp/launch-bacula-jobs.log
echo “HOSTSTATETYPE: $2” » /tmp/launch-bacula-jobs.log
echo “HOSTNAME: $3” » /tmp/launch-bacula-jobs.log
# Only take action on hard host states…
case “$2” in
HARD)
case “$1” in
DOWN)
echo “The host is DOWN” » /tmp/launch-bacula-jobs.log
;;
UP)
echo “The host is UP. Start backup to $3” » /tmp/launch-bacula-jobs.log
echo “run $3 yes” | /usr/sbin/bconsole
;;
esac
;;
esac
exit 0
4. Como podrá notarlo, el script deja un pequeña bitácora en ”/tmp/launch-bacula-jobs.log”. Le ayudará a identificar posibles problemas ;)
ENLACES
- La documentación oficial:
http://nagios.sourceforge.net/docs/3_0/eventhandlers.html
Procedimiento
A. Instalación básica
B. Configuración
1. Una accion
2. Segunda accion
Problemas
1. Si el instale_mrtg.sh no le funciona
-
Referencias
-
FIN
15-Marzo-2006 J.E.Gomez v1.0 Primera version
Advertencia
Este documento es privado y es de u so exclusivo de sus autores y de SKINA TECH. Cualquier uso sin una autorización escrita es contra la ley de derechos de autor y de propiedad intelectual, y será motivo de una acción legal.