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.