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.


Volver arriba