Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

Ejecutar secuencias de comandos de eventos en una política de eventos

Los scripts de eventos son scripts extensibles de transformación del lenguaje de hoja de estilo (XSLT), secuencias de comandos syntaX alternativas de lenguaje de hoja de estilo (SLAX) o secuencias de comandos python que una política de eventos puede ejecutar cuando se activa. Las secuencias de comandos de eventos pueden realizar cualquier función disponible a través de las llamadas a procedimiento remoto (RPC) de protocolo XML o Junos XML de Junos. Además, puede pasar a una secuencia de comandos de eventos un conjunto de argumentos que defina.

Los scripts de eventos pueden crear y ejecutar un comando de modo operativo, recibir el resultado del comando, inspeccionar la salida y determinar la siguiente acción adecuada. Este proceso se puede repetir hasta que se determine el origen del problema. A continuación, la secuencia de comandos puede notificar el origen del problema en la CLI o cambiar automáticamente la configuración del dispositivo.

Puede configurar una política de eventos que ejecute secuencias de comandos de eventos y cargue el resultado de esos scripts en una ubicación especificada para su análisis. Para configurar esta política, incluya las siguientes instrucciones en el [edit event-options] nivel jerárquico:

En la events instrucción, puede enumerar varios eventos. Si se produce uno o más de los eventos enumerados, el proceso de eventos ejecuta las acciones configuradas bajo la then jerarquía. Las acciones de política de eventos pueden incluir la ejecución de uno o más scripts de eventos, que se configuran mediante la inclusión de la event-script filename instrucción. El proceso con eventos ejecuta las secuencias de comandos en el orden en que aparecen en la configuración. Las secuencias de comandos a las que hace referencia en la event-script instrucción deben estar ubicadas en el directorio /var/db/scripts/event del disco duro del dispositivo o en el directorio /config/scripts/event/ en memoria flash Además, los scripts de eventos deben estar habilitados en el [edit event-options event-script file] nivel jerárquico. Para obtener más información, consulte Almacenar y habilitar scripts de Automatización de Junos.

Nota:

Si los scripts se encuentran en memoria flash, debe configurar la load-scripts-from-flash instrucción en el [edit system scripts] nivel de jerarquía.

Nota:

Para obtener información detallada acerca de los requisitos y restricciones al ejecutar scripts de automatización de Python en dispositivos que ejecutan Junos OS, consulte Requisitos para ejecutar scripts de automatización de Python en dispositivos Junos.

Puede configurar la arguments instrucción para pasar argumentos a una secuencia de comandos de eventos como pares de nombre/valor. Los valores del argumento pueden incluir variables que contienen información sobre el evento desencadenante u otros eventos recibidos. La secuencia de comandos de eventos puede hacer referencia a esta información durante la ejecución. Para obtener información detallada acerca de cómo pasar argumentos a secuencias de comandos de eventos, consulte Configurar una política de eventos para pasar argumentos a una secuencia de comandos de eventos.

Puede configurar secuencias de comandos de eventos para escribir su salida en un archivo. Cuando el proceso de eventos ejecuta las secuencias de comandos, carga el archivo con el resultado de la secuencia de comandos en la ubicación especificada en la destination instrucción. En la destination instrucción, incluya un nombre de destino configurado en el [edit event-options destinations] nivel jerárquico. Para obtener más información, consulte Ejemplo: Definir destinos para el archivado de archivos por políticas de eventos.

En la output-filename instrucción, defina una cadena descriptiva que se incluirá en el nombre de archivo. Cada archivo cargado también incluye el nombre de host y la marca de hora en el nombre de archivo para asegurarse de que cada nombre de archivo es único. Si una política se activa varias veces en un período de 1 segundo, se anexa un número de índice al nombre de archivo para asegurarse de que los nombres de archivo siguen siendo únicos. El intervalo de números de índice es del 001 al 999.

A partir de junos OS versión 14.1R3, se cambia la convención de nomenclatura de un archivo de salida de comandos generado por una secuencia de comandos de eventos. Cuando una política de eventos ejecuta una secuencia de comandos de eventos y la secuencia de comandos genera un archivo de salida, el nombre del archivo depende de la versión de Junos OS que se ejecute en el dispositivo. Antes de la versión 14.1R3 de Junos OS, el nombre de archivo tiene la siguiente convención de nomenclatura:

A partir de Junos OS versión 14.1R3, el nombre de archivo coloca la output-filename cadena después de la marca de hora.

Por ejemplo, en un dispositivo denominado r1 que ejecuta junos OS versión 14.1R3 o una versión posterior, si configura la output-filename instrucción como ifl-events y esta política de eventos se activa tres veces en 1 segundo, los archivos se denominan:

  • eventos de r1_20060623_132333_ifl

  • r1_20060623_132333_ifl-events_001

  • r1_20060623_132333_ifl-events_002

Para las destination instrucciones y output-filename , hay cuatro escenarios de configuración:

  • Puede omitir las destination instrucciones y output-filename . Esta opción tiene sentido cuando la secuencia de comandos de eventos no tiene salida. Por ejemplo, la secuencia de comandos de eventos puede ejecutar solo request comandos, que no tienen salida.

  • Puede incluir tanto las instrucciones como las destination output-filename . Si incluye la output-filename instrucción en la configuración, también debe incluir la destination instrucción en la configuración. En este caso, el resultado de la secuencia de comandos se redirige al archivo de salida y el archivo se envía al destino especificado en la configuración.

  • Puede incluir la destination instrucción en la configuración. Puede omitir la output-filename instrucción en la configuración y especificar un nombre de archivo de salida en la secuencia de comandos de eventos. El resultado de la secuencia de comandos se envía al destino especificado en la configuración. Si no incluye la destination instrucción en la configuración, el resultado de la secuencia de comandos no se cargará.

    En este caso, la política de eventos extrae el nombre de archivo de la secuencia de comandos de eventos. La secuencia de comandos de eventos escribe el nombre de archivo de salida como STDOUT. La sintaxis XML que se va a usar en la secuencia de comandos de eventos es:

    El <event-script-output-filename> elemento debe ser la primera etiqueta secundaria dentro de la <output> etiqueta principal.

    En un dispositivo denominado device2, configure una acción de secuencia de comandos de eventos con un destino hosty omita la output-filename instrucción. Defina el destino host como ftp://user@device1//tmp.

    En la secuencia de comandos de eventos script1.xsl , escriba el siguiente resultado en STDOUT:

    Configure la política de policy1 eventos de la siguiente manera:

    En este ejemplo, el archivo /var/cmd.txt reside en device2 . La política de eventos usa el protocolo de transferencia de archivos (FTP) para cargar este archivo en el directorio /tmp en el dispositivo1.

    La política de eventos lee el nombre de archivo de salida /var/cmd.txt de STDOUT. Luego, la política de eventos carga el archivo /var/cmd.txt en el destino configurado, que es el directorio /tmp en el dispositivo1. La política de eventos cambia el nombre del archivo /var/cmd.txt como device2_YYYYMMDD_HHMMSS_cmd.txt_index-number.

  • Puede incluir las destination instrucciones y output-filename también especificar un nombre de archivo de salida directamente en la secuencia de comandos del evento. Si lo hace, el nombre de archivo de salida especificado en la configuración anula el nombre de archivo de salida especificado en la secuencia de comandos de eventos.

El formato predeterminado y único para la salida de secuencia de comandos de eventos es Junos Extensible Markup Language (XML).

Nota:

El resultado de la secuencia de comandos de eventos siempre se emite en formato XML, incluso si configura la output-format text instrucción en la [edit event-options policy policy-name then event-script filename] jerarquía.

Tabla de historial de versiones
Lanzamiento
Descripción
14.1R3
A partir de junos OS versión 14.1R3, se cambia la convención de nomenclatura de un archivo de salida de comandos generado por una secuencia de comandos de eventos.