Triggering EEM apps with SNMP Traps – lab1.

Objetivo: generar una acción en el router RB mediante el no shutdown de una interfaz loopback en el router RA.
Para ello se siguen los siguientes pasos lógicos:
1ro – Generar un cambio de estado de la interfaz loopback 0 del router RA de down to up mediante shutdown y no shutdown.
2do – RA genera un trap snmp y lo envía al servidor snmp 10.1.1.2.
3ro – Al router RB recibir el trap, genera un evento que ejecuta un script que activa el log Finally en el CLI.

Topology:

RA config:
!
hostname RA
!
interface Loopback0
ip address 10.1.20.1 255.255.255.255
!
interface Ethernet1/0
ip address 10.1.1.1 255.255.255.252
!
/Enable snmp and declare the snmp community string.
snmp-server community ketshup RO
/Command to enable the router to send SNMP traps.
snmp-server enable traps [notification-type] [notification-option]
Este comando permite limitar que tipo de traps quiero enviar. En este caso solo estoy enviando traps cuando una interfaz cambia su estado a up.
snmp-server enable traps snmp linkup
/Command to specify the recipient of an SNMP notification operation.
snmp-server host host-addr [traps | informs] [version {1 | 2c | 3 [auth | noauth | priv]}] community-string [udp-port port] [notification-type]
En este comando también permite limitar los traps para cuando cambie el estado de una interfaz loopback de down to up.
snmp-server host 10.1.1.2 ketshup
!

RB config:
!
hostname R2
!
interface Ethernet1/0
ip address 10.1.1.2 255.255.255.252
!
/Enable snmp and declare the snmp community string.
snmp-server community ketshup RO
/Enable processing of SNMP traps. This is required.
snmp-server manager
!
/Este event manager recibe un trap del router donde la loopback cambio a un estado de up. El oid lo saqué mediante una consulta snmp previa que hice con el programa de manage engine para snmp. En este sentido seguí los siguientes pasos:
-En RA habilité el debug snmp packets
-Generé el evento de la interface loopback cambiando de down para up.
El resultado fue:
RA(config-if)#
*Aug 23 13:30:41.595: %LINK-3-UPDOWN: Interface Loopback0, changed state to up
*Aug 23 13:30:42.595: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up
*Aug 23 13:30:42.615: SNMP: Queuing packet to 10.1.1.2
*Aug 23 13:30:42.623: SNMP: V1 Trap, ent snmpTraps, addr 10.1.1.1, gentrap 3, spectrap 0
ifIndex.12 = 12
ifDescr.12 = Loopback0
ifType.12 = 24
lifEntry.20.12 = up
*Aug 23 13:30:42.871: SNMP: Packet sent via UDP to 10.1.1.2
-Busqué lifentry en internet y resulta que pertenece a la mib CISCO-OLD-INTERFACES.
-Busqué con el software de Manage Engine, el oid lifEntry para la interface loopback 0.
-Una vez con el OID y su valor, utilizar como evento y generar la acción. En este caso, simplemente se se muestra la palabra finally.
event manager applet test
event snmp-notification oid 1.3.6.1.4.1.9.2.2.1.1.20.12 oid-val “up” op eq src-ip-address 10.1.1.1
action 1.0 puts “finally”
!

Para comprobar:

SNMP packet debugging is on
R2#
*Aug 25 12:37:16.047: SNMP: Packet received via UDP from 10.1.1.1 on Ethernet1/0
*Aug 25 12:37:16.063: SNMP: V1 Trap, ent snmpTraps, addr 10.1.1.1, gentrap 3, spectrap 0
ifIndex.12 = 12
ifDescr.12 = Loopback0
ifType.12 = 24
lifEntry.20.12 = up
*Aug 25 12:37:16.087: dest ip addr= 10.1.1.2
*Aug 25 12:37:16.087: dest if_index = 2

R2#
*Aug 25 12:37:16.119: %HA_EM-6-LOG: test: finally

Nota: También funciona snmp trap version 2

Advertisements
Posted in EEM

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s