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 script. Se siguieron los siguientes pasos:
-En RA se habilitó el debug snmp packets.
-En RA se 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 se fijó a 88 en el script del router RA), utilizar como evento y generar la acción. En este caso, simplemente 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"
!

 

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 )

Google photo

You are commenting using your Google 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 )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.