Traps con Nagios - Icinga

Instalar el agente Net-SNMP en el Servidor.

Como usuario root


apt-get install snmpd
ó
yum install snmpd


Editar /etc/snmp/snmptrapd.conf

doNotLogTraps yes
traphandle default /usr/local/nagios/libexec/traps.sh


Iniciar el demonio receptor de traps

snmptrapd


Como usuario nagios

Editar /usr/local/nagios/libexec/traps.sh

#!/bin/sh
read host
read ip
vars=

while read oid val
do
oid=$(echo $oid | cut -d ':' -f 3)
if [ "$vars" = "" ]
then
vars="$oid = $val"
else
vars="$vars, $oid = $val"
fi
done

ip=$(echo $ip | cut -f 2 -d ' ' | cut -f 1 -d ':' | cut -f 1 -d ']' | cut -f 2 -d '[')
/usr/bin/printf "[%lu] PROCESS_SERVICE_CHECK_RESULT;$ip;TRAP;1;WARNING ($vars)\n" `date +%s` > /usr/local/nagios/var/rw/nagios.cmd


Otorgar privilegios de ejecución
chmod a+x traps.sh

Editar /usr/local/nagios/libexec/traps_ok.sh

#!/bin/bash
echo "Se han limpiados los traps. ("`date`")"
exit 0


Otorgar privilegios de ejecución
chmod a+x traps_ok.sh

Crear el comando en command.cfg

define command{
command_name traps_ok
command_line $USER1$/traps_ok.sh
}


Definir un Servicio llamado TRAP, de forma pasivo

define host{
use Host-Servidores
host_name PruebaTrap
address xxx.xxx.xxx.xxx
notes Servidor de Prueba
}

define service{
use Service-Servidores
service_description TRAP
host_name PruebaTrap
check_command traps_ok
notes Servicio de Trap
is_volatile 1
active_checks_enabled 0
passive_checks_enabled 1
}


Notas:

Se asume que la instalación de Nagios se realizo desde las fuentes en la carpeta /usr/local/nagios/

Se puede mejorar la forma como se muestran los trap utilizando snmtt .

Para limpiar la alarma de los trap se debe seleccionar la opción “Re-schedule the next check of this service” y marcar el check “Force Check” y presionar la opción “Commit”.

Para Icinga cambiar las rutas de nagios por icinga.

Comentarios

  1. nagios no trae traps en los event log ni puedo verlos en mi nagios.... tengo corriendo snmptrapd debo instalar algo mas?

    ResponderEliminar
  2. como es que se puede utilizar snmptt en esto?
    si alguien puede ayudarme a utilizar snmptt lo tengo instalado en modo standalone lacunanet@yahoo.com.ar

    ResponderEliminar
  3. Despues hacer toda la instalacion como puedo mandar traps al nagios desde otro servidor?

    ResponderEliminar
  4. roml yo estoy haciendo pruebas con eso y en teoría intentando acceder al router con una clave errónea debería mandar un trap.

    Prueba a escribir desde consola snmpwalk -v (versión snmp que estés usando 1 2c 3) -c (contraseña para entrar al router, por defecto será public) IP del router o dispositivo. Quedaría algo así:

    snmpwalk -v 2c -c public 192.168.1.1 system

    Si te sale la información del router, entonces prueba con una contraseña errónea en lugar de public y debería enviar un trap. Si quieres mándame un correa a azafefo@hotmail.com si tienes alguna duda. Un saludo

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

Convertir vídeos con subtítulos para el decodificador TDA Novatech T207 en Debian

Ejemplo de Conexión de C/C++ con PostgreSQL