lunes, 9 de julio de 2012

EEM: Embedded Event Manager

Probablemente publique varios artículos sobre EEM, ya que desde mi punto de vista se trata de una tecnología con una flexibilidad acojonante, pero hoy comenzaremos explicando que es.

EEM como su nombre indica es un gestor de eventos embebido dentro del software de los routers y switches, o lo que es lo mismo, un software dentro de IOS, que te permite que si pasa algún evento dentro del router, el propio router cambie su configuración, mande un e-mail de alerta, o muchas otras cosas.

EEM era posiblemente el complemento que le faltaba a TCL para poder tener un sistema de eventos y scripts dentro de tu router, cosa que permite que tu red sea mas sencilla de controlar.


Configurar applets de EEM:


Tirando de wikipedia llegamos a la definición de applet: Un componente de una aplicación que se ejecuta en el contexto de otro programa.  Bien pues nosotros vamos a configurar applets, a los que tendremos que ponerles nombre.

Router(config)#event manager applet <NOMBRE_APPLET>

Después deberemos seleccionar que evento queremos inspeccionar, cada uno de ellos se configura de manera diferente, por lo que pongo un listado de todo lo que se puede monitorizar.

Router(config-applet)#event ?
  application  Application specific event
  cli          CLI event
  counter      Counter event
  interface    Interface event
  ioswdsysmon  IOS WDSysMon event
  none         Manually run policy event
  oir          OIR event
  resource     Resource event
  snmp         SNMP event
  syslog       Syslog event
  timer        Timer event
  track        Tracking object event 


Una vez que hemos seleccionado la el evento que queremos detectar, lo que configuraremos será la acción que llevaremos a cabo en nuestro router en caso de que se produzca el evento. Al igual que antes pongo un listado con las acciones disponibles en EEM, varía según versión, este es el listado de las disponibles en la 12.4T del laboratorio del CCIE.

Router(config-applet)#action <numero_accion> ?
  cli               Execute a CLI command
  cns-event         Send a CNS event
  counter           Modify a counter value
  force-switchover  Force a software switchover
  info              Obtain system specific information
  mail              Send an e-mail
  policy            Run a pre-registered policy
  publish-event     Publish an application specific event
  reload            Reload system
  snmp-trap         Send an SNMP trap
  syslog            Log a syslog message
  track             Read/Set a tracking object

Si os fijais he puesto numero de acción, acciones se pueden ejecutar varias.

Ejemplo:

Ahora voy a poner un ejemplo sencillo de un applet de eem, el cual detecta que alguien introduzca el comando reload, y el router no solo no se reiniciará, sino que además generará una linea en el log.

event manager applet NO_REINICIAR
 event cli pattern "reload" sync no skip yes occurs 1
 action 1.0 syslog msg "¡¡¡OYE TIO LISTO NO INTENTES REINICIARME QUE ME VOY A CABREAR!!!"

sync no: Es para que la política y el comando no se ejecuten al mismo tiempo, en esta ocasión quiero que el applet se ejecute antes(no quiero que me reinicie el router).
skip yes: Es para configurar que quiero que no haga ni caso al comando.
Occurs 1: es para saber cuantas veces tiene que pasar este evento para que se ejecute la accion.


En linea de comandos:

Router#reload
Router#
*Mar  1 00:15:47.455: %HA_EM-6-LOG: NO_REINICIAR: B!B!B!OYE TIO LISTO NO INTENTES REINICIARME QUE ME VOY A CABREAR!!!

En posteriores artículos pondré otros applets bastante mas útiles, hechos por mi, o que he visto en documentaciones y me han parecido muy útiles.


No hay comentarios:

Publicar un comentario