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.shEditar /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.shCrear 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.