Este documento describe Embedded Event Manager (EEM), que es una herramienta de resolución de problemas que se agregó en Adaptive Security Appliance (ASA) versión 9.2(1). ¿La funcionalidad es similar a Cisco IOS? EEM basado Es una forma eficaz de ejecutar comandos CLI basados en eventos ASA (syslogs) y guardar el resultado. Este documento describe una introducción a la función, así como algunos ejemplos de subprogramas EEM.
El uso de EEM requiere que el ASA se configure en el modo de contexto único.
La información de este documento se basa en ASA versión 9.2(1) o posterior.
Esta sección incluye las pautas y limitaciones para esta función.
Actualmente, EEM sólo es compatible con los firewalls ASA que se ejecutan en el modo de contexto único. Los firewalls configurados en el modo de contexto múltiple no se soportan actualmente.
Actualmente, EEM es compatible con los modos de firewall ruteado y transparente.
El comando event manager applet crea/edita un applet event manager, un proceso que vincula eventos con acciones y resultados. El <nombre> está limitado a 32 caracteres y no puede tener espacios. Esto ingresa en un submodo del applet del administrador de eventos.
ASA(config)# [no] event manager applet
Una descripción se puede agregar a un applet. Esto es sólo con fines informativos. El <text> está limitado a 256 caracteres.
ASA(config-applet)# [no] description
Se pueden agregar varios eventos a un applet que activan el applet para invocar las acciones configuradas en él. Se definen con la palabra clave event. Se pueden configurar varios eventos para cada applet.
El primer tipo de evento soportado es syslog. El ASA utiliza ID de syslog para identificar los syslogs que activan un applet. Esto se completa a través de la palabra clave id, que puede ser un único syslog o un rango. La palabra clave opcional se produce indica el número de veces que se debe producir el syslog para que se invoque el applet (el valor predeterminado es 1). La palabra clave period opcional indica la cantidad de tiempo, en segundos, en la que debe ocurrir el evento. Limita la frecuencia de la invocación del applet al menos una vez el período configurado. Se produce 5 con un período de 30, significa que el syslog debe ocurrir 5 veces en 30 segundos antes de que se active el evento. Si el syslog ocurre 11 veces en 30 segundos, el applet sólo se activa una vez. Un valor de 0 para el período significa que no se define ningún período.
Se pueden configurar varios registros del sistema, pero los rangos no pueden superponerse.
ASA(config-applet)# [no] event syslog id[- ASA(config-applet)# no event syslog id] [occurs ]
[period] [- ]
El valor <n> se produce tiene un rango permitido de 1 a 4294967295. El valor de período <seconds> tiene un rango permitido de 0 a 604800. Un valor 0 (cero) significa que no se ha configurado ningún período.
En este ejemplo, EEM actúa cuando detecta una condición de bloque de memoria baja. Si los bloques de 1550 bytes disponibles se agotan, recopila show blocks pool 1550 dump y los guarda en el disco. Lo hace, como mucho, una vez cada 10 minutos.
event manager applet depletedblock
description "Take a snapshot of block output when it is depleted"
event syslog id 321007 period 600
action 1 cli command "show blocks pool 1550 dump"
output file rotate 10
EEM también se puede configurar para realizar una acción periódicamente. Cuando configure un evento basado en temporizador, utilice la palabra clave timer en la configuración de eventos. Hay 3 opciones basadas en temporizador:
ASA(config-applet)# [no] event timer absolute time
ASA(config-applet)# no event timer absolute
ASA(config-applet)# [no] event timer countdown time
ASA(config-applet)# no event timer countdown
ASA(config-applet)# [no] event timer watchdog time
ASA(config-applet)# no event timer watchdog
Por ejemplo, esta configuración de evento hace ping 192.168.1.100 cada 1 minuto. Esto se podría utilizar para asegurar que un túnel VPN se mantenga activo y en funcionamiento incluso durante períodos de tráfico inactivo. Utiliza el temporizador watchdog para ejecutar cada 60 segundos.
event manager applet period-event
description "Run a command once per minute"
event timer watchdog time 60
action 0 cli command "ping 192.168.1.100"
output none
Este applet registra la información de asignación de bloques de memoria cada hora y escribe el resultado en un conjunto rotatorio de archivos de registro, ya que mantiene el valor de un día de registros. Utiliza el temporizador watchdog para ejecutarse cada hora.
event manager applet blockcheck
description "Log block usage"
event timer watchdog time 3600
output rotate 24
action 1 cli command "show blocks old"
Estos applets desactivan la interfaz dada (Gig 0/0) entre la medianoche y las 3 a.m. Utiliza el temporizador absoluto para ejecutarse una vez al día.
event manager applet disableintf
description "Disable the interface at midnight"
event timer absolute time 0:00:00
output none
action 1 cli command "interface GigabitEthernet 0/0"
action 2 cli command "shutdown"
action 3 cli command "write memory"
!
event manager applet enableintf
description "Enable the interface at 3am"
event timer absolute time 3:00:00
output none
action 1 cli command "interface GigabitEthernet 0/0"
action 2 cli command "no shutdown"
action 3 cli command "write memory"
Estos subprogramas EEM también se pueden invocar manualmente. Para hacer esto, el applet debe configurar event none. Para ejecutar un applet manualmente, ingrese el comando event manager run seguido del nombre del applet. Si el applet está configurado para cualquier mecanismo de disparador de eventos aparte de 'none', el intento de ejecutarlo manualmente genera un error. Con el uso de uno de los ejemplos anteriores, 'depletedblock', verá:
ASA# event manager run depletedblock
ERROR: Applet not configured with 'event none'
Los eventos manuales se pueden utilizar de forma similar a una macro. Por ejemplo, un evento manual podría utilizarse para ejecutar algunos comandos en orden. En este ejemplo, guarda la configuración, hace ping a un host y borra todos los rechazos.
event manager applet clean-up
event none
action 0 cli command "write mem"
action 1 cli command "ping 192.168.1.100"
action 2 cli command "clear shun"
output none
El evento crashinfo activa un applet cuando se produce un desperfecto en el ASA. Independientemente del valor del comando output, los comandos action se dirigen al archivo crashinfo. El resultado se genera antes de que se genere la parte show tech de crashinfo.
ASA(config-applet)# [no] event crashinfo
Cuando se activa el applet, se realizan las acciones del applet. Cada acción tiene un ordinal que se utiliza para especificar el orden de las acciones. Se pueden configurar varias acciones por applet; pero cada ordinal sólo puede utilizarse una vez. Los comandos son comandos CLI típicos, como show blocks. Se recomienda encarecidamente utilizar los presupuestos, pero no son obligatorios.
ASA(config-applet)# [no] actioncli command " ASA(config-applet)# no action"
El valor del identificador de acción <n> tiene un rango de 0 a 4294967295. Se debe presupuestar el valor del <comando>; de lo contrario, se produce un error si el comando consta de más de una palabra. El comando se ejecuta en modo de configuración como usuario con el nivel de privilegio 15 (el más alto). Es posible que el comando no acepte ninguna entrada; como input se inhabilitará si un comando tiene la opción noconfirm. Esto debería usarse ya que los comandos no se procesan interactivamente.
El resultado de las acciones se puede dirigir a una ubicación especificada a través del comando output. Sólo se puede habilitar un valor de salida en cualquier momento. El valor predeterminado es output none. Este valor descarta cualquier resultado de los comandos de acción.
ASA(config-applet)# [no] output none
El comando output console envía el resultado de los comandos de acción a la consola.
ASA(config-applet)# [no] output console
El comando output file dirige el resultado de los comandos de acción a los archivos. Hay cuatro opciones que se pueden utilizar. La nueva opción escribe el resultado del applet en un nuevo archivo para cada invocación. El nombre de archivo tiene el formato eem-<applet> -<timestamp>.log. Donde <applet> es el nombre del applet y <timestamp> es una marca de tiempo fechada en el formato de YYYMMDD-hmmss.
ASA(config-applet)# [no] output file new
La opción rotate se utiliza para crear un conjunto de archivos que se rotan de manera similar al mecanismo de rotación de registros de Linux. El formato de nombre de archivo es eem-<applet>-<x>.log. Donde <applet> es el nombre del applet, y <x> es el número de archivo. El archivo más reciente se indica con el número 0 (cero) y el archivo más antiguo se indica con el número más alto (<n>-1). Cuando se va a escribir un archivo nuevo, se elimina el archivo más antiguo y se renumeran todos los archivos posteriores antes de que se escriba el archivo 0º.
ASA(config-applet)# [no] output file rotate
El valor de rotación <n> tiene un rango de 2 a 100.
La opción overwrite se utiliza para escribir siempre el resultado del comando action en un solo archivo que se trunca cada vez.
ASA(config-applet)# [no] output file overwrite
La opción append se utiliza para escribir siempre el resultado del comando action en un solo archivo, pero ese archivo se agrega a cada vez.
ASA(config-applet)# [no] output file append
El argumento <filename> es un nombre de archivo local (al ASA). El comando overwrite también podría utilizar ftp:, tftp: y smb: archivos objetivo.
EEM también se puede configurar desde el ASDM. Elija Configuration > Device Management > Advanced > Embedded Event Manager. En esta sección de ASDM, puede configurar sus subprogramas EEM con los mismos parámetros que se han analizado anteriormente. Después de configurar un applet, haga clic en Apply para enviar la configuración al ASA.
Use esta sección para confirmar que su configuración funciona correctamente.
Todos estos comandos se utilizan en el modo exec.
Este comando muestra la configuración en ejecución del sistema del administrador de eventos.
ASA# show running-config event manager
Este comando ejecuta un applet del administrador de eventos que se ha configurado con event none. Si ejecuta un applet que no se ha configurado con event none, se informa de un error.
ASA# event manager run
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
16-Jul-2014 |
Versión inicial |