Triggering EEM apps with SNMP Traps – lab2.

Objetivo: generar una acción en el router RB mediante la ejecución de un script 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 – Existe un script en RA que sigue el estado de la interfaz loopback.
3ro – La ejecución del script en sí genera un snmp trap, que es enviado 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:

El objetivo de este lab generar una acción en el RB mediante la ejecución de un script 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 – Existe un script en RA que sigue el estado de la interfaz loopback.
3ro – La ejecución del script en sí genera un snmp trap, que es enviado 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.

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
!
/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 se ejecute un script EEM.
snmp-server enable traps event-manager
/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 se ejecuten solo EEM scripts.
snmp-server host 10.1.1.2 version 2c ketshup event-manager
!
/Este script reacciona cuando se genera el log especificado producto de que la interfaz loopback cambio de estado hacia up. Entre las dos acciones, primero pone la palabra Finally en el CLI y cambia el valor del indata1 a 88 (puede ser cualquier valor) dentro del trap a mandar.
event manager applet loopback-state-change
event syslog pattern “Line protocol on Interface Loopback0, changed state to up”
action 1.0 puts “Finally”
action 1.1 snmp-trap intdata1 88 strdata “”
!

RB config:
!
hostname RB
!
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 se ejecutó el cscipt. El oid lo encontré en un ejemplo en la red. En este sentido seguí los siguientes pasos:
-En RA habilité el debug snmp packets
-En RA ejecuté el script loopback-state-change.
El resultado fue:
RA#
*Aug 25 14:22:48.823: %LINK-3-UPDOWN: Interface Loopback0, changed state to up
*Aug 25 14:22:49.823: %LINEPROTO-5-UPDOWN: Line protocol on Interface Loopback0, changed state to up
*Aug 25 14:22:49.895: %HA_EM-6-LOG: loopback-state-change: Finally
*Aug 25 14:22:49.911: SNMP: Queuing packet to 10.1.1.2
*Aug 25 14:22:49.919: SNMP: V2 Trap, reqid 12, errstat 0, erridx 0
sysUpTime.0 = 647158
snmpTrapOID.0 = cEventMgrMIB.0.2
ceemHistoryEventEntry.2.3 = 41
ceemHistoryEventEntry.3.3 = 0
ceemHistoryEventEntry.4.3 = 0
ceemHistoryEventEntry.5.3 = 0
ceemHistoryEventEntry.6.3 =
ceemHistoryEventEntry.7.3 = applet: loopback-state-change
ceemHistoryEventEntry.9.3 = 88
ceemHistoryEventEntry.10.3 = 0
ceemHistoryEventEntry.11.3 =
ceemHistoryEventEntry.13.3 = 0
ceemHistoryEventEntry.14.3 = 0
ceemHistoryEventEntry.15.3 = 0
ceemHistoryEventEntry.16.3 = 0
R1#
*Aug 25 14:22:50.167: SNMP: Packet sent via UDP to 10.1.1.2
-El OID es el mostrado en el script.
-Una vez con el OID y su valor (que lo fijé a 88 en el script del router RA), 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.10.91.1.2.3.1.9. oid-val “88” op eq src-ip-address 10.1.1.1
action 1.0 puts “finally”
!

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