Escritura de las Políticas de Embedded Event Manager Usando Tcl Descargue este capítulo Escritura de las Políticas de Embedded Event Manager Usando Tcl Descargue el libro completo Guía de configuración de la administración del Cisco IOS Network, versión 12.2SR (PDF - 8 MB) Feedback Contenidos Escritura de las Políticas de Embedded Event Manager Usando Tcl Encontrar la información de la característica Contenido Prerrequisitos para Escribir Políticas de Embedded Event Manager Usando Tcl Información sobre la Escritura de Políticas de Embedded Event Manager Usando Tcl Directivas EEM Categorías de Extensiones de Comando de Tcl de Políticas de EEM Flujo General de Detección y Recuperación de Eventos EEM Seguro-TCL Soporte de Bytecode para EEM 2.4 Sustitución del Registro Convenciones para la Asignación de Nombres de Archivo de Cisco para EEM Cómo Escribir Políticas de Embedded Event Manager Usando Tcl Registro y Definición de un Script EEM Tcl Prerrequisitos Ejemplos Visualización de Políticas Registradas EEM Cancelación del Registro de las Políticas EEM Ejemplos Suspensión de la Ejecución de Políticas EEM Ejemplos Administración de Políticas de EEM Ejemplos Modificación del Tamaño de Tabla de Historial y Visualización de Datos de Historial de EEM Visualización de la Métrica de la Confiabilidad del Proceso de Modularidad de Software mediante EEM Consejos de Troubleshooting Modificación de las Políticas de EEM de Ejemplo Directivas de la muestra EEM Programación de Políticas EMM con Tcl Estructura y requisitos de la directiva Tcl Estatus de la entrada EEM Estado de salida EEM Directivas EEM y número de error de Cisco Consejos de Troubleshooting Creación de un Índice de la Biblioteca Tcl de Usuario de EEM Creación de un Índice de Paquete Tcl de Usuario EEM Ejemplos de Configuración para la Escritura de las Políticas de Embedded Event Manager Utilizando Tcl Asignación de un Nombre de Usuario para una Sesión Tcl: Ejemplos Demostración del Detector de Eventos EEM: Ejemplos Programación de Políticas con Tcl: Ejemplo de Scripts de Muestra Debugging de Políticas de Embedded Event Manager: Ejemplos Rastreo de las Operaciones del Comando set de Tcl: Ejemplo: Detector de Eventos RPC: Ejemplo: Adonde ir después Referencias adicionales Documentos Relacionados MIB RFC Asistencia Técnica Referencia de Extensiones de Comandos de Tcl de Políticas de EEM Extensiones de Comandos Tcl de Registro de Eventos de EEM event_register_appl event_register_cli event_register_counter event_register_gold event_register_interface event_register_ioswdsysmon event_register_ipsla event_register_nf event_register_none event_register_oir event_register_process event_register_resource event_register_rf el event_register_routing event_register_rpc event_register_snmp event_register_snmp_notification event_register_snmp_object event_register_syslog event_register_timer event_register_timer_subscriber event_register_track event_register_wdsysmon Extensiones de Comandos de Tcl de Información de Eventos de EEM event_reqinfo Comando Extension Tcl del evento EEM event_completion event_completion_with_wait event_publish event_wait Extensiones del comando Tcl del soporte de los eventos múltiples EEM activador correlativo atributo Extensiones de Comandos Tcl de Acciones de EEM action_policy action_process action_program action_reload action_script action_snmp_trap action_snmp_object_value action_switch action_syslog action_track_read action_track_set Extensiones de Comandos de Tcl de Utilidades de EEM appl_read appl_reqinfo appl_setinfo counter_modify descripción fts_get_stamp register_counter register_timer timer_arm timer_cancel unregister_counter Extensiones del Comando Tcl de Información del Sistema EEM sys_reqinfo_cli_freq sys_reqinfo_cli_history sys_reqinfo_cpu_all sys_reqinfo_crash_history sys_reqinfo_mem_all sys_reqinfo_proc sys_reqinfo_proc_all sys_reqinfo_routername sys_reqinfo_snmp sys_reqinfo_syslog_freq sys_reqinfo_syslog_history Extensiones del Comando Debug de la Biblioteca EEM cli_debug smtp_debug Extensiones de Comando de la Biblioteca SMTP smtp_send_email smtp_subst Extensiones de Comando de la Biblioteca CLI cli_close cli_exec cli_get_ttyname cli_open cli_read cli_read_drain cli_read_line cli_read_pattern cli_run cli_run_interactive cli_write Soporte de la biblioteca XML-PI CLI xml_pi_exec xml_pi_parse xml_pi_read xml_pi_write Extensiones de Comando de la Biblioteca de Contexto Tcl context_retrieve context_save Extensiones del comando Tcl del registro del evento para EEM 3,2 event_register_identity event_register_mat event_register_neighbhor_discovery Información sobre Funciones para Escribir Políticas de Embedded Event Manager con Tcl Escritura de las Políticas de Embedded Event Manager Usando Tcl Primera publicación: De octubre el 31 de 2005 Última actualización: Mayo 31, 2010 Este módulo describe cómo los desarrollares de software pueden escribir y personalizar las directivas integradas del administrador del evento (EEM) usando los scripts del Tool Command Language (Tcl) para manejar los incidentes y los eventos del Cisco IOS Software. EEM es un proceso directiva-conducido mediante el cual los incidentes en el sistema informático de Cisco IOS Software están señalados a través de una interfaz programada definida de la aplicación (API). El motor de políticas EEM recibe notificaciones cuando ocurren fallas y otros eventos. Las políticas de EEM implementan la recuperación basándose en el estado actual del sistema y en las acciones especificados en la política para un evento determinado. Las acciones de recuperación se desencadenan cuando se ejecuta la política. Encontrar la información de la característica Su versión de software puede no soportar todas las características documentadas en este módulo. Para la últimas información y advertencias de la característica, vea los Release Note para su plataforma y versión de software. Para encontrar la información sobre las características documentadas en este módulo, y ver una lista de las versiones en las cuales se soporta cada característica, vea “información de la característica para escribir las directivas integradas del administrador del evento usando la sección Tcl”. Utilice el Cisco Feature Navigator para encontrar la información sobre el soporte del Soporte de la plataforma y de la imagen del software de Cisco. Para acceder a Cisco Feature Navigator, vaya a http://www.cisco.com/go/cfn. Una cuenta en Cisco.com no se requiere. Contenido • Prerrequisitos para Escribir Políticas de Embedded Event Manager Usando Tcl • Información sobre la Escritura de Políticas de Embedded Event Manager Usando Tcl • Cómo Escribir Políticas de Embedded Event Manager Usando Tcl • Ejemplos de Configuración para la Escritura de las Políticas de Embedded Event Manager Utilizando Tcl • Adonde ir después • Referencias adicionales • Referencia de Extensiones de Comandos de Tcl de Políticas de EEM • Información sobre Funciones para Escribir Políticas de Embedded Event Manager con Tcl Prerrequisitos para Escribir Políticas de Embedded Event Manager Usando Tcl • Antes de escribir las directivas EEM, usted debe ser familiar con el módulo “de la descripción integrada del administrador del evento”. • Si usted quiere escribir las directivas EEM usando los comandos del comando line interface(cli), usted debe ser familiar con “las directivas integradas escritura del administrador del evento usando el módulo del Cisco IOS CLI”. Información sobre la Escritura de Políticas de Embedded Event Manager Usando Tcl Para escribir las directivas EEM usando el Tcl, usted debe entender los conceptos siguientes: • Directivas EEM • Categorías de Extensiones de Comando de Tcl de Políticas de EEM • Flujo General de Detección y Recuperación de Eventos EEM • Seguro-TCL • Soporte de Bytecode para EEM 2.4 • Sustitución del Registro • Convenciones para la Asignación de Nombres de Archivo de Cisco para EEM Directivas EEM EEM ofrece la capacidad de monitorear los eventos y de tomar informativo o la acción correctiva cuando los eventos monitoreados ocurren o alcanzan un umbral. Una política EEM es una entidad que define un evento y las acciones que se tomarán cuando ocurra ese evento. Hay dos tipos de políticas de EEM: un applet o un script. Un applet es una forma sencilla de directiva que se defina dentro de la configuración del comando line interface(cli). Un script es un tipo de política que se escribe en Tool Command Language (Tcl). Applet de EEM Un applet de EEM es un método sucinto para definir criterios de filtrado de eventos y las acciones que se deberán llevar a cabo cuando se produzca el evento correspondiente. En el modo de configuración del applet EEM, soportan a tres tipos de sentencias de configuración. Utilizan a los comandos event de especificar los criterios del evento para accionar el applet para ejecutarse, se utilizan los comandos de la acción de especificar una acción para realizarse cuando se acciona el applet EEM, y set se utiliza el comando de fijar el valor de una variable del applet EEM. Solamente la variable del _exit_status se soporta actualmente para set el comando. Solamente un Comandos de configuración de eventos se permiten dentro de una configuración del applet. Cuando se sale el submode de la configuración del applet y no hay comando event presente, una advertencia es el exponer visualizado que no se asocia ningún evento al applet. Si no se especifica ningún evento, el applet no se considera registrado. Cuando no se asocia ninguna acción al applet, los eventos todavía se accionan pero no se realiza ningunas acciones. Se permite a los comandos configuration de la acción múltiple dentro de una configuración del applet. Utilice show event manager policy registered el comando de visualizar una lista de applet registradoes. Antes de modificar un applet de EEM, tenga en cuenta que el applet existente no se sustituye hasta que salga del modo de configuración del applet. Cuando se modifica el subprograma en el modo de configuración de subprograma, puede estar en ejecución el subprograma existente. Es seguro modificar el applet sin desregistrarlo, porque los cambios se escriben a un archivo temporal. Cuando se sale del modo de configuración del applet, se desregistra el applet antiguo y se registra la nueva versión. Identifican a los comandos configuration de la acción dentro de un applet únicamente usando label el argumento, que puede ser cualquier valor de la cadena. Las acciones se clasifican dentro de un applet en la secuencia clave alfanumérica ascendente usando label el argumento como el criterio de ordenación, y se ejecutan usando esta secuencia. El mismo label argumento se puede utilizar en diversos applet; las escrituras de la etiqueta deben ser únicas solamente dentro de un applet. Embedded Event Manager programa y ejecuta políticas basándose en una especificación de evento incluida en la propia política. Cuando dan salida al modo de configuración del applet, EEM examina los comandos del evento y de la acción se ingresan que y registra el applet que se ejecutará cuando ocurre un evento especificado. Para más detalles sobre la escritura de las directivas EEM usando el Cisco IOS CLI, vea “las directivas integradas escritura del administrador del evento usando el módulo del Cisco IOS CLI”. Script EEM Todos los scripts integrados del administrador del evento se escriben en el Tcl. El Tcl es un lenguaje del comando basado en string que se interpreta en el tiempo de ejecución. La versión del Tcl soportada es versión 8.3.4 Tcl más el soporte agregado del script. Los scripts se definen usando un editor ASCII en otro dispositivo, no en el dispositivo de interconexión de redes. El script después se copia al dispositivo de networking y se registra con EEM. Los scripts tcl se soportan por EEM. Pues una regla aplicada, las directivas integradas del administrador del evento es las rutinas de servicio efímeras que se deben interpretar y ejecutar en menos de 20 segundos de tiempo transcurrido. Si más de 20 segundos de tiempo transcurrido se requieren, el parámetro del maxrun se puede especificar en la declaración del event_register para especificar cualquier valor deseado. Las directivas EEM utilizan el alcance total de las capacidades de lenguaje Tcl. Sin embargo, Cisco proporciona las mejoras al lenguaje Tcl bajo la forma de Extensiones del comando Tcl que faciliten la escritura de las directivas EEM. Las categorías principales de Extensiones del comando Tcl identifican el evento detectado, la acción subsiguiente, la información utilitaria, los valores de contador, y la información del sistema. EEM le permite escribir e implementar sus propias políticas usando Tcl. La escritura de un script EEM implica: • Seleccionando el evento Tcl ordene la extensión que establece los criterios usados para determinar cuando se funciona con la directiva. • Definiendo las opciones del detector de evento asociadas a detectar el evento. • Elegir las acciones para implementar la recuperación o para responder al evento detectado. Categorías de Extensiones de Comando de Tcl de Políticas de EEM Hay diversas categorías de Extensiones del comando Tcl de la directiva EEM. Observelas Extensiones del comando Tcl disponibles en cada uno de estas categorías para el uso en todas las directivas EEM se describen en las secciones posteriores en este documento. Categoría Definición Extensiones del comando Tcl del evento EEM (tres tipos: la Información del evento, el registro del evento, y el evento publican) Esta categoría es representada por la familiaxxx del event_register_ de comandos evento-específicos. Hay una extensión separada del comando Tcl de la Información del evento en esta categoría también: event_reqinfo. Éste es el comando usado en las directivas para preguntar el EEM para la información sobre un evento. Hay también un evento EEM publica la extensión del comando Tcl event_publish que publica un evento específico a la aplicación. Extensiones del comando Tcl de la acción EEM Estas Extensiones del comando Tcl (por ejemplo, action_syslog) son utilizadas por las directivas para responder a o para recuperarse de un evento o de un incidente. Además de estas Extensiones, los desarrolladores pueden utilizar el lenguaje Tcl para implementar cualquier acción deseada. Extensiones utilitarias Estas Extensiones del comando Tcl se utilizan para extraer, para salvar, para del comando EEM fijar, o para modificar la Información de la aplicación, los contadores, o los Tcl temporizadores. Extensiones del comando Tcl de la información del sistema EEM Esta categoría es representada por sys_reqinfola familiaxxx del _de comandos sistema-específicos de la información. Estos comandos son utilizados por una directiva de recopilar la información del sistema. Extensiones del comando Tcl del contexto EEM Estas Extensiones del comando Tcl se utilizan para salvar y para extraer un contexto Tcl (las variables visibles y sus valores). Flujo General de Detección y Recuperación de Eventos EEM EEM es un marco flexible basado en políticas que soporta el monitoreo in-box de diversos componentes del sistema con la ayuda de agentes de software denominados detectores de eventos. El cuadro 1 muestra la relación entre el servidor EEM, los editores del evento de la base (detectores de evento), y los suscriptores del evento (directivas). Básicamente, los editores de eventos examinan eventos y los publican cuando hay una coincidencia en una especificación de evento proporcionada por el suscriptor del evento. Los detectores de evento notifican al servidor EEM cuando ocurre un evento de interés. Cuando se detecta un evento o un incidente, el administrador del evento integrado determina de los editores del evento — un ejemplo sería el editor de los eventos OIR en el cuadro 1 — si ha ocurrido un registro para el incidente o el evento encontrado. EEM hace juego la información de registro con los datos de evento sí mismo del evento. Una directiva se registra para el evento detectado con el _de la extensión del comando event_registerTclxxx. La extensión del comando Tcl de la Información del evento event_reqinfo se utiliza en la directiva para preguntar al administrador del evento integrado para la información sobre el evento detectado. Figura 1 Detectores de Eventos Incrustados del Núcleo del Administrador de Eventos Seguro-TCL El Seguro-TCL es un mecanismo de seguridad que permite que el Scripts TCL untrusted se ejecute en un intérprete que fue creado en el modo seguro. El intérprete seguro tiene un conjunto de comandos restricto que evita el acceder de algunos recursos del sistema y el dañar del host y de otras aplicaciones. Por ejemplo, no permite los comandos de acceder los directorios de Cisco IOS File System críticos. Los scripts definidos por Cisco funcionan con por completo… el modo, pero los scripts definidos por el usario se ejecutan en el modo Seguro-TCL. El Seguro-TCL permite que Cisco inhabilite o que personalice los comandos individuales Tcl. Para más detalles sobre los comandos Tcl, vaya a http://www.tcl.tk/man/. La lista siguiente de comandos Tcl se restringe con algunas excepciones. Las restricciones se observan contra cada comando o palabra clave del comando: • cd — El directorio del cambio no se permite a uno de los nombres de directorio Cisco restrictos. • encoding — Se permiten encoding nameslos comandos encoding convertfrom, encoding convertto y. encoding system El comando sin los argumentos se permite, pero encoding system el comando con ?encoding? la palabra clave no se permite. • exec — No permitido. • fconfigure — Permitido. • file — Se permiten los siguientes: file dirname file exists file extension file isdirectory file join file pathtype file rootname file split file stat file tail - • file — Los siguientes no se permiten: file atime file attributes file channels file copy file delete file executable file isfile file link file lstat file mkdir file mtime file nativename file normalize file owned file readable file readlink file rename file rootname file separator file size file system file type file volumes file writable - • glob — glob El comando no se permite al buscar en uno de los directorios Cisco restrictos. Si no, se permite. • load — Solamente los archivos que están en el directorio de la política de usuario o el directorio de biblioteca de usuario se permiten para ser cargados. Los paquetes estáticos (por ejemplo, las bibliotecas que consisten en el código del C) no se permiten para ser cargados con load el comando. • open — open El comando no se permite para un archivo que esté situado en uno de los directorios Cisco restrictos. • pwd — pwd El comando no se permite. • socket — socket Se permite el comando. • source — source El comando se permite para los archivos que están en el directorio de la política de usuario o el directorio de biblioteca de usuario. Soporte de Bytecode para EEM 2.4 En el Cisco IOS Release 12.4(20)T, EEM 2,4 introduce el soporte del lenguaje del bytecode (BCL) validando los archivos con la extensión estándar .tbc del script del bytecode. La versión 8.3.4 Tcl define un BCL e incluye a un compilador que traduzca el Scripts TCL a BCL. Las Extensiones de archivo de políticas válidas EEM en EEM 2,4 para el usuario y políticas del sistema son .tcl (archivos de texto Tcl) y .tbc (el bytecode Tcl clasifía). Salvar el Scripts TCL en el bytecode mejora la velocidad de ejecución de la directiva porque se precompila el código, crea los tamaños más pequeños de la directiva, y obscurece el código de la directiva. La ofuscación hace un poco más difícil modificar los scripts y oculta la lógica para preservar los derechos de propiedad intelectual. El soporte para el bytecode se está agregando para proporcionar otra opción para la versión del código soportado y confiado en. Recomendamos que usted se ejecuta solamente entendido bien, o confiado en y software admitido en los dispositivos de red. Para generar el bytecode Tcl para el soporte IOS EEM, utilice las versiones 1,4 o 1,5 de TclPro. Para traducir un script Tcl al bytecode usted puede utilizar el procomp, el compilador de TclPro de la parte de libremente, o el equipo del desarrollo Tcl del estado activo. Cuando un script Tcl se compila usando el procomp, el código es revuelto y se genera un archivo .tbc. Los archivos del bytecode son independientes de la plataforma y se pueden generar en cualquier sistema operativo en el cual TclPro esté disponible, incluyendo Windows, Linux, y UNIX. Procomp es parte de TclPro y disponible desde http://www.tcl.tk/software/tclpro. Sustitución del Registro Además de la substitución regular Tcl, EEM 2,3 (en los Cisco IOS Releases 12.2(33)SXH y 12.2(33)SB, y posterior las versiones) permite la substitución de un parámetro individual en una línea de declaración del registro del evento EEM con una variable de entorno. EEM 2,4 en el Cisco IOS Release 12.4(20)T introduce la capacidad de substituir los parámetros múltiples en las líneas de declaración del registro del evento por una sola variable de entorno. Observesolamente la substitución de parámetro múltiple de los primeros soportes de la variable de entorno. Los parámetros individuales se pueden todavía especificar con las variables de entorno adicionales después de la variable inicial. Para ilustrar la substitución, una sola variable de entorno, $_eem_syslog_statement se configura como: ::cisco::eem::event_register_syslog pattern COUNT Usando la substitución del registro, la variable de entorno $_eem_syslog_statement se utiliza en la política de usuario siguiente EEM: $_eem_syslog_statement occurs $_eem_occurs_val action_syslog "this is test 3" Las variables de entorno deben ser definidas antes de que una directiva usando ellas se registre. Para definir la variable de entorno $_eem_syslog_statement: Router(config)# event manager environment eem_syslog_statement ::cisco::eem::event_register_syslog pattern COUNT Router(config)# event manager environment eem_occurs_val 2 Convenciones para la Asignación de Nombres de Archivo de Cisco para EEM Todos los nombres de la directiva del administrador del evento, archivos de la admite una política (por ejemplo, los archivos de plantilla del email), y nombres de fichero integrados de la biblioteca son constantes con la convención para nombres del archivo de Cisco. A este respecto, los nombres de fichero integrados de la directiva del administrador del evento se adhieren a la especificación siguiente: • Un prefijo opcional - Obligatorio. , indica, si está presente, que ésta es una política del sistema que se debe registrar automáticamente en el momento del boot si aún no se ha registrado. Por ejemplo: Mandatory.sl_text.tcl. • Una parte del cuerpo del nombre de fichero que contiene una abreviatura del dos-carácter (véase el cuadro 2) para el primer evento especificado; una pieza del caracter de subrayado; y una pieza descriptiva del campo que identifica más lejos la directiva. • Una parte del sufijo del nombre de archivo definida como .tcl. Los archivos de plantilla integrados del email del administrador del evento consisten en un prefijo del nombre de fichero del email_template, seguido por una abreviatura que identifique el uso de la plantilla del email. Los nombres de fichero integrados de la biblioteca del administrador del evento consisten en una parte del cuerpo del nombre de fichero que contiene el campo descriptivo que identifica el uso de la biblioteca, seguido por el _lib, y una pieza del sufijo del nombre de fichero definida como .tcl. ap event_register_appl cl event_register_cli ct event_register_counter vaya event_register_gold si event_register_interface io event_register_ioswdsysmon la event_register_ipsla N-F event_register_nf no event_register_none oi event_register_oir banda event_register_process rf event_register_rf rs event_register_resource rt el event_register_routing rp event_register_rpc sl event_register_syslog sn event_register_snmp st event_register_snmp_notification tan event_register_snmp_object tm event_register_timer tr event_register_track ts event_register_timer_subscriber wd event_register_wdsysmon Cómo Escribir Políticas de Embedded Event Manager Usando Tcl Esta sección contiene las siguientes tareas: • Registro y Definición de un Script EEM Tcl • Visualización de Políticas Registradas EEM • Cancelación del Registro de las Políticas EEM • Suspensión de la Ejecución de Políticas EEM • Administración de Políticas de EEM • Modificación del Tamaño de Tabla de Historial y Visualización de Datos de Historial de EEM • Visualización de la Métrica de la Confiabilidad del Proceso de Modularidad de Software mediante EEM • Modificación de las Políticas de EEM de Ejemplo • Programación de Políticas EMM con Tcl • Creación de un Índice de la Biblioteca Tcl de Usuario de EEM • Creación de un Índice de Paquete Tcl de Usuario EEM Registro y Definición de un Script EEM Tcl Realice esta tarea de configurar las variables de entorno y de registrar una directiva EEM. EEM programa y ejecuta políticas basadas en la especificación de un evento incluida en la propia política. Cuando se registra una directiva EEM, el software examina la directiva y la registra que se ejecutará cuando ocurre el evento especificado. Prerrequisitos Usted debe tener una directiva disponible que se escriba en el lenguaje de secuencia de comandos de TCL. Se proporcionan las directivas de la muestra — vea los detalles en “la sección de las directivas de la muestra EEM” para ver qué directivas están disponibles para la imagen del Cisco IOS Release que usted está utilizando — y estas directivas de la muestra están salvadas en el directorio de la política del sistema. PASOS SUMARIOS 1. enable 2. show event manager environment [all | variable-name] 3. configure terminal 4. event manager environment variable-name string 5. Relance el paso 4 para configurar todas las variables de entorno requeridas por la directiva para ser registrado en el paso 6. 6. event manager policy policy-filename [type{system | user}] []trap 7. exit PASOS DETALLADOS Comando o acción Paso enable 1 Propósito Habilita el modo EXEC privilegiado. • Ingrese su contraseña si se le pide que lo haga. Example: Router> enable Paso show event manager environment [ (Opcional) Muestra el nombre y el valor de all | variable-name] 2 las variables de entorno de EEM. • La palabra clave optativa all visualiza todas las variables de entorno EEM. Example: Router# show event manager environment all • El argumento optativo variable-name visualiza la información sobre la variable de entorno especificada. Paso configure terminal 3 Ingresa en el modo de configuración global. Paso event manager environment variable-name string 4 Configura el valor de la variable de entorno EEM especificada. Example: Router# configure terminal • En este ejemplo, el software asigna una variable de entorno del temporizador CRON que se fijará al segundo minuto de cada hora de cada día. Example: Router(config)# event manager environment _cron_entry 0-59/2 0-23/1 * * 0-6 Paso Relance el paso 4 para configurar todas — 5 las variables de entorno requeridas por la directiva para ser registrado en el paso 6. Paso event manager policy policyfilename [type {system | user}] 6 [trap] Example: Router(config)# event manager policy tm_cli_cmd.tcl type system Registra la política de EEM que se ejecutará cuando ocurra el evento especificado definido dentro de la política. • Utilice system la palabra clave para registrar una política del sistema definida por Cisco. • Utilice user la palabra clave para registrar una política del sistema definida por el usario. • Utilice trap la palabra clave para generar un SNMP trap cuando se acciona la directiva. • En este ejemplo, la muestra EEM tm_cli_cmd.tcl nombrado directiva se registra como política del sistema. Paso exit 7 Example: Router(config)# exit Salidas modo de configuración global y devoluciones al modo EXEC privilegiado. Ejemplos En el siguiente ejemplo, utilizan al comando privileged exec del entorno del administrador del evento de la demostración de visualizar el nombre y el valor de todas las variables de entorno EEM. Router# show event manager environment all No. Name Value 1 _cron_entry 0-59/2 0-23/1 * * 0-6 2 _show_cmd show ver 3 _syslog_pattern .*UPDOWN.*Ethernet1/0.* 4 _config_cmd1 interface Ethernet1/0 5 _config_cmd2 no shut Visualización de Políticas Registradas EEM Realice esta tarea optativa de visualizar las directivas registradoas EEM. PASOS SUMARIOS 1. enable 2. show event manager policy registered []event-typeevent-name [time-ordered | name-ordered] []detailed policyfilename PASOS DETALLADOS Paso 1 enable Habilita el modo EXEC privilegiado. Ingrese su contraseña si se le pide que lo haga. Router> enable []del paso show event manager policy registered 2event-type event-name[time-ordered | name-ordered] []detailed policy-filename Utilice este comando con time-ordered la palabra clave al mostrar información sobre las directivas actualmente registradoas clasificadas por el tiempo, por ejemplo: Router# show event manager policy registered time-ordered No. Type Event Type Trap Time Registered Name 1 system timer cron Off Wed May11 tm_cli_cmd.tcl 01:43:18 2005 name {crontimer2} cron entry {0-59/1 0-23/1 * * 0-7} nice 0 priority normal maxrun 240 2 system syslog Off Wed May11 01:43:28 2005 sl_intf_down.tcl 01:43:38 2005 pr_cdp_abort.tcl occurs 1 pattern {.*UPDOWN.*Ethernet1/0.*} nice 0 priority normal maxrun 90 3 system proc abort Off Wed May11 instance 1 path {cdp2.iosproc} nice 0 priority normal maxrun 20 Utilice este comando con name-ordered la palabra clave al mostrar información sobre las directivas actualmente registradoas clasificadas por nombre, por ejemplo: Router# show event manager policy registered name-ordered No. Type Event Type Trap Time Registered Name 1 system proc abort Off Wed May11 01:43:38 2005 pr_cdp_abort.tcl Off Wed May11 01:43:28 2005 sl_intf_down.tcl 01:43:18 2005 tm_cli_cmd.tcl instance 1 path {cdp2.iosproc} nice 0 priority normal maxrun 20 2 system syslog occurs 1 pattern {.*UPDOWN.*Ethernet1/0.*} nice 0 priority normal maxrun 90 3 system timer cron Off Wed May11 name {crontimer2} cron entry {0-59/1 0-23/1 * * 0-7} nice 0 priority normal maxrun 240 Utilice este comando con event-type la palabra clave al mostrar información sobre las directivas actualmente registradoas para el tipo de evento especificado en event-name el argumento, por ejemplo: Router# show event manager policy registered event-type syslog No. Type Event Type Time Registered Name 1 system syslog Wed May11 sl_intf_down.tcl 01:43:28 2005 occurs 1 pattern {.*UPDOWN.*Ethernet1/0.*} nice 0 priority normal maxrun 90 Cancelación del Registro de las Políticas EEM Realice esta tarea para remover una política de EEM del archivo de configuración en ejecución. La ejecución de la política se cancela. PASOS SUMARIOS 1. enable 2. show event manager policy registered []event-typeevent-name [system | user] [time-ordered | name-ordered] [] detailed policy-filename 3. configure terminal 4. ningún event manager policy policy-filename 5. exit 6. Relance el paso 2 para asegurarse de que se ha quitado la directiva. PASOS DETALLADOS Comando o acción Paso enable 1 Example: Router> enable Propósito Habilita el modo EXEC privilegiado. • Ingrese su contraseña si se le pide que lo haga. Paso show event manager policy registered (Opcional) Muestra las políticas EEM [event-type event-name] [system | 2 que están registradas actualmente. user] [time-ordered | name-ordered] [detailed policy-filename] • El opcional system o user la palabra clave visualiza el sistema o las políticas de usuario registrado. Example: Router# show event manager policy registered • Si no se especifica ninguna palabra clave, las políticas registradas EEM para todos los tipos de evento se muestran por orden de hora. Paso configure terminal 3 Ingresa en el modo de configuración global. Paso no event manager policy policyfilename 4 Remueve la política EEM de la configuración, haciendo que no se registre la política. Example: Router# configure terminal Example: Router(config)# no event manager policy pr_cdp_abort.tcl • En este ejemplo, no la forma del comando se utiliza para desregistrar una directiva especificada. Paso exit 5 Salidas modo de configuración global y devoluciones al modo EXEC privilegiado. Example: Router(config)# exit Paso Relance el paso 2 para asegurarse de que se — 6 ha quitado la directiva. Example: Router# show event manager policy registered Ejemplos En el siguiente ejemplo, utilizan al comando privileged exec registrado directiva del administrador del evento de la demostración de visualizar las tres directivas EEM que se registran actualmente: Router# show event manager policy registered No. Type Event Type Trap Time Registered 1 system timer cron Off Tue Oct11 Name 01:43:18 2005 tm_cli_cmd.tcl name {crontimer2} cron entry {0-59/1 0-23/1 * * 0-7} nice 0 priority normal maxrun 240.000 2 system syslog Off Tue Oct11 01:43:28 2005 sl_intf_down.tcl occurs 1 pattern {.*UPDOWN.*Ethernet1/0.*} nice 0 priority normal maxrun 90.000 3 system proc abort Off Tue Oct11 01:43:38 2005 pr_cdp_abort.tcl instance 1 path {cdp2.iosproc} nice 0 priority normal maxrun 20.000 Después de que se visualicen las Políticas actuales, se decide para borrar la directiva pr_cdp_abort.tcl usando la forma no del comando policy del eventmanager: Router# configure terminal Router(config)# no event manager policy pr_cdp_abort.tcl Router(config)# exit Ingresan al comando privileged exec registrado directiva del administrador del evento de la demostración otra vez de visualizar las directivas EEM que se registran actualmente. La directiva pr_cdp_abort.tcl se registra no más. Router# show event manager policy registered No. Type Event Type Trap Time Registered 1 system timer cron Off Tue Oct11 Name 01:45:17 2005 tm_cli_cmd.tcl name {crontimer2} cron entry {0-59/1 0-23/1 * * 0-7} nice 0 priority normal maxrun 240.000 2 system syslog Off Tue Oct11 01:45:27 2005 sl_intf_down.tcl occurs 1 pattern {.*UPDOWN.*Ethernet1/0.*} nice 0 priority normal maxrun 90.000 Suspensión de la Ejecución de Políticas EEM Realiza esta tarea para suspender inmediatamente la ejecución de todas las políticas EEM. Suspender las directivas, en vez de desregistrarlas, pudo ser necesario por razones del funcionamiento o la Seguridad temporal. PASOS SUMARIOS 1. enable 2. show event manager policy registered[]event-typeevent-name [system | user] [time-ordered | name-ordered] [] detailed policy-filename 3. configure terminal 4. event manager scheduler suspend 5. exit PASOS DETALLADOS Comando o acción Paso enable 1 Example: Router> enable Propósito Habilita el modo EXEC privilegiado. • Ingrese su contraseña si se le pide que lo haga. Paso show event manager policy registered (Opcional) Muestra las políticas EEM [event-type event-name] [system | 2 que están registradas actualmente. user] [time-ordered | name-ordered] [detailed policy-filename] Example: Router# show event manager policy registered • El opcional system o user la palabra clave visualiza el sistema o las políticas de usuario registrado. • Si no se especifica ninguna palabra clave, las políticas registradas EEM para todos los tipos de evento se muestran por orden de hora. Paso configure terminal 3 Ingresa en el modo de configuración global. Paso event manager scheduler suspend 4 Suspende inmediatamente la ejecución de todas las políticas de EEM. Paso exit 5 Salidas modo de configuración global y devoluciones al modo EXEC privilegiado. Example: Router# configure terminal Example: Router(config)# event manager scheduler suspend Example: Router(config)# exit Ejemplos En el siguiente ejemplo, utilizan al comando privileged exec registrado directiva del administrador del evento de la demostración de visualizar todas las directivas registradoas EEM: Router# show event manager policy registered No. Type Event Type Trap Time Registered Name 1 system timer cron Off Sat Oct11 tm_cli_cmd.tcl 01:43:18 2003 name {crontimer2} cron entry {0-59/1 0-23/1 * * 0-7} nice 0 priority normal maxrun 240.000 2 system syslog Off Sat Oct11 01:43:28 2003 sl_intf_down.tcl 01:43:38 2003 pr_cdp_abort.tcl occurs 1 pattern {.*UPDOWN.*Ethernet1/0.*} nice 0 priority normal maxrun 90.000 3 system proc abort Off Sat Oct11 instance 1 path {cdp2.iosproc} nice 0 priority normal maxrun 20.000 Ingresan al comando suspend del planificador de trabajos del administrador del evento de suspender inmediatamente la ejecución de todas las directivas EEM: Router# configure terminal Router(config)# event manager scheduler suspend *Nov 2 15:34:39.000: %HA_EM-6-FMS_POLICY_EXEC: fh_io_msg: Policy execution has been suspended Administración de Políticas de EEM Realice esta tarea de especificar un directorio para utilizar para salvar los archivos de biblioteca del usuario o las directivas definidas por el usario EEM. Observeesta tarea se aplica solamente a las directivas EEM que se escriben usando el Scripts TCL. PASOS SUMARIOS 1. enable 2. show event manager directory user[library | policy] 3. configure terminal 4. event manager directory user {library path | policy path} 5. exit PASOS DETALLADOS Comando o acción Paso enable 1 Example: Router> enable Propósito Habilita el modo EXEC privilegiado. • Ingrese su contraseña si se le pide que lo haga. Paso show event manager directory user [library | policy] 2 Example: Router# show event manager directory user library (Opcional) visualiza el directorio para utilizar para salvar la biblioteca o los archivos de políticas de usuario EEM. • La palabra clave optativa library visualiza el directorio para utilizar para los archivos de biblioteca del usuario. • La palabra clave optativa policy visualiza el directorio para utilizar para las directivas definidas por el usario EEM. Paso configure terminal 3 Ingresa en el modo de configuración global. Paso event manager directory user { library path | policy path} 4 Especifica un directorio que se utilizará para almacenar archivos de biblioteca de usuario o políticas de EEM definidas por el usuario. Example: Router# configure terminal Example: Router(config)# event manager directory user library disk0:/usr/lib/tcl Paso exit 5 Example: Router(config)# exit • Utilice path el argumento para especificar el nombre de acceso absoluto al directorio de usuario. Salidas modo de configuración global y devoluciones al modo EXEC privilegiado. Ejemplos En el siguiente ejemplo, utilizan al comando privileged exec del usuario del directorio del administrador del evento de la demostración de visualizar el directorio, si existe, para utilizar para salvar los archivos de biblioteca del usuario EEM: Router# show event manager directory user library disk0:/usr/lib/tcl Modificación del Tamaño de Tabla de Historial y Visualización de Datos de Historial de EEM Realice esta tarea opcional para cambiar el tamaño de las tablas del historial y para mostrar los datos del historial EEM. PASOS SUMARIOS 1. enable 2. configure terminal 3. event manager history size {events | traps} []size 4. exit 5. show event manager history events []detailed del []maximumnumber 6. show event manager history traps {server | policy} PASOS DETALLADOS Paso 1 enable Habilita el modo EXEC privilegiado. Ingrese su contraseña si se le pide que lo haga. Router> enable Paso 2 configure terminal Ingresa en el modo de configuración global. Router# configure terminal Paso 3 event manager history size {events | traps} []size Utilice este comando para cambiar el tamaño de tabla del historial de eventos de EEM o el tamaños de la tabla del historial de trampas SNMP de EEM. En el siguiente ejemplo, el tamaño de la tabla del historial de eventos de EEM se cambia a 30 entradas: Router(config)# event manager history size events 30 Paso 4 exit Salidas modo de configuración global y devoluciones al modo EXEC privilegiado. Router(config)# exit []del [] show event manager history events del pasodetailed 5maximum number Utilice este comando al mostrar información sobre cada evento EEM se ha accionado que. Router# show event manager history events No. Time of Event Event Type Name 1 Fri Sep 9 13:48:40 2005 syslog applet: one 2 Fri Sep 9 13:48:40 2005 syslog applet: two 3 Fri Sep 9 13:48:40 2005 syslog applet: three 4 Fri Sep 9 13:50:00 2005 timer cron script: tm_cli_cmd.tcl 5 Fri Sep 9 13:51:00 2005 timer cron script: tm_cli_cmd.tcl Paso 6 show event manager history traps [server | policy] Utilice este comando para visualizar las trampas SNMP de EEM enviadas desde el servidor EEM o desde una política de EEM. Router# show event manager history traps No. Time 1 Fri Sep 2 Fri Sep Trap Type Name 9 13:48:40 2005 server applet: four 9 13:57:03 2005 policy script: no_snmp_test.tcl Visualización de la Métrica de la Confiabilidad del Proceso de Modularidad de Software mediante EEM Realice esta tarea optativa de visualizar la métrica de la confiabilidad para los procesos de la modularidad del Cisco IOS Software. show event manager metric processes El comando fue introducido en las versiones del Cisco IOS Release 12.2(18)SXF4 y Posterior y se soporta solamente en las imágenes de la modularidad del software. PASOS SUMARIOS 1. enable 2. show event manager metric processes {all | process-name} PASOS DETALLADOS Paso 1 enable Habilita el modo EXEC privilegiado. Ingrese su contraseña si se le pide que lo haga. Router> enable Paso 2 show event manager metric process {all | process-name} Utilice este comando de visualizar los datos métricos de la confiabilidad para los procesos. El sistema guarda un expediente de cuando los procesos comienzan y terminan, y estos datos se utilizan como la base para el análisis de confiabilidad. En este ejemplo parcial, las primeras y más recientes entradas que muestran los datos métricos para los procesos en todos los indicadores luminosos LED amarillo de la placa muestra gravedad menor insertados en el sistema se visualizan. Router# show event manager metric process all ===================================== process name: devc-pty, instance: 1 sub_system id: 0, version: 00.00.0000 -------------------------------last event type: process start recent start time: Fri Oct10 20:34:40 2005 recent normal end time: n/a recent abnormal end time: n/a number of times started: 1 number of times ended normally: 0 number of times ended abnormally: 0 most recent 10 process start times: -------------------------Fri Oct10 20:34:40 2005 -------------------------- most recent 10 process end times and types: cumulative process available time: 6 hours 30 minutes 7 seconds 378 milliseconds cumulative process unavailable time: 0 hours 0 minutes 0 seconds 0 milliseconds process availability: 0.100000000 number of abnormal ends within the past 60 minutes (since reload): 0 number of abnormal ends within the past 24 hours (since reload): 0 number of abnormal ends within the past 30 days (since reload): 0 . . . ===================================== process name: cdp2.iosproc, instance: 1 sub_system id: 0, version: 00.00.0000 -------------------------------- last event type: process start recent start time: Fri Oct10 20:35:02 2005 recent normal end time: n/a recent abnormal end time: n/a number of times started: 1 number of times ended normally: 0 number of times ended abnormally: 0 most recent 10 process start times: -------------------------Fri Oct10 20:35:02 2005 -------------------------- most recent 10 process end times and types: cumulative process available time: 6 hours 29 minutes 45 seconds 506 milliseconds cumulative process unavailable time: 0 hours 0 minutes 0 seconds 0 milliseconds process availability: 0.100000000 number of abnormal ends within the past 60 minutes (since reload): 0 number of abnormal ends within the past 24 hours (since reload): 0 number of abnormal ends within the past 30 days (since reload): 0 Consejos de Troubleshooting Utilice el comando debug event manager en modo EXEC privilegiado para resolver problemas de operaciones de comandos de EEM. Utilice los comandos de debugging con precaución, ya que el volumen de la salida generada puede ralentizar o detener las operaciones del router. Recomendamos utilizar este comando solamente bajo supervisión de un ingeniero de Cisco. Modificación de las Políticas de EEM de Ejemplo Realice esta tarea de modificar una de las directivas de la muestra. El Cisco IOS Software contiene algunas directivas de la muestra en las imágenes que contienen al administrador del evento integrado. Los desarrolladores de las directivas EEM pueden modificar estas directivas personalizando el evento para el cual la directiva debe ser funcionada con y las opciones ser asociada al registro y a la respuesta al evento. Además, los desarrolladores pueden seleccionar las acciones para ser implementado cuando la directiva se ejecuta. Directivas de la muestra EEM Cisco incluye un conjunto de las directivas de la muestra mostradas en el cuadro 3. Usted puede copiar las directivas de la muestra a un directorio de usuario y después modificar las directivas, o usted puede escribir sus propias directivas. El Tcl es actualmente el único lenguaje de la secuenciación de comandos soportado por Cisco para la creación de la directiva. Las directivas Tcl se pueden modificar usando un editor de textos tal como Emacs. Las directivas deben ejecutar dentro de un número definido de segundos del tiempo transcurrido, y la variable de tiempo se puede configurar dentro de una directiva. El valor por defecto es actualmente 20 segundos. El cuadro 3 describe las directivas de la muestra EEM. Nombre de la directiva Descripción pr_cdp_abort.tcl Insertado en las Imágenes de la Modularidad de Software de Cisco IOS Release 12.2(18)SXF4. Esta directiva monitorea para los eventos del aborto del proceso cdp2.iosproc. Registrará un mensaje en SYSLOG y enviará un correo electrónico con los detalles de la cancelación. pr_crash_reporter.tcl Insertado en las Imágenes de la Modularidad de Software de Cisco IOS Release 12.2(18)SXF4. Esta directiva monitorea para todos los eventos de proceso del aborto. Cuando ocurre un evento, la directiva enviará la información del desperfecto, incluyendo el archivo del crashdump, al URL especificado donde una secuencia de comandos CGI procesa los datos. pr_iprouting_abort.tcl Insertado en las Imágenes de la Modularidad de Software de Cisco IOS Release 12.2(18)SXF4. Esta directiva monitorea para los eventos del aborto del proceso iprouting.iosproc. Registrará un mensaje en SYSLOG y enviará un correo electrónico con los detalles de la cancelación. sl_intf_down.tcl Esta directiva se ejecuta cuando se registra un mensaje de Syslog configurable. Ejecutará un comando de CLI configurable y enviará los resultados por correo electrónico. tm_cli_cmd.tcl Esta directiva se ejecuta usando una entrada configurable CRON. Ejecutará un comando de CLI configurable y enviará los resultados por correo electrónico. tm_crash_history.tcl Insertado en las Imágenes de la Modularidad de Software de Cisco IOS Release 12.2(18)SXF4. Esta directiva se ejecuta en la medianoche cada día y los email un informe de proceso del historial de la caída a una dirección de correo electrónico especificada. tm_crash_reporter.tcl Introducido en el Cisco IOS Release 12.4(2)T. Esta directiva se ejecuta 5 segundos después de que se registra. Si la directiva se guarda en la configuración, también se ejecutará cada vez que recargan al router. La directiva indicará por la razón de la recarga. Si la recarga era debido a una caída, la directiva buscará para el último archivo CRASHINFO y enviará esta información a una ubicación del URL especificado. tm_fsys_usage.tcl Insertado en las Imágenes de la Modularidad de Software de Cisco IOS Release 12.2(18)SXF4. Esta política se ejecuta utilizando una entrada CRON configurable y monitorea el uso del espacio en disco. Un mensaje de Syslog será visualizado si el uso del espacio en disco cruza los umbrales configurables. wd_mem_reporter.tcl Insertado en las Imágenes de la Modularidad de Software de Cisco IOS Release 12.2(18)SXF4. Esta directiva señala sobre las condiciones de la memoria del sistema baja cuando la cantidad de memoria de las caídas disponibles debajo del 20 por ciento de la memoria de sistema disponible inicial. Un mensaje de Syslog será visualizado y, opcionalmente, un email será enviado. Para más detalles sobre las directivas de la muestra disponibles y cómo ejecutarlas, vea “la versión parcial de programa del detector de evento EEM: Sección Ejemplos". PASOS SUMARIOS 1. enable 2. show event manager policy available detailed policy-filename 3. Corte y pegar el contenido de la directiva de la muestra visualizada en la pantalla a un editor de textos. 4. Edite la directiva y sálvela con un nuevo nombre de fichero. 5. Copie el nuevo archivo de nuevo a la memoria de memoria Flash del router. 6. configure terminal 7. event manager directory user {library path | policy path} 8. event manager policy policy-filename [type{system | user}] []trap PASOS DETALLADOS Paso 1 enable Habilita el modo EXEC privilegiado. Ingrese su contraseña si se le pide que lo haga. Router> enable Paso 2 show event manager policy available detailed policy-filename Muestra la política de muestra especificada real, incluyendo los detalles sobre las variables de entorno usadas por la política y las instrucciones para ejecutar la política. En el Cisco IOS 12.2(18)SXF4, detailed la palabra clave fue introducida para los show event manager policy available y show event manager policy registered comandos. En las versiones de Cisco IOS anteriores a la 12.2(18)SXF4, debe copiar uno de los dos scripts Tcl de la sección de ejemplos de configuración de este documento (vea "Programación de Políticas con Tcl: Sección "Ejemplo de Secuencias de Comandos de Muestra"). En el siguiente ejemplo, se muestran en la pantalla los detalles de la política tm_cli_cmd.tcl de ejemplo. Router# show event manager policy available detailed tm_cli_cmd.tcl Paso 3 Corte y pegar el contenido de la directiva de la muestra visualizada en la pantalla a un editor de textos. Utilice las funciones de edición y copiado para mover el contenido desde el router hasta un editor de textos en otro dispositivo. Paso 4 Edite la directiva y sálvela con un nuevo nombre de fichero. Utilice al editor de textos para modificar la directiva como script Tcl. Para las convenciones para nombres del archivo, vea “convención para nombres del archivo de Cisco para la sección EEM”. Paso 5 Copie el nuevo archivo de nuevo a la memoria de memoria Flash del router. Copie el archivo en el sistema de archivos Flash en el router, normalmente disk0:. Para obtener más detalles sobre la copia de archivos, vea el capítulo "Uso del Sistema de archivos de Cisco IOS" de la Guía de Configuración de Aspectos Fundamentales de la Configuración de Cisco IOS. Paso 6 configure terminal Ingresa en el modo de configuración global. Router# configure terminal Paso 7 event manager directory user {library path | policy path} Especifica un directorio que se utilizará para almacenar archivos de biblioteca de usuario o políticas de EEM definidas por el usuario. En el siguiente ejemplo, el directorio user_library en el disk0 se especifica como el directorio para almacenar los archivos de la biblioteca del usuario. Router(config)# event manager directory user library disk0:/user_library Paso 8 event manager policy policy-filename [type{system | user}] []trap Registra la política de EEM que se ejecutará cuando ocurra el evento especificado definido dentro de la política. En el siguiente ejemplo, la nueva directiva EEM nombrada test.tcl se registra como directiva definida por el usario. Router(config)# event manager policy test.tcl type user Programación de Políticas EMM con Tcl Realice esta tarea de ayudarle a programar una directiva usando las Extensiones del comando Tcl. Recomendamos que usted copia una política existente y lo modificamos. Hay dos porciones requeridas que deben existir en una directiva EEM Tcl: event_register la extensión del comando Tcl y el cuerpo. El resto de las secciones mostradas en “el concepto de la estructura y de los requisitos de la directiva Tcl” son opcionales. Estructura y requisitos de la directiva Tcl Todas las directivas EEM comparten la misma estructura, mostrada en el cuadro 2. Hay dos partes de a la directiva EEM se requieren que: event_register la extensión del comando Tcl y el cuerpo. Las partes de restantes la directiva son opcionales: la necesidad del entorno define, importación namespace, estatus de la entrada, y estado de salida. Cuadro 2 estructura y requisitos de la directiva Tcl El comienzo de cada directiva debe describir y registrar el evento para detectar usando event_register una extensión del comando Tcl. Esta parte de la directiva programa el funcionamiento de la directiva. El código Tcl del siguiente ejemplo muestra cómo registrar event_register_timer la extensión del comando Tcl: ::cisco::eem::event_register_timer cron name crontimer2 cron_entry $_cron_entry maxrun 240 La necesidad del entorno define la sección es opcional e incluye la definición de las variables de entorno. El código Tcl del siguiente ejemplo muestra cómo marcar para, y definir, algunas variables de entorno. # Check if all the env variables that we need exist. # If any of them does not exist, print out an error msg and quit. if {![info exists _email_server]} { set result \ "Policy cannot be run: variable _email_server has not been set" error $result $errorInfo } if {![info exists _email_from]} { set result \ "Policy cannot be run: variable _email_from has not been set" error $result $errorInfo } if {![info exists _email_to]} { set result \ "Policy cannot be run: variable _email_to has not been set" error $result $errorInfo La sección de la importación namespace es opcional y define las bibliotecas de código. El código Tcl del siguiente ejemplo muestra cómo configurar una sección de la importación namespace. namespace import ::cisco::eem::* namespace import ::cisco::lib::* El cuerpo de la directiva es una estructura requerida y pudo contener el siguiente: • event_reqinfo La extensión del comando Tcl de la Información del evento que se utiliza para preguntar el EEM para la información sobre el evento detectado. • Las Extensiones del comando Tcl de la acción, por ejemplo action_syslog, que se utilizan para especificar las acciones del específico EEM. • Las Extensiones del comando Tcl de la información del sistema, por ejemplo sys_reqinfo_routername, que se utilizan para obtener la información de sistema general. • Uso de la biblioteca SMTP (para enviar las notificaciones por correo electrónico) o de la biblioteca CLI (para ejecutar los comandos CLI) de una política. • Extensiones context_savedel comando context_retrieve y Tcl que se utilizan para salvar las variables Tcl para uso de otras directivas. El código Tcl del siguiente ejemplo muestra el código para preguntar un evento y para registrar un mensaje como parte de la sección del cuerpo. # Query the event info and log a message. array set arr_einfo [event_reqinfo] if {$_cerrno != 0} { set result [format "component=%s; subsys err=%s; posix err=%s;\n%s" \ $_cerr_sub_num $_cerr_sub_err $_cerr_posix_err $_cerr_str] error $result } global timer_type timer_time_sec set timer_type $arr_einfo(timer_type) set timer_time_sec $arr_einfo(timer_time_sec) # Log a message. set msg [format "timer event: timer type %s, time expired %s" \ $timer_type [clock format $timer_time_sec]] action_syslog priority info msg $msg if {$_cerrno != 0} { set result [format "component=%s; subsys err=%s; posix err=%s;\n%s" \ $_cerr_sub_num $_cerr_sub_err $_cerr_posix_err $_cerr_str] error $result } Estatus de la entrada EEM La parte del estatus de la entrada una directiva EEM se utiliza para determinar si una directiva anterior se ha funcionado con para el mismo evento, y para determinar el estado de salida de la directiva anterior. Si se define la variable del _entry_status, una directiva anterior se ha ejecutado ya para este evento. El valor de la variable del _entry_status determina el código de retorno de la directiva anterior. Las designaciones de estado de la entrada pueden utilizar uno de tres valores posibles: 0 (la política anterior se ejecutó correctamente), Not=0 (la política anterior no se ejecutó correctamente) y Undefined (no se ejecutó ninguna política anterior). Estado de salida EEM Cuando una directiva acaba de funcionar con su código, se fija un valor de la salida. El valor de la salida es utilizado por el administrador del evento integrado para determinar independientemente de si aplicar la acción predeterminada para este evento, si lo hay. Un valor igual a cero significa no realizar la acción predeterminada. Un valor distinto de cero significa realizar la acción predeterminada. El estado de salida se pasara a las políticas subsiguientes que se ejecuten para el mismo evento. Directivas EEM y número de error de Cisco Algunas extensiones del comando Tcl EEM fijaron una variable global Tcl _cerrno de Número de Error de Cisco. Siempre que se establece _cerrno, otras cuatro variables globales Tcl se derivan de _cerrno y se establecen con ella (_cerr_sub_num, _cerr_sub_err, _cerr_posix_err y _cerr_str). Por ejemplo, action_syslog el comando en el ejemplo abajo fija estas variables globales como efecto secundario de la ejecución del comando: action_syslog priority warning msg "A sample message generated by action_syslog" if {$_cerrno != 0} { set result [format "component=%s; subsys err=%s; posix err=%s;\n%s" \ $_cerr_sub_num $_cerr_sub_err $_cerr_posix_err $_cerr_str] error $result } _cerrno: valores devueltos de 32 bits del error El conjunto del _cerrno por un comando se puede representar como número entero de 32 bits de la forma siguiente: XYSSSSSSSSSSSSSEEEEEEEEPPPPPPPPP Por ejemplo, el valor devuelto siguiente del error se pudo volver de una extensión del comando EEM Tcl: 862439AE Este número se interpreta como el valor de 32 bits siguiente: 10000110001001000011100110101110 Este número entero de 32 bits se divide para arriba en las cinco variables mostradas en el cuadro 4. Variable Descripción XY La clase de error (indica la gravedad del error). Esta variable corresponde a los primeros dos bits en el valor devuelto de 32 bits del error; 10 en el caso arriba, que indica CERR_CLASS_WARNING: Vea el cuadro 5 para las cuatro codificaciones de la clase de error posible específicas a esta variable. SSSSSSSSSSSSSS El número del subsistema que generó la mayoría del error reciente (13 bits = 8192 valores). Éste es los 13 bits siguientes de la secuencia de 32 bits, y su valor del número entero se contiene en $_cerr_sub_num. Variable Descripción EEEEEEEE Los valores específicos (8 bits = 256) del número de error del subsistema. Este segmento es los 8 bits siguientes de la secuencia de 32 bits, y la cadena correspondiente a este número de error se contiene en $_cerr_sub_err. PPPPPPPP El código de error del paso POSIX (9 bits = 512 valores). Esto representa el último de la secuencia de 32 bits, y la cadena correspondiente a este código de error se contiene en $_cerr_posix_err. Codificaciones de la clase de error para XY El primer variable, XY, se refiere a las codificaciones de la clase de error posible mostradas en el cuadro 5. : 00 CERR_CLASS_SUCCESS 01 CERR_CLASS_INFO 10 CERR_CLASS_WARNING 11 CERR_CLASS_FATAL Un valor devuelto del error de cero significa el ÉXITO. PASOS SUMARIOS 1. enable 2. show event manager policy available detailed policy-filename 3. Corte y pegar el contenido de la directiva de la muestra visualizada en la pantalla a un editor de textos. 4. Defina la extensión event_register requerida del comando Tcl. 5. Agregue el namespace apropiado bajo:: jerarquía de Cisco. 6. Programe la necesidad define la sección para marcar para saber si hay cada variable de entorno que se utilice en esta directiva. 7. Programe el cuerpo del script. 8. Marque el estatus de la entrada para determinar si una directiva se ha ejecutado previamente para este evento. 9. Marque el estado de salida para determinar independientemente de si aplicar la acción predeterminada para este evento, si existe una acción predeterminada. 10. Fije las variables globales Tcl del número de error de Cisco (_cerrno). 11 Salve el script Tcl con un nuevo nombre de fichero, y copie el script Tcl al router. 12. configure terminal 13. event manager directory user {library path | policy path} 14. event manager policy policy-filename [type {system | user}] []trap 15. Haga la directiva ejecutar, y observe la directiva. 16. Utilice las técnicas de debugging si la directiva no ejecuta correctamente. PASOS DETALLADOS Paso 1 enable Habilita el modo EXEC privilegiado. Ingrese su contraseña si se le pide que lo haga. Router> enable Paso 2 show event manager policy available detailed policy-filename Muestra la política de muestra especificada real, incluyendo los detalles sobre las variables de entorno usadas por la política y las instrucciones para ejecutar la política. En el Cisco IOS 12.2(18)SXF4, detailed la palabra clave fue introducida para los show event manager policy available y show event manager policy registered comandos. En las versiones de Cisco IOS anteriores a la 12.2(18)SXF4, debe copiar uno de los dos scripts Tcl de la sección de ejemplos de configuración de este documento (vea "Programación de Políticas con Tcl: Sección "Ejemplo de Secuencias de Comandos de Muestra"). En el siguiente ejemplo, se muestran en la pantalla los detalles de la política tm_cli_cmd.tcl de ejemplo. Router# show event manager policy available detailed tm_cli_cmd.tcl Paso 3 Corte y pegar el contenido de la directiva de la muestra visualizada en la pantalla a un editor de textos. Utilice las funciones de edición y copiado para mover el contenido desde el router hasta un editor de textos en otro dispositivo. Utilice al editor de textos para editar la directiva como script Tcl. Paso 4 Defina la extensión event_register requerida del comando Tcl. Elija la extensión event_register apropiada del comando Tcl del cuadro 6 para el evento que usted quiere detectar, y agreguela a la directiva. Extensiones del comando Tcl del registro del evento event_register_appl event_register_cli event_register_counter event_register_gold event_register_interface event_register_ioswdsysmon event_register_ipsla event_register_nf event_register_none event_register_oir event_register_process event_register_resource event_register_rf el event_register_routing event_register_rpc event_register_snmp event_register_snmp_notification event_register_snmp_object event_register_syslog event_register_timer event_register_timer_subscriber event_register_track event_register_wdsysmon Paso 5 Agregue el namespace apropiado bajo:: jerarquía de Cisco. Los desarrolladores de la directiva pueden utilizar el nuevo namespace:: Cisco en las directivas Tcl para agrupar todas las Extensiones usadas por el Cisco IOS EEM. Hay dos espacios de nombres bajo:: jerarquía de Cisco, y demostraciones del cuadro 7 que la categoría de extensión del comando EEM Tcl pertenece bajo cada namespace. Namespace Categoría de comando Extension Tcl :: Cisco:: eem Registro del evento EEM Información del evento EEM El evento EEM publica Acción EEM Utilidad EEM Biblioteca del contexto EEM Información del sistema EEM Biblioteca CLI :: Cisco:: liberación Biblioteca S TP La nota aseegura que usted importa los espacios de nombres apropiados o utiliza el comando names calificado al usar los comandos antedichos. Paso 6 Programe la necesidad define la sección para marcar para saber si hay cada variable de entorno que se utilice en esta directiva. Esto es un paso opcional. La necesidad define es una sección de la directiva que las pruebas si algunas variables de entorno EEM que sean requeridas por la directiva están definidas antes de que se tomen las acciones de recuperación. La necesidad define la sección no se requiere si la directiva no utiliza ninguna variables de entorno EEM. Las variables de entorno EEM para los scripts EEM son las variables globales Tcl que son externo definido a la directiva antes de que se funcione con la directiva. Para definir una variable de entorno EEM, utilice el comando CLI integrado del entorno del administrador del evento del comando configuration del administrador del evento. Por el convenio todas las variables de entorno de Cisco EEM comienzan con el “_” (un caracter de subrayado). Para evitar conflictos futuros, se ruega a los clientes que no definan nuevas variables que comiencen por "_". Nota usted puede visualizar las variables de entorno integradas del administrador del evento fijadas en su sistema usando show event manager environment el comando privileged exec. Por ejemplo, las variables de entorno integradas del administrador del evento definidas por las directivas de la muestra incluyen las variables del email. Las directivas de la muestra que envían el email deben tener las variables mostradas en el conjunto del cuadro 8 para funcionar correctamente. El cuadro 8 describe las variables de entorno e-correo-específicas usadas en las directivas de la muestra EEM. Variable de Entorno _email_server Descripción Ejemplo: Servidor de correo con Simple Mail Transfer Protocol (SMTP) utilizado para enviar correo electrónico. El email Nombre del servidor puede estar en de los formatos siguientes de la plantilla: • nombre de usuario: password@host • username@host • host _email_to La dirección a la que se envía el correo [email protected] electrónico. _email_from La dirección desde la que se envía el correo electrónico. [email protected] _email_cc El direccionamiento al cual el email debe ser copiado. [email protected] El siguiente ejemplo de una necesidad define las demostraciones de la sección cómo programar una comprobación para las variables de entorno e-correo-específicas. El ejemplo del ejemplo 1 de la necesidad define if {![info exists _email_server]} { set result \ "Policy cannot be run: variable _email_server has not been set" error $result $errorInfo } if {![info exists _email_from]} { set result \ "Policy cannot be run: variable _email_from has not been set" error $result $errorInfo } if {![info exists _email_to]} { set result \ "Policy cannot be run: variable _email_to has not been set" error $result $errorInfo } if {![info exists _email_cc]} { set result \ "Policy cannot be run: variable _email_cc has not been set" error $result $errorInfo } Paso 7 Programe el cuerpo del script. En esta sección del script, usted puede definir el siguiente un de los: • event_reqinfo La extensión del comando Tcl de la Información del evento que se utiliza para preguntar el EEM para la información sobre el evento detectado. • Las Extensiones del comando Tcl de la acción, por ejemplo action_syslog, que se utilizan para especificar las acciones del específico EEM. • Las Extensiones del comando Tcl de la información del sistema, por ejemplo sys_reqinfo_routername, que se utilizan para obtener la información de sistema general. • Extensiones context_save del comando context_retrieve y Tcl que se utilizan para salvar las variables Tcl para uso de otras directivas. • Uso de la biblioteca SMTP (para enviar las notificaciones por correo electrónico) o de la biblioteca CLI (para ejecutar los comandos CLI) de una política. Paso 8 Marque el estatus de la entrada para determinar si una directiva se ha ejecutado previamente para este evento. Si la directiva anterior es acertada, la Política actual puede o no puede requerir la ejecución. Las designaciones de estado de la entrada pueden utilizar uno de tres valores posibles: 0 (la política anterior se ejecutó correctamente), Not=0 (la política anterior no se ejecutó correctamente) y Undefined (no se ejecutó ninguna política anterior). Paso 9 Marque el estado de salida para determinar independientemente de si aplicar la acción predeterminada para este evento, si existe una acción predeterminada. Un valor igual a cero significa no realizar la acción predeterminada. Un valor distinto de cero significa realizar la acción predeterminada. El estado de salida se pasara a las políticas subsiguientes que se ejecuten para el mismo evento. Paso 10 Fije las variables globales Tcl del número de error de Cisco (_cerrno). Algunas extensiones del comando Tcl EEM fijaron una variable global Tcl _cerrno de Número de Error de Cisco. Siempre que se establece _cerrno, otras cuatro variables globales Tcl se derivan de _cerrno y se establecen con ella (_cerr_sub_num, _cerr_sub_err, _cerr_posix_err y _cerr_str). Por ejemplo, action_syslog el comando en el ejemplo abajo fija estas variables globales como efecto secundario de la ejecución del comando: action_syslog priority warning msg "A sample message generated by action_syslog if {$_cerrno != 0} { set result [format "component=%s; subsys err=%s; posix err=%s;\n%s" \ $_cerr_sub_num $_cerr_sub_err $_cerr_posix_err $_cerr_str] error $result } Paso 11 Salve el script Tcl con un nuevo nombre de fichero, y copie el script Tcl al router. Los nombres de fichero integrados de la directiva del administrador del evento se adhieren a la especificación siguiente: • Un prefijo opcional - Obligatorio. , indica, si está presente, que ésta es una política del sistema que se debe registrar automáticamente en el momento del boot si aún no se ha registrado. Por ejemplo: Mandatory.sl_text.tcl. • Una parte del cuerpo del nombre de fichero que contiene una abreviatura del dos-carácter (véase el cuadro 2) para el primer evento especificado; una pieza de carácter del caracter de subrayado; y una pieza descriptiva del campo más futuro identificando la directiva. • Una parte del sufijo del nombre de archivo definida como .tcl. Para más detalles, vea “convención para nombres del archivo de Cisco para la sección EEM”. Copie el archivo en el sistema de archivos Flash en el router, normalmente disk0:. Para obtener más detalles sobre la copia de archivos, vea el capítulo "Uso del Sistema de archivos de Cisco IOS" de la Guía de Configuración de Aspectos Fundamentales de la Configuración de Cisco IOS. Paso 12 configure terminal Ingresa en el modo de configuración global. Router# configure terminal Paso 13 event manager directory user {library path | policy path} Especifica un directorio que se utilizará para almacenar archivos de biblioteca de usuario o políticas de EEM definidas por el usuario. En el siguiente ejemplo, el directorio user_library en el disk0 se especifica como el directorio para almacenar los archivos de la biblioteca del usuario. Router(config)# event manager directory user library disk0:/user_library Paso 14 event manager policy policy-filename [type {system | user}] []trap Registra la política de EEM que se ejecutará cuando ocurra el evento especificado definido dentro de la política. En el siguiente ejemplo, la nueva directiva EEM nombrada cl_mytest.tcl se registra como directiva definida por el usario. Router(config)# event manager policy cl_mytest.tcl type user Paso 15 Haga la directiva ejecutar, y observe la directiva. Para probar que la directiva se ejecuta, genere las condiciones que harán la directiva ejecutar y observar que la directiva se ejecuta como se esperaba. Paso 16 Utilice las técnicas de debugging si la directiva no ejecuta correctamente. Utilice el comando CLI del administrador del evento del debug del Cisco IOS con sus diversas palabras claves de hacer el debug de los problemas. Refiera a la sección de los “consejos de Troubleshooting” para más información sobre usar las palabras claves TCL-específicas. Consejos de Troubleshooting • Utilice debug event manager tcl commandsel comando CLI de hacer el debug de los problemas con los comandos de la extensión Tcl. Cuando está habilitado, este comando muestra todos los datos pasados y leídos de la sesión TTY que gestiona las interacciones de la CLI. Estos datos ayudan a asegurar a los usuarios que los comandos que están pasando al CLI son válidos. • La biblioteca CLI permite que los usuarios ejecuten comandos CLI y obtengan la salida de los comandos en Tcl. Utilice debug event manager tcl cli-library el comando CLI de hacer el debug de los problemas con la biblioteca CLI. • La biblioteca SMTP permite que los usuarios envíen mensajes de correo electrónico a un servidor de correo electrónico SMTP. Utilice el comando CLI smtp_library tcl del administrador del evento del debug de hacer el debug de los problemas con la biblioteca S TP. Cuando está habilitado, este comando muestra todos los datos que se pasan y releen en las rutinas de la biblioteca SMTP. Estos datos ayudan a asegurar a los usuarios que los comandos que están pasando a la biblioteca S TP son válidos. • El Tcl es un lenguaje flexible que permite que usted reemplace los comandos. Por ejemplo, usted puede modificar set el comando y crear una versión set del comando que visualiza un mensaje cuando se fija una variable scalar. Cuando set el comando se ingresa en una directiva, se visualiza un mensaje siempre se fija una variable scalar, y ésta proporciona una manera de hacer el debug de las variables scalares. Para ver un ejemplo de esta técnica de debugging, vea “localizar las operaciones de comando set Tcl: Sección Ejemplo". Para ver los ejemplos de las algunas de estas técnicas de debugging, vea “las directivas integradas debugging del administrador del evento: Sección Ejemplos". Creación de un Índice de la Biblioteca Tcl de Usuario de EEM Realice esta tarea de crear un archivo de índice que contenga un directorio de todos los procedimientos contenidos en una biblioteca de los archivos Tcl. Esta tarea permite que usted pruebe el soporte de la biblioteca en EEM Tcl. En esta tarea, un directorio de biblioteca se crea para contener los archivos de biblioteca Tcl, los archivos se copian en el directorio, y se crea un tclIndex del índice) que contiene un directorio de todos los procedimientos en los archivos de biblioteca. Si el índice no se crea, los procedimientos Tcl no serán encontrados cuando se funciona con una directiva EEM que se refiere a un procedimiento Tcl. PASOS SUMARIOS 1. En su puesto de trabajo (UNIX, Linux, PC, o mac) cree un directorio de biblioteca y copie los archivos de biblioteca Tcl en el directorio. 2. tclsh 3. auto_mkindex directory_name *.tcl 4. Copie los archivos de biblioteca Tcl del paso 1 y el archivo del tclIndex del paso 3 al directorio usado para salvar los archivos de biblioteca de usuario en el router objetivo. 5. Copie un archivo de políticas definido por el usario EEM escrito en el Tcl al directorio usado para salvar las directivas definidas por el usario EEM en el router objetivo. 6. enable 7. configure terminal 8. event manager directory user library path 9. event manager directory user policy path 10. event manager policy policy-filename [type {system | user}] []trap 11. event manager run policy-filename PASOS DETALLADOS Paso 1 En su puesto de trabajo (UNIX, Linux, PC, o mac) cree un directorio de biblioteca y copie los archivos de biblioteca Tcl en el directorio. Los archivos de siguiente ejemplo se pueden utilizar para crear un tclIndex en un puesto de trabajo que ejecuta el shell Tcl: lib1.tcl proc test1 {} { puts "In procedure test1" } proc test2 {} { puts "In procedure test2" } lib2.tcl proc test3 {} { puts "In procedure test3" } Paso 2 tclsh Utilice este comando para ingresar al shell Tcl. workstation% tclsh Paso 3 auto_mkindex directory_name *.tcl Utilice auto_mkindex el comando de crear el archivo del tclIndex. El archivo del tclIndex que contiene un directorio de todos los procedimientos contuvo en los archivos de biblioteca Tcl. Recomendamos que usted ejecuta el auto_mkindex dentro de un directorio porque puede solamente haber un solo archivo del tclIndex en cualquier directorio y usted puede tener otros archivos Tcl que se agruparán junto. El auto_mkindex corriente en un directorio determina que el archivo de origen o los archivos tcl se ponga en un índice usando un tclIndex específico. workstation% auto_mkindex eem_library *.tcl Se crea el siguiente ejemplo TclIndex cuando los archivos lib1.tcl y lib2.tcl están en un directorio de archivo de biblioteca y auto_mkindex se funciona con el comando. tclIndex # Tcl autoload index file, version 2.0 # This file is generated by the "auto_mkindex" command # and sourced to set up indexing information for one or # more commands. Typically each line is a command that # sets an element in the auto_index array, where the # element name is the name of a command and the value is # a script that loads the command. set auto_index(test1) [list source [file join $dir lib1.tcl]] set auto_index(test2) [list source [file join $dir lib1.tcl]] set auto_index(test3) [list source [file join $dir lib2.tcl]] Paso 4 Copie los archivos de biblioteca Tcl del paso 1 y el archivo del tclIndex del paso 3 al directorio usado para salvar los archivos de biblioteca de usuario en el router objetivo. Paso 5 Copie un archivo de políticas definido por el usario EEM escrito en el Tcl al directorio usado para salvar las directivas definidas por el usario EEM en el router objetivo. El directorio puede ser el mismo directorio usado en el Paso 4. El directorio para almacenar políticas definidas por el usuario EEM puede ser el mismo directorio usado en el Paso 4. La directiva definida por el usario del siguiente ejemplo EEM se puede utilizar para probar el soporte de la biblioteca Tcl en EEM. libtest.tcl ::cisco::eem::event_register_none namespace import ::cisco::eem::* namespace import ::cisco::lib::* global auto_index auto_path puts [array names auto_index] if { [catch {test1} result]} { puts "calling test1 failed result = $result $auto_path" } if { [catch {test2} result]} { puts "calling test2 failed result = $result $auto_path" } if { [catch {test3} result]} { puts "calling test3 failed result = $result $auto_path" } Paso 6 enable Habilita el modo EXEC privilegiado. Ingrese su contraseña si se le pide que lo haga. Router> enable Paso 7 configure terminal Habilita el modo de configuración global. Router# configure terminal Paso 8 event manager directory user library path Use este comando para especificar el directorio de la biblioteca de usuario de EEM; éste es el directorio al que se han copiado los archivos del Paso 4 . router(config)# event manager directory user library disk2:/eem_library Paso 9 event manager directory user policy path Utilice este comando para especificar el directorio de políticas de usuario de EEM; éste es el directorio en el que se copió el archivo del Paso 5 . router(config)# event manager directory user policy disk2:/eem_policies Paso 10 event manager policy policy-name [type {system | user} [trap] Utilice este comando para registrar una política de EEM definida por el usuario. En este ejemplo, la directiva nombrada libtest.tcl se registra. router(config)# event manager policy libtest.tcl Paso 11 event manager run policy-name Use este comando para ejecutar manualmente una política de EEM. En este ejemplo, la directiva nombrada libtest.tcl es ejecutarse para probar el soporte Tcl en EEM. La salida de ejemplo muestra que la prueba para el soporte Tcl en EEM era acertada. router(config)# event manager run libtest.tcl The following output is displayed: 01:24:37: %HA_EM-6-LOG: libtest.tcl: In procedure test1 01:24:37: %HA_EM-6-LOG: libtest.tcl: In procedure test2 01:24:37: %HA_EM-6-LOG: libtest.tcl: In procedure test3 Creación de un Índice de Paquete Tcl de Usuario EEM Realice esta tarea de crear un archivo de índice del paquete Tcl que contenga un directorio de todos los paquetes y de la información de la versión Tcl contenidos en una biblioteca de los archivos de paquete Tcl. Los paquetes Tcl se soportan usando la palabra clave package Tcl, y este soporte fue introducido en el Cisco IOS Release 12.4(11)T. Los paquetes Tcl están situados en el directorio de biblioteca de sistema EEM o el directorio de biblioteca de usuario EEM. Cuando package require se ejecuta un comando Tcl, el directorio de biblioteca de usuario se busca primero para un archivo pkgIndex.tcl. Si el archivo pkgIndex.tcl no se encuentra en el directorio de usuario, se busca el directorio de biblioteca de sistema. En esta tarea, un directorio del paquete Tcl — el archivo pkgIndex.tcl — se crea en el directorio de biblioteca apropiado usando el comando pkg_mkIndex de contener la información sobre todos los paquetes Tcl contenidos en el directorio junto con la información de la versión. Si el índice no se crea, los paquetes Tcl no serán encontrados cuando se funciona con una directiva EEM que contiene un comando Tcl package require . Usando el soporte del paquete Tcl en EEM, los usuarios pueden acceder a los paquetes tales como XML_RPC para el Tcl. Cuando se crea el índice del paquete Tcl, un script Tcl puede hacer fácilmente una llamada de XML-RPC a una entidad externa. Los paquetesde la nota implementados en el C que programa el código no se soportan en EEM. PASOS SUMARIOS 1. En su puesto de trabajo (UNIX, Linux, PC, o mac) cree un directorio de biblioteca y copie los archivos de paquete Tcl en el directorio. 2. tclsh 3. pkg_mkIndex directory_name *.tcl 4. Copie los archivos de paquete Tcl del paso 1 y el archivo del pkgIndex del paso 3 al directorio usado para salvar los archivos de biblioteca de usuario en el router objetivo. 5. Copie un archivo de políticas definido por el usario EEM escrito en el Tcl al directorio usado para salvar las directivas definidas por el usario EEM en el router objetivo. 6. enable 7. configure terminal 8. event manager directory user library path 9. event manager directory user policy path 10. event manager policy policy-filename [type {system | user}] []trap 11. event manager run policy-filename PASOS DETALLADOS Paso 1 En su puesto de trabajo (UNIX, Linux, PC, o mac) cree un directorio de biblioteca y copie los archivos de paquete Tcl en el directorio. Paso 2 tclsh Utilice este comando para ingresar al shell Tcl. workstation% tclsh Paso 3 pkg_mkindex directory_name *.tcl Utilice pkg_mkindex el comando de crear el archivo del pkgIndex. El archivo del pkgIndex contiene un directorio de todos los paquetes contenidos en los archivos de biblioteca Tcl. Recomendamos que usted ejecuta el pkg_mkindex dentro de un directorio porque puede solamente haber un solo archivo del pkgIndex en cualquier directorio y usted puede tener otros archivos Tcl que se agruparán junto. El pkg_mkindex corriente en un directorio determina que el archivo de paquete o los archivos Tcl se ponga en un índice usando un pkgIndex específico. workstation% pkg_mkindex eem_library *.tcl Se crea el pkgIndex del siguiente ejemplo cuando algunos archivos de paquete Tcl están en un directorio de archivo de biblioteca y pkg_mkindex se funciona con el comando. pkgIndex # Tcl package index file, version 1.1 # This file is generated by the "pkg_mkIndex" command # and sourced either when an application starts up or # by a "package unknown" script. It invokes the # "package ifneeded" command to set up package-related # information so that packages will be loaded automatically # in response to "package require" commands. When this # script is sourced, the variable $dir must contain the # full path name of this file's directory. package ifneeded xmlrpc 0.3 [list source [file join $dir xmlrpc.tcl]] Paso 4 Copie los archivos de biblioteca Tcl del paso 1 y el archivo del pkgIndex del paso 3 al directorio usado para salvar los archivos de biblioteca de usuario en el router objetivo. Paso 5 Copie un archivo de políticas definido por el usario EEM escrito en el Tcl al directorio usado para salvar las directivas definidas por el usario EEM en el router objetivo. El directorio puede ser el mismo directorio usado en el Paso 4. El directorio para almacenar políticas definidas por el usuario EEM puede ser el mismo directorio usado en el Paso 4. La directiva definida por el usario del siguiente ejemplo EEM se puede utilizar para probar el soporte del paquete Tcl en EEM. packagetest.tcl ::cisco::eem::event_register_none maxrun 1000000.000 # # test if xmlrpc available # # # Namespace imports # namespace import ::cisco::eem::* namespace import ::cisco::lib::* # package require xmlrpc puts "Did you get an error?" Paso 6 enable Habilita el modo EXEC privilegiado. Ingrese su contraseña si se le pide que lo haga. Router> enable Paso 7 configure terminal Habilita el modo de configuración global. Router# configure terminal Paso 8 event manager directory user library path Use este comando para especificar el directorio de la biblioteca de usuario de EEM; éste es el directorio al que se han copiado los archivos del Paso 4 . router(config)# event manager directory user library disk2:/eem_library Paso 9 event manager directory user policy path Utilice este comando para especificar el directorio de políticas de usuario de EEM; éste es el directorio en el que se copió el archivo del Paso 5 . router(config)# event manager directory user policy disk2:/eem_policies Paso 10 event manager policy policy-name [type {system | user} [trap] Utilice este comando para registrar una política de EEM definida por el usuario. En este ejemplo, la directiva nombrada packagetest.tcl se registra. router(config)# event manager policy packagetest.tcl Paso 11 event manager run policy-name Use este comando para ejecutar manualmente una política de EEM. En este ejemplo, la directiva nombrada packagetest.tcl es ejecutarse para probar el soporte del paquete Tcl en EEM. router(config)# event manager run packagetest.tcl Ejemplos de Configuración para la Escritura de las Políticas de Embedded Event Manager Utilizando Tcl Esta sección contiene los ejemplos de configuración siguientes: • Asignación de un Nombre de Usuario para una Sesión Tcl: Ejemplos • Demostración del Detector de Eventos EEM: Ejemplos • Programación de Políticas con Tcl: Ejemplo de Scripts de Muestra • Debugging de Políticas de Embedded Event Manager: Ejemplos • Rastreo de las Operaciones del Comando set de Tcl: Ejemplo: • Detector de Eventos RPC: Ejemplo: Asignación de un Nombre de Usuario para una Sesión Tcl: Ejemplos Las demostraciones del siguiente ejemplo cómo fijar un nombre de usuario que se asociará a una sesión Tcl. Si usted está utilizando la Seguridad del Authentication, Authorization, and Accounting (AAA) y implementa la autorización sobre una base del comando, usted debe utilizar event manager session cli username el comando de fijar un nombre de usuario que se asociará a una sesión Tcl. Se utiliza el nombre de usuario cuando una directiva Tcl ejecuta un comando CLI. El TACACS+ verifica cada comando CLI que usa el nombre de usuario asociado a la sesión Tcl que está funcionando con la directiva. Los comandos de las directivas Tcl no se verifican generalmente porque el router debe estar en el modo EXEC privilegiado para registrar la directiva. En el ejemplo, el nombre de usuario es su nombre, y éste es el nombre de usuario se utiliza que siempre que una sesión del comando CLI se inicie dentro de una directiva EEM. configure terminal event manager session cli username yourname end Demostración del Detector de Eventos EEM: Ejemplos Este ejemplo utiliza las directivas de la muestra para demostrar cómo utilizar las directivas integradas del administrador del evento. Proceda a través de las secciones siguientes a ver cómo utilizar las directivas de la muestra: • Descripciones de la directiva de la muestra EEM • Variables de entorno del administrador del evento para las directivas de la muestra • Registro de las directivas algún EEM • Detalles de la configuración básica para todas las directivas de la muestra • Usando las directivas de la muestra Descripciones de la directiva de la muestra EEM Este ejemplo de configuración ofrece algunas de las directivas de la muestra EEM: • ap_perf_test_base_cpu.tcl — Se ejecuta para medir el rendimiento de la CPU de las directivas EEM. • no_perf_test_init.tcl — Se ejecuta para medir el rendimiento de la CPU de las directivas EEM. • sl_intf_down.tcl — Se ejecuta cuando se registra un mensaje de Syslog configurable. Ejecuta hasta dos comandos CLI y email configurables los resultados. • tm_cli_cmd.tcl — Se ejecuta usando una entrada configurable CRON. Ejecuta un comando CLI configurable y los email los resultados. • tm_crash_reporter.tcl — Introducido en el Cisco IOS Release 12.4(2)T, 12.2(31)SB3, y 12.2(33)SRB. Se ejecuta 5 segundos después de que se registra y 5 segundos después de que el router arranca. Cuando está accionado, el script intenta encontrar el motivo de la recarga. Si la razón de la recarga se debió a un colapso, la política busca el archivo crashinfo relacionado y envía esta información a una ubicación URL especificada por el usuario en la variable de entorno _crash_reporter_url. • tm_fsys_usage.tcl — Introducido en las imágenes de la modularidad del Cisco IOS Software del Cisco IOS Release 12.2(18)SXF4. Esta política se ejecuta utilizando una entrada CRON configurable y monitorea el uso del espacio en disco. Se visualiza un mensaje de Syslog si el uso del espacio en disco cruza los umbrales configurables. Variables de entorno del administrador del evento para las directivas de la muestra Las variables de entorno del administrador del evento son las variables globales Tcl se registran que son externo definido a la directiva EEM antes de la directiva y funcionamiento. Las directivas de la muestra requieren tres de las variables de entorno del email ser fijadas (véase el cuadro 8 para una lista de las variables del email); solamente el _email_cc es opcional. Otro requerido y las configuraciones de variable opcional se delinean en las tablas siguientes. El cuadro 9 describe las variables de entorno EEM que deben ser fijadas antes de que se funcione con la directiva de la muestra ap_perf_test_base_cpu.tcl. Variable de Entorno Descripción Ejemplo: _perf_iterations El número de iteraciones sobre las cuales para funcionar con la medida. 100 _perf_cmd1 El primer comando CLI no interactivo que se ejecuta como enable parte de la prueba de la medida. Esta variable es opcional y no es necesario especificarla. _perf_cmd2 El segundo comando CLI no interactivo que está como parte de la prueba de la medida. Para utilizar _perf_cmd2, _perf_cmd1 debe ser definido. Esta variable es opcional y no es necesario especificarla. _perf_cmd3 El comando CLI no interactivo del tercero que está como parte show interface de la prueba de la medida. Para utilizar _perf_cmd3, counters _perf_cmd1 debe ser definido. Esta variable es opcional y no protocol status es necesario especificarla. show version El cuadro 10 describe las variables de entorno EEM que deben ser fijadas antes de que se funcione con la directiva de la muestra no_perf_test_init.tcl. Variable de Entorno Descripción Ejemplo: _perf_iterations El número de iteraciones sobre las cuales para funcionar con la medida. 100 _perf_cmd1 El primer comando CLI no interactivo que se ejecuta como enable parte de la prueba de la medida. Esta variable es opcional y no es necesario especificarla. _perf_cmd2 El segundo comando CLI no interactivo que está como parte de la prueba de la medida. Para utilizar _perf_cmd2, _perf_cmd1 debe ser definido. Esta variable es opcional y no es necesario especificarla. show version _perf_cmd3 El comando CLI no interactivo del tercero que está como parte show interface de la prueba de la medida. Para utilizar _perf_cmd3, counters _perf_cmd1 debe ser definido. Esta variable es opcional y no protocol status es necesario especificarla. El cuadro 11 describe las variables de entorno EEM que deben ser fijadas antes de que se funcione con la directiva de la muestra sl_intf_down.tcl. Variable de Entorno Descripción Ejemplo: _config_cmd1 El primer comando de configuración que se ejecuta. interface Ethernet1/0 _config_cmd2 El segundo comando configuration se ejecuta que. Esta variable es opcional y no es necesario especificarla. no shutdown _syslog_pattern Una cadena de coincidencia de patrón de expresión normal que se utiliza para comparar mensajes de Syslog para determinar cuando se ejecuta la política. .*UPDOWN.*FastEthernet0/0.* El cuadro 12 describe las variables de entorno EEM que deben ser fijadas antes de que se funcione con la directiva de la muestra tm_cli_cmd.tcl. Variable de Entorno Descripción Ejemplo: _cron_entry Una especificación CRON que determina cuándo se ejecutará la política. 0-59/1 0-23/1 * * 0-7 _show_cmd El comando CLI de ser ejecutado cuando se funciona con la show version directiva. El cuadro 13 describe las variables de entorno EEM que deben ser fijadas antes de que se funcione con la directiva de la muestra tm_crash_reporter.tcl. Variable de Entorno Descripción Ejemplo: _crash_reporter_debug Un valor que identifica si la información del debug para tm_crash_reporter.tcl será habilitada. Esta variable es opcional y no es necesario especificarla. 1 _crash_reporter_url http://www.example.com/fm/interface_tm.cgi La ubicación URL a la cual se envía el informe de crash. El cuadro 14 describe las variables de entorno EEM que deben ser fijadas antes de que se funcione con la directiva de la muestra tm_fsys_usage.tcl. Variable de Entorno Descripción Ejemplo: _tm_fsys_usage_cron Una especificación CRON que se utiliza en 0-59/1 0-23/1 * * event_register la extensión del comando Tcl. Si está sin 0-7 especificar, la directiva tm_fsys_usage.tcl se acciona una vez por el minuto. Esta variable es opcional y no es necesario especificarla. _tm_fsys_usage_debug Cuando esta variable se fija a un valor de 1, la 1 información del uso del disco se visualiza para todas las entradas en el sistema. Esta variable es opcional y no es necesario especificarla. _tm_fsys_usage_ freebytes Umbral libre del byte para los sistemas o los prefijos específicos. Si el espacio libre cae por debajo de un determinado valor, se muestra una alerta. Esta variable es opcional y no es necesario especificarla. disk2:98000000 _tm_fsys_usage_percent Umbrales de porcentaje del uso del disco para los nvram:25 sistemas o los prefijos específicos. Si el porcentaje del disk2:5 uso del disco excede un porcentaje dado, se visualiza una advertencia. Si no se especifica, el porcentaje predeterminado de uso del disco es el 80 por ciento para todos los sistemas. Esta variable es opcional y no es necesario especificarla. Registro de las directivas algún EEM Las directivas algún EEM deben ser desregistradas y después ser reregistradas si se modifica una variable de entorno EEM después de que se registre la directiva. La declaraciónxxx del event_register_ que aparece al inicio de la directiva contiene algunas de las variables de entorno EEM, y esta declaración se utiliza para establecer las condiciones bajo las cuales se funciona con la directiva. Si se modifican las variables de entorno después de que se haya registrado la directiva, las condiciones pueden llegar a ser inválidas. Para evitar cualquier error, la directiva debe ser desregistrada y después ser reregistrada. Las variables siguientes son afectadas: • _cron_entry en la directiva tm_cli_cmd.tcl • _syslog_pattern en la directiva sl_intf_down.tcl Detalles de la configuración básica para todas las directivas de la muestra Para permitir que el email sean enviados del administrador del evento integrado, hostname y ip domain-name los comandos debe ser configurada. Las variables de entorno EEM deben también ser fijadas. Después de que se haya iniciado una imagen del Cisco IOS, utilice la configuración inicial siguiente, substituyendo los valores apropiados para su red. Las variables de entorno para la directiva de la muestra del tm_fsys_usage (véase el cuadro 14) son todas opcionales y no se enumeran aquí: hostname cpu ip domain-name example.com event manager environment _email_server ms.example.net event manager environment _email_to [email protected] event manager environment _email_from [email protected] event manager environment _email_cc [email protected] event manager environment _cron_entry 0-59/2 0-23/1 * * 0-7 event manager environment _show_cmd show event manager policy registered event manager environment _syslog_pattern .*UPDOWN.*FastEthernet0/0 event manager environment _config_cmd1 interface Ethernet1/0 event manager environment _config_cmd2 no shutdown event manager environment _crash_reporter_debug 1 event manager environment _crash_reporter_url http://www.example.com/fm/interface_tm.cgi end Usando las directivas de la muestra Esta sección contiene los escenarios de configuración siguientes para demostrar cómo utilizar las algunas directivas Tcl de la muestra: • Funcionar con la directiva de la muestra Mandatory.go_*.tcl • Funcionar con las directivas de la muestra ap_perf_test_base_cpu.tcl y no_perf_test_init.tcl • Funcionar con la directiva de la muestra sl_intf_down.tcl • Funcionar con la directiva de la muestra tm_cli_cmd.tcl • Funcionar con la directiva de la muestra tm_crash_reporter.tcl • Funcionar con la directiva de la muestra tm_fsys_usage.tcl Funcionar con la directiva de la muestra Mandatory.go_*.tcl Hay Scripts TCL del ORO para cada prueba que se ejecute como directiva del ORO EEM de la parte de. Usted puede modificar el script TCL para la prueba, especifica la cuenta de fallas consecutiva, y también cambia la acción correctiva predeterminada. Por ejemplo, uno podría eligió accionar abajo un indicador luminoso LED amarillo de la placa muestra gravedad menor del linecard, en vez de la restauración o de otras acciones basadas CLI. Para cada prueba registradoa, un script del valor por defecto TCL es disponible, que se pueden registrar con el sistema, y coincidencias con la acción predeterminada. Esto puede entonces ser reemplazada modificando estos scripts. La tabla siguiente muestra que una lista del obligatorio limpia que ORO instalado en EEM. Cada uno de las directivas realiza una cierta clase de acción tal como reajuste del indicador luminoso LED amarillo de la placa muestra gravedad menor o inhabilitar el puerto. Scripts TCL del ORO Prueba Mandatory.go_asicsync.tcl TestAsicSync Mandatory.go_bootup.tcl Campo común para todas las pruebas del bootup. Mandatory.go_fabric.tcl TestFabricHealth Mandatory.go_fabrich0.tcl TestFabricCh0Health Mandatory.go_fabrich1.tcl TestFabricCh1Health Mandatory.go_ipsec.tcl TestIPSecEncrypDecrypPkt Mandatory.go_mac.tcl TestMacNotification Mandatory.go_nondislp.tcl TestNonDisruptiveLoopback Mandatory.go_scratchreg.tcl TestScratchRegister Mandatory.go_sprping.tcl TestSPRPInbandPing La siguiente configuración de muestra demuestra cómo utilizar esta política. Comenzando en el modo EXEC de usuario, ingrese enable el comando en el prompt de router. El router ingresa al modo EXEC privilegiado, donde se puede ingresar el comando show event manager policy registered para verificar que actualmente no hay ninguna política registrada. El comando siguiente es el comando show event manager policy available, para mostrar qué políticas están disponibles para instalarse. Después de que usted ingrese configure terminal el comando de alcanzar al modo de configuración global, usted puede registrar la directiva mandatory.go_*.tcl con EEM usando el comando event manager policy . Salga del modo de configuración global y ingrese el comando registrado directiva showevent del administrador de verificar otra vez que se ha registrado la directiva. enable show event manager policy registered show event manager policy available configure terminal event manager policy Mandatory.go_spuriousisr.tcl end show event manager policy registered show event manager environment Funcionar con las directivas de la muestra ap_perf_test_base_cpu.tcl y no_perf_test_init.tcl Éstos muestrean las directivas miden el rendimiento de la CPU de las directivas EEM. Las directivas ayudan a encontrar la época de ejecución media de cada directiva EEM y utilizan la biblioteca CLI para ejecutar los comandos configuration especificados en las variables de entorno _perf_cmd1 y, opcionalmente, _perf_cmd2 y _perf_cmd3 EEM. La siguiente configuración de muestra demuestra cómo utilizar esta política. Comenzando en el modo EXEC de usuario, ingrese enable el comando en el prompt de router. El router ingresa al modo EXEC privilegiado, donde se puede ingresar el comando show event manager policy registered para verificar que actualmente no hay ninguna política registrada. El comando siguiente es el comando show event manager policy available, para mostrar qué políticas están disponibles para instalarse. Después de que usted ingrese configure terminal el comando de alcanzar al modo de configuración global, ingrese service timestamps debug datetime msec el comando y entonces usted puede registrar las directivas ap_perf_test_base_cpu.tcl y no_perf_test_init.tcl con EEM usando el comando event manager policy . Salga del modo de configuración global e ingrese de nuevo el comando show event manager policy registered para verificar que se ha registrado la política. Las directivas ap_perf_test_base_cpu.tcl y no_perf_test_init.tcl necesitan ser registradas juntas, pues se ejecutan como conjunto de prueba. Usted puede funcionar con la directiva no_perf_test_init.tcl para comenzar las pruebas. Analice los resultados usando los mensajes de Syslog de cada iteración. El número total de iteración es especificado por los _perf_iterations variables. Tome la diferencia de tiempo y divídala por el número total de iteraciones para conseguir la época de ejecución media de cada directiva EEM. enable show event manager policy registered show event manager policy available show event manager environment configure terminal service timestamps debug datetime msec event manager environment _perf_iterations 100 event manager policy ap_perf_test_base_cpu.tcl event manager policy no_perf_test_init.tcl end show event manager policy registered show event manager policy available show event manager environment event manager run no_perf_test_init.tcl Funcionar con la directiva de la muestra no_perf_test_init.tcl Medidas este política de la muestra el rendimiento de la CPU de las directivas EEM. Las ayudas de la directiva para encontrar la época de ejecución media de cada directiva EEM y utilizan la biblioteca CLI para ejecutar los comandos configuration especificados en las variables de entorno _perf_cmd1 y, opcionalmente, _perf_cmd2 y _perf_cmd3 EEM. La siguiente configuración de muestra demuestra cómo utilizar esta política. Comenzando en el modo EXEC de usuario, ingrese enable el comando en el prompt de router. El router ingresa al modo EXEC privilegiado, donde se puede ingresar el comando show event manager policy registered para verificar que actualmente no hay ninguna política registrada. El comando siguiente es el comando show event manager policy available, para mostrar qué políticas están disponibles para instalarse. Después de que usted ingrese configure terminal el comando de alcanzar al modo de configuración global, usted puede registrar la directiva no_perf_test_init.tcl con EEM usando el comando event manager policy . Salga del modo de configuración global y ingrese el comando registrado directiva showevent del administrador de verificar otra vez que se ha registrado la directiva. Analice los resultados usando los mensajes de Syslog de cada iteración. El número total de iteración es especificado por los _perf_iterations variables. Tome la diferencia de tiempo y divídala por el número total de iteraciones para conseguir la época de ejecución media de cada directiva EEM. enable show event manager policy registered show event manager policy available configure terminal event manager policy no_perf_test_init.tcl end show event manager policy registered show event manager environment Funcionar con la directiva de la muestra sl_intf_down.tcl Esta directiva de la muestra demuestra la capacidad de modificar la configuración cuando un mensaje de Syslog con un modelo específico se registra. La directiva recopila la información detallada sobre el evento y utiliza la biblioteca CLI para ejecutar los comandos configuration especificados en las variables de entorno _config_cmd1 y, opcionalmente, _config_cmd2 EEM. Se envía un mensaje de correo electrónico con los resultados del comando CLI. La siguiente configuración de muestra demuestra cómo utilizar esta política. Comenzando en el modo EXEC de usuario, ingrese enable el comando en el prompt de router. El router ingresa al modo EXEC privilegiado, donde se puede ingresar el comando show event manager policy registered para verificar que actualmente no hay ninguna política registrada. El comando siguiente es el comando show event manager policy available, para mostrar qué políticas están disponibles para instalarse. Después de que usted ingrese configure terminal el comando de alcanzar al modo de configuración global, usted puede registrar la directiva sl_intf_down.tcl con EEM usando el comando event manager policy . Salga del modo de configuración global y ingrese el comando registrado directiva showevent del administrador de verificar otra vez que se ha registrado la directiva. La directiva se ejecuta cuando va una interfaz abajo. Ingrese el comando del entorno del administrador del evento de la demostración de visualizar los valores variables del entorno actual. Desenchufe el cable (o configure un apagar) para la interfaz especificada en la variable de entorno _syslog_pattern EEM. La interfaz va abajo, indicando a la daemon del Syslog que registre un mensaje de Syslog sobre la interfaz que está abajo, y se llama el detector del evento de syslog. El detector del evento de syslog revisa las especificaciones excepcionales del evento y encuentra una coincidencia para el cambio de estado de la interfaz. Se notifica el servidor EEM, y el servidor funciona con la directiva que se registra para manejar este evento — sl_intf_down.tcl. enable show event manager policy registered show event manager policy available configure terminal event manager policy sl_intf_down.tcl end show event manager policy registered show event manager environment Funcionar con la directiva de la muestra tm_cli_cmd.tcl Esta directiva de la muestra demuestra la capacidad de ejecutar periódicamente un comando CLI y al email los resultados. La especificación "0-59/2 0-23/1 * * el 0-7" CRON hace esta directiva ser funcionada con en el segundo minuto de cada hora. La directiva recopila la información detallada sobre el evento y utiliza la biblioteca CLI para ejecutar los comandos configuration especificados en el _show_cmd de la variable de entorno EEM. Se envía un mensaje de correo electrónico con los resultados del comando CLI. La siguiente configuración de muestra demuestra cómo utilizar esta política. Comenzando en el modo EXEC de usuario, ingrese enable el comando en el prompt de router. El router ingresa en el modo EXEC privilegiado, que permite ingresar el comando show event manager policy registered para verificar que actualmente no hay ninguna política registrada. El comando siguiente es el comando show event manager policy available, para mostrar qué políticas están disponibles para instalarse. Después de que usted ingrese configure terminal el comando de alcanzar al modo de configuración global, usted puede registrar la directiva tm_cli_cmd.tcl con EEM usando el comando event manager policy . Salga del modo de configuración global y ingrese el comando registrado directiva showevent del administrador de verificar que se ha registrado la directiva. El detector del evento de temporización acciona un evento para este caso periódicamente según la cadena CRON fijada en la variable de entorno EEM _cron_entry. Se notifica el servidor EEM, y el servidor funciona con la directiva que se registra para manejar este evento — tm_cli_cmd.tcl. enable show event manager policy registered show event manager policy available configure terminal event manager policy tm_cli_cmd.tcl end show event manager policy registered Funcionar con la directiva de la muestra tm_crash_reporter.tcl Esta directiva de la muestra demuestra la capacidad de enviar un informe en formato de HTTP de la caída a una ubicación URL. Si el registro de la directiva se guarda en el archivo de configuración de inicio, la directiva se acciona 5 segundos después del bootup. Cuando está accionado, el script intenta encontrar el motivo de la recarga. Si la razón de la recarga se debió a un colapso, la política busca el archivo crashinfo relacionado y envía esta información a una ubicación URL especificada por el usuario en la variable de entorno _crash_reporter_url. Una secuencia de comandos CGI, interface_tm.cgi, se ha creado para recibir el URL de la directiva tm_crash_reporter.tcl y para salvar la información del desperfecto en las bases de datos locales en la máquina de la blanco URL. Se ha creado y se diseña para ejecutarse en una máquina que contiene un servidor HTTP y es accesible una secuencia de comandos CGI Perl, interface_tm.cgi, por el router que funciona con la directiva tm_crash_reporter.tcl. El script interface_tm.cgi analiza los datos pasajeros en ella de tm_crash_reporter.tcl y añade la información del desperfecto al final del fichero a un archivo de texto, creando un historial de todas las caídas en el sistema. Además, la información detallada en cada caída se salva en tres archivos en un directorio de base de datos de la caída que sea especificado por el usuario. Otra secuencia de comandos CGI Perl, crash_report_display.cgi, se ha creado para visualizar la información salvada en la base de datos creada por el script interface_tm.cgi. El script crash_report_display.cgi se debe colocar en la misma máquina que contiene interface_tm.cgi. La máquina debe funcionar con a un buscador Web tal como Internet Explorer o Netscape. Cuando se ejecuta el script crash_report_display.cgi, visualiza la información del desperfecto en un formato legible. La siguiente configuración de muestra demuestra cómo utilizar esta política. Comenzando en el modo EXEC de usuario, ingrese enable el comando en el prompt de router. El router ingresa en el modo EXEC privilegiado, que permite ingresar el comando show event manager policy registered para verificar que actualmente no hay ninguna política registrada. El comando siguiente es el comando show event manager policy available, para mostrar qué políticas están disponibles para instalarse. Después de que usted ingrese configure terminal el comando de alcanzar al modo de configuración global, usted puede registrar la directiva tm_crash_reporter.tcl con EEM usando el comando event manager policy . Salga del modo de configuración global y ingrese el comando registrado directiva showevent del administrador de verificar que se ha registrado la directiva. enable show event manager policy registered show event manager policy available configure terminal event manager policy tm_crash_reporter.tcl end show event manager policy registered Funcionar con la directiva de la muestra tm_fsys_usage.tcl Esta directiva de la muestra demuestra la capacidad monitorea periódicamente el uso y el informe del espacio en disco con el Syslog cuando se han cruzado los umbrales configurables. La siguiente configuración de muestra demuestra cómo utilizar esta política. Comenzando en el modo EXEC de usuario, ingrese enable el comando en el prompt de router. El router ingresa al modo EXEC privilegiado, donde se puede ingresar el comando show event manager policy registered para verificar que actualmente no hay ninguna política registrada. El comando siguiente es el comando show event manager policy available, para mostrar qué políticas están disponibles para instalarse. Después de que usted ingrese configure terminal el comando de alcanzar al modo de configuración global, usted puede registrar la directiva tm_fsys_usage.tcl con EEM usando el comando event manager policy . Salga del modo de configuración global y ingrese el comando registrado directiva showevent del administrador de verificar otra vez que se ha registrado la directiva. Si usted había configurado las variables de entorno opcionales unas de los que se utilizan en la directiva tm_fsys_usage.tcl, el comando show event manager environment visualiza las variables configuradas. enable show event manager policy registered show event manager policy available configure terminal event manager policy tm_fsys_usage.tcl end show event manager policy registered show event manager environment Programación de Políticas con Tcl: Ejemplo de Scripts de Muestra Esta sección contiene algunas de las directivas de la muestra que se incluyen como políticas del sistema EEM. Para más detalles sobre estas directivas, vea “la versión parcial de programa del detector de evento EEM: Sección Ejemplos". • Directiva de la muestra Mandatory.go_ipsec.tcl • directiva de la muestra ap_perf_test_base_cpu.tcl • directiva de la muestra tm_cli_cmd.tcl • directiva de la muestra sl_intf_down.tcl Directiva de la muestra Mandatory.go_ipsec.tcl La directiva siguiente de la muestra para la prueba de TestIPSecEncrypDecrypPkt. ::cisco::eem::event_register_gold card all testing_type monitoring test_name Tes tIPSecEncrypDecrypPkt consecutive_failure 6 platform_action 0 queue_priority las t # # # GOLD TestIPSecEncrypDecrypPkt Test TCL script # March 2005, Hai Qiu # # Copyright (c) 2005-2007 by cisco Systems, Inc. # All rights reserved. # # # Register for TestIPSecEncrypDecrypPkt test even # the elements for register the event # card [all | card #] # sub_card [all | sub_card #] # severity_major | severity_minor | severity_normal # new_failure [true | false] default : severity_normal default: dont_care # testing_type [bootup | ondemand | schedule | monitoring] # test_name [ test name ] # test_id [ test # ] # consecutive_failure [ consecutive_failure # ] # platform_action [action_flag] # action_flag [ 0 | 1 | 2 ] # queue_priority [ normal | low | high | last] default: normal # # Note: # # 1: "card" element is required. If other elements are not specified, treat them as dont care, or default. # # 2: action_flag is platform specific. It is up to platform to # determine what action need to be taken based on the value # For Cat6k platform # action_flag 0 : TCL script take action to reset card # action_flag 1 : TCL script doesn't take action to reset card # action_flag 2 : TCL script takes action to reset card for bootup diag # # when there is major error action_flag 3 : TCL script doesn't take action to reset card for # bootup diag when there is major error # # 3: "queue_priority last" would guarantee this policy will be executed last # if there are other EEM events in queue with queue priority other # than "last" namespace import ::cisco::eem::* namespace import ::cisco::lib::* # 1. query the information of latest triggered eem event array set arr_einfo [event_reqinfo] if {$_cerrno != 0} { set result [format "component=%s; subsys err=%s; posix err=%s;\n%s" \ $_cerr_sub_num $_cerr_sub_err $_cerr_posix_err $_cerr_str] error $result } puts "GOLD EEM TCL policy for TestIPSecEncrypDecrypPkt" #set msg [format "array=%s", array names arr_einfo] #puts "msg $msg" #set msg $arr_einfo(msg) set card $arr_einfo(card) set sub_card $arr_einfo(sub_card) #set overall_result $arr_einfo(overall_result) #puts "GOLD event msg recieved: $card/$sub_card overall_result= $overall_result" # 2. execute the user-defined config commands if [catch {cli_open} result] { error $result $errorInfo } else { array set cli1 $result } if [catch {cli_exec $cli1(fd) "en"} result] { error $result $errorInfo } # Use "diagn action mod mod# test testname default" command # for default platform action if [catch {cli_exec $cli1(fd) "diagnostic action mod $card test TestIPSecEncrypD ecrypPkt default"} result] { error $result $errorInfo } else { set cmd_output $result } if [catch {cli_close $cli1(fd) $cli1(tty_id)} result] { error $result $errorInfo } directiva de la muestra ap_perf_test_base_cpu.tcl Las medidas política siguientes de la muestra el rendimiento de la CPU de las directivas EEM. ::cisco::eem::event_register_appl sub_system 798 type 9999 #---------------------------------# EEM policy used for measuring the cpu performance of EEM policies. # # July 2005, Cisco EEM team # # Copyright (c) 2005, 2006 by cisco Systems, Inc. # All rights reserved. #-----------------### ### Input arguments: ### ### arg1 $iter - current iteration count ### ### The following EEM environment variables are used: ### ### _perf_iterations (mandatory) - number of iterations over which we ### will run our measurement. ### Example: ### event manager environment _perf_iterations 100 ### ### _perf_cmd1 (optional) - optional non interactive cli command ### to be executed as part of the ### measurement test. ### Example: ### event manager environment _perf_cmd1 enable ### ### _perf_cmd2 (optional) ### - optional non interactive cli command to be executed as part of the ### measurement test. ### To use _perf_cmd2, _perf_cmd1 MUST ### be defined. ### Example: ### event manager environment _perf_cmd2 show ver ### ### _perf_cmd3 (optional) - optional non interactive cli command ### to be executed as part of the ### measurement test. ### To use _perf_cmd3, _perf_cmd1 MUST ### be defined. ### Example: ### event manager environment _perf_cmd3 show int counters protocol status ### ### Description: ### Iterate through _perf_iterations of this policy. ### It is up to the user to calculate the average ### execution time based on the system timestamps. ### Optional commands _perf_cmd1, ### _perf_cmd2 and _perf_cmd3 are executed if defined. ### ### A value of 100 is a good starting point. ### ### Outputs: ### Console output. ### ### Usage example: ### >conf t ### >service timestamps debug datetime msec ### >event manager environment _perf_iterations 100 ### >event manager policy ap_perf_base_cpu.tcl ### >event manager policy no_perf_test_init.tcl ### >end ### 2d19h: %SYS-5-CONFIG_I: Configured from console by console ### >event manager run no_perf_test_init.tcl ### ### Oct 16 14:57:17.284: %SYS-5-CONFIG_I: Configured from console by console ### >event manager run no_perf_test_init.tcl ### ### ### ### ### ### Oct 16 19:32:02.772: %HA_EM-6-LOG: eem_policy/no_perf_test_init.tcl: EEM performance test start Oct 16 19:32:03.115: %HA_EM-6-LOG: eem_policy/ap_perf_test_base_cpu.tcl: EEM performance test iteration 1 Oct 16 19:32:03.467: %HA_EM-6-LOG: ### eem_policy/ap_perf_test_base_cpu.tcl: EEM performance test iteration 2 ### ... ### Oct 16 19:32:36.936: %HA_EM-6-LOG: ### ### eem_policy/ap_perf_test_base_cpu.tcl: EEM performance test iteration 100 ### Oct 16 19:32:36.936: %HA_EM-6-LOG: eem_policy/ap_perf_test_base_cpu.tcl: EEM performance test end ### ### The user must calculate execution time and average time of execution. ### In this example, total time = 19:32:36.936 - 19:32:02.772 = 34.164 ### Average script execution time = 341.64 milliseconds ### # check if all the env variables we need exist # If any of them doesn't exist, print out an error msg and quit if {![info exists _perf_iterations]} { set result \ "Policy cannot be run: variable _perf_iterations has not been set" error $result $errorInfo } # ensure our target iteration count > 0 if {$_perf_iterations <= 0} { set result \ "Policy cannot be run: variable _perf_iterations <= 0" error $result $errorInfo } namespace import ::cisco::eem::* namespace import ::cisco::lib::* # query the event info array set arr_einfo [event_reqinfo] if {$_cerrno != 0} { set result [format "component=%s; subsys err=%s; posix err=%s;\n%s" \ $_cerr_sub_num $_cerr_sub_err $_cerr_posix_err $_cerr_str] error $result } set iter $arr_einfo(data1) set iter [expr $iter + 1] # if _perf_cmd1 is defined if {[info exists _perf_cmd1]} { # open the cli library if [catch {cli_open} result] { error $result $errorInfo } else { array set cli1 $result } # execute the comamnd defined in _perf_cmd1 if [catch {cli_exec $cli1(fd) $_perf_cmd1} result] { error $result $errorInfo } # if _perf_cmd2 is defined if {[info exists _perf_cmd2]} { # execute the comamnd defined in _perf_cmd2 if [catch {cli_exec $cli1(fd) $_perf_cmd2} result] { error $result $errorInfo } else { set cmd_output $result } } # if _perf_cmd3 is defined if {[info exists _perf_cmd3]} { # execute the comamnd defined in _perf_cmd3 if [catch {cli_exec $cli1(fd) $_perf_cmd3} result] { error $result $errorInfo } else { set cmd_output $result } } # close the cli library if [catch {cli_close $cli1(fd) $cli1(tty_id)} result] { error $result $errorInfo } } # log a message set msg [format "EEM performance test iteration %s" $iter] action_syslog priority info msg $msg if {$_cerrno != 0} { set result [format "component=%s; subsys err=%s; posix err=%s;\n%s" \ $_cerr_sub_num $_cerr_sub_err $_cerr_posix_err $_cerr_str] error $result } # use the context info from the previous run to determine when to end if {$iter >= $_perf_iterations} { #log the final messages action_syslog priority info msg "EEM performance test end" if {$_cerrno != 0} { set result [format \ "component=%s; subsys err=%s; posix err=%s;\n%s" \ $_cerr_sub_num $_cerr_sub_err $_cerr_posix_err $_cerr_str] error $result } exit 0 } # cause the next iteration to run event_publish sub_system 798 type 9999 arg1 $iter if {$_cerrno != 0} { set result [format \ "component=%s; subsys err=%s; posix err=%s;\n%s" \ $_cerr_sub_num $_cerr_sub_err $_cerr_posix_err $_cerr_str] error $result } directiva de la muestra tm_cli_cmd.tcl La directiva siguiente de la muestra funciona con una entrada configurable CRON. La directiva ejecuta Cisco IOS CLI configurable ordena y los email los resultados. Un archivo del registro opcional puede ser definido al cual la salida se añade al final del fichero con un grupo fecha/hora. ::cisco::eem::event_register_timer cron name crontimer2 cron_entry $_cron_entry maxrun 240 #-----------------------------------------------------------------# EEM policy that will periodically execute a cli command and email the # results to a user. # # July 2005, Cisco EEM team # # Copyright (c) 2005 by cisco Systems, Inc. # All rights reserved. #------------------------------------------------------------------ ### The following EEM environment variables are used: ### ### _cron_entry (mandatory) - A CRON specification that determines ### when the policy will run. See the ### IOS Embedded Event Manager ### documentation for more information ### on how to specify a cron entry. ### Example: _cron_entry 0-59/1 0-23/1 * * 0-7 ### ### _log_file (mandatory without _email_....) ### - A filename to append the output to. ### If this variable is defined, the ### output is appended to the specified ### file with a timestamp added. ### Example: _log_file disk0:/my_file.log ### ### _email_server (mandatory without _log_file) ### - A Simple Mail Transfer Protocol (SMTP) ### mail server used to send e-mail. ### Example: _email_server mailserver.example.com ### ### _email_from (mandatory without _log_file) ### ### Example: _email_from - The address from which e-mail is sent. [email protected] ### ### _email_to (mandatory without _log_file) ### ### Example: _email_to - The address to which e-mail is sent. [email protected] ### ### _email_cc (optional) - The address to which the e-mail must ### be copied. ### Example: _email_cc [email protected] ### ### _show_cmd (mandatory) - The CLI command to be executed when ### the policy is run. ### Example: _show_cmd show version ### # check if all required environment variables exist # If any required environment variable does not exist, print out an error msg and quit if {![info exists _log_file]} { if {![info exists _email_server]} { set result \ "Policy cannot be run: variable _log_file or _email_server has not been set" error $result $errorInfo } if {![info exists _email_from]} { set result \ "Policy cannot be run: variable _log_file or _email_from has not been set" error $result $errorInfo } if {![info exists _email_to]} { set result \ "Policy cannot be run: variable _log_file ore _email_to has not been set" error $result $errorInfo } if {![info exists _email_cc]} { #_email_cc is an option, must set to empty string if not set. set _email_cc "" } } if {![info exists _show_cmd]} { set result \ "Policy cannot be run: variable _show_cmd has not been set" error $result $errorInfo } namespace import ::cisco::eem::* namespace import ::cisco::lib::* # query the event info and log a message array set arr_einfo [event_reqinfo] if {$_cerrno != 0} { set result [format "component=%s; subsys err=%s; posix err=%s;\n%s" \ $_cerr_sub_num $_cerr_sub_err $_cerr_posix_err $_cerr_str] error $result } global timer_type timer_time_sec set timer_type $arr_einfo(timer_type) set timer_time_sec $arr_einfo(timer_time_sec) # log a message set msg [format "timer event: timer type %s, time expired %s" \ $timer_type [clock format $timer_time_sec]] action_syslog priority info msg $msg if {$_cerrno != 0} { set result [format "component=%s; subsys err=%s; posix err=%s;\n%s" \ $_cerr_sub_num $_cerr_sub_err $_cerr_posix_err $_cerr_str] error $result } # 1. execute the command if [catch {cli_open} result] { error $result $errorInfo } else { array set cli1 $result } if [catch {cli_exec $cli1(fd) "en"} result] { error $result $errorInfo } # save exact execution time for command set time_now [clock seconds] # execute command if [catch {cli_exec $cli1(fd) $_show_cmd} result] { error $result $errorInfo } else { set cmd_output $result # format output: remove trailing router prompt regexp {\n*(.*\n)([^\n]*)$} $result dummy cmd_output } if [catch {cli_close $cli1(fd) $cli1(tty_id)} result] { error $result $errorInfo } # 2. log the success of the CLI command set msg [format "Command \"%s\" executed successfully" $_show_cmd] action_syslog priority info msg $msg if {$_cerrno != 0} { set result [format "component=%s; subsys err=%s; posix err=%s;\n%s" \ $_cerr_sub_num $_cerr_sub_err $_cerr_posix_err $_cerr_str] error $result } # 3. if _log_file is defined, then attach it to the file if {[info exists _log_file]} { # attach output to file if [catch {open $_log_file a+} result] { error $result } set fileD $result # save timestamp of command execution # (Format = 00:53:44 PDT Mon May 02 2005) set time_now [clock format $time_now -format "%T %Z %a %b %d %Y"] puts $fileD "%%% Timestamp = $time_now" puts $fileD $cmd_output close $fileD } # 4. if _email_server is defined send the email out if {[info exists _email_server]} { set routername [info hostname] if {[string match "" $routername]} { error "Host name is not configured" } if [catch {smtp_subst [file join $tcl_library email_template_cmd.tm]} \ result] { error $result $errorInfo } if [catch {smtp_send_email $result} result] { error $result $errorInfo } } directiva de la muestra sl_intf_down.tcl La directiva siguiente de la muestra se ejecuta cuando se registra un mensaje de Syslog configurable. La directiva ejecuta un comando CLI configurable y los email los resultados. ::cisco::eem::event_register_syslog occurs 1 pattern $_syslog_pattern maxrun 90 #-----------------------------------------------------------------# EEM policy to monitor for a specified syslog message. # Designed to be used for syslog interface-down messages. # When event is triggered, the given config commands will be run. # # July 2005, Cisco EEM team # # Copyright (c) 2005 by cisco Systems, Inc. # All rights reserved. #-----------------------------------------------------------------### The following EEM environment variables are used: ### ### _syslog_pattern (mandatory) - A regular expression pattern match string ### that is used to compare syslog messages ### to determine when policy runs ### Example: _syslog_pattern .*UPDOWN.*FastEthernet0/0.* ### ### _email_server (mandatory) - A Simple Mail Transfer Protocol (SMTP) ### mail server used to send e-mail. ### Example: _email_server mailserver.example.com ### ### _email_from (mandatory) ### Example: _email_from - The address from which e-mail is sent. [email protected] ### ### _email_to (mandatory) ### Example: _email_to - The address to which e-mail is sent. [email protected] ### ### _email_cc (optional) - The address to which the e-mail must ### be copied. ### Example: _email_cc [email protected] ### ### _config_cmd1 (optional) - The first configuration command that ### is executed. ### Example: _config_cmd1 interface Ethernet1/0 ### ### _config_cmd2 (optional) - The second configuration command that ### is executed. ### Example: _config_cmd2 no shutdown ### # check if all the env variables we need exist # If any of them doesn't exist, print out an error msg and quit if {![info exists _email_server]} { set result \ "Policy cannot be run: variable _email_server has not been set" error $result $errorInfo } if {![info exists _email_from]} { set result \ "Policy cannot be run: variable _email_from has not been set" error $result $errorInfo } if {![info exists _email_to]} { set result \ "Policy cannot be run: variable _email_to has not been set" error $result $errorInfo } if {![info exists _email_cc]} { #_email_cc is an option, must set to empty string if not set. set _email_cc "" } namespace import ::cisco::eem::* namespace import ::cisco::lib::* # 1. query the information of latest triggered eem event array set arr_einfo [event_reqinfo] if {$_cerrno != 0} { set result [format "component=%s; subsys err=%s; posix err=%s;\n%s" \ $_cerr_sub_num $_cerr_sub_err $_cerr_posix_err $_cerr_str] error $result } set msg $arr_einfo(msg) set config_cmds "" # 2. execute the user-defined config commands if [catch {cli_open} result] { error $result $errorInfo } else { array set cli1 $result } if [catch {cli_exec $cli1(fd) "en"} result] { error $result $errorInfo } if [catch {cli_exec $cli1(fd) "config t"} result] { error $result $errorInfo } if {[info exists _config_cmd1]} { if [catch {cli_exec $cli1(fd) $_config_cmd1} result] { error $result $errorInfo } append config_cmds $_config_cmd1 } if {[info exists _config_cmd2]} { if [catch {cli_exec $cli1(fd) $_config_cmd2} result] { error $result $errorInfo } append config_cmds "\n" append config_cmds $_config_cmd2 } if [catch {cli_exec $cli1(fd) "end"} result] { error $result $errorInfo } if [catch {cli_close $cli1(fd) $cli1(tty_id)} result] { error $result $errorInfo } after 60000 # 3. send the notification email set routername [info hostname] if {[string match "" $routername]} { error "Host name is not configured" } if [catch {smtp_subst [file join $tcl_library email_template_cfg.tm]} result] { error $result $errorInfo } if [catch {smtp_send_email $result} result] { error $result $errorInfo } El archivo de plantilla siguiente del email se utiliza con la directiva de la muestra EEM arriba: email_template_cfg.tm Mailservername: $_email_server From: $_email_from To: $_email_to Cc: $_email_cc Subject: From router $routername: Periodic $_show_cmd Output $cmd_output Debugging de Políticas de Embedded Event Manager: Ejemplos La demostración de los siguientes ejemplos cómo hacer el debug de la biblioteca CLI y la biblioteca S TP. Hacer el debug de la biblioteca CLI La biblioteca CLI permite que los usuarios ejecuten comandos CLI y obtengan la salida de los comandos en Tcl. Un comando integrado debug del administrador del evento se ha proporcionado para los usuarios de esta biblioteca. El comando de habilitar el debugging de la biblioteca CLI es debug event manager tcl cli_library. Cuando está habilitado, este comando muestra todos los datos pasados y leídos de la sesión TTY que gestiona las interacciones de la CLI. Estos datos ayudan a asegurar a los usuarios que los comandos que están pasando al CLI son válidos. Ejemplo del comando cli_library tcl del administrador del evento del debug Este ejemplo utiliza la directiva sl_intf_down.tcl de la muestra. Cuando está accionado, sl_intf_down.tcl pasa un comando configuration al CLI a través de la biblioteca CLI. El comando pasajero adentro debajo es. Este show event manager environmentcomando no es comando válido en el modo de configuración. Sin el comando enabled debug , la salida se muestra abajo: 00:00:57:sl_intf_down.tcl[0]:config_cmds are show eve man env 00:00:57:%SYS-5-CONFIG_I:Configured from console by vty0 Note que eso con la salida sobre el usuario no sabría independientemente de si el comando tuvo éxito en el CLI. Con debug event manager tcl cli_library el comando enabled, el usuario ve el siguiente: 01:17:07: sl_intf_down.tcl[0]: DEBUG(cli_lib) : CTL : cli_open called. 01:17:07: sl_intf_down.tcl[0]: DEBUG(cli_lib) : OUT : nelson> 01:17:07: sl_intf_down.tcl[0]: DEBUG(cli_lib) : IN : nelson>enable 01:17:07: sl_intf_down.tcl[0]: DEBUG(cli_lib) : OUT : nelson# 01:17:07: sl_intf_down.tcl[0]: DEBUG(cli_lib) : IN : nelson#configure terminal 01:17:07: sl_intf_down.tcl[0]: DEBUG(cli_lib) : OUT : Enter configuration commands, one per line. End with CNTL/Z. 01:17:07: sl_intf_down.tcl[0]: DEBUG(cli_lib) : OUT : nelson(config)# 01:17:07: sl_intf_down.tcl[0]: DEBUG(cli_lib) : IN environment : nelson(config)#show event manager 01:17:07: sl_intf_down.tcl[0]: DEBUG(cli_lib) : OUT : ^ 01:17:07: sl_intf_down.tcl[0]: DEBUG(cli_lib) : OUT : % Invalid input detected at '^' marker. 01:17:07: sl_intf_down.tcl[0]: DEBUG(cli_lib) : OUT : nelson(config)# 01:17:07: sl_intf_down.tcl[0]: DEBUG(cli_lib) : IN : nelson(config)#end 01:17:07: sl_intf_down.tcl[0]: DEBUG(cli_lib) : OUT : nelson# 01:17:07: sl_intf_down.tcl[0]: DEBUG(cli_lib) : CTL : cli_close called. 01:17:07: sl_intf_down.tcl[0]: DEBUG(cli_lib) : IN : nelson#exit 01:17:07: sl_intf_down.tcl[0]: config_cmds are show event manager environment 01:17:07: %SYS-5-CONFIG_I: Configured from console by vty0 La salida antedicha muestra que show event manager environment es un comando inválido en el modo de configuración. EN la palabra clave significa todos los datos pasajeros adentro al TTY a través de la biblioteca CLI. La palabra clave de la SALIDA significa toda la parte posterior de los datos se leyeron del TTY a través de la biblioteca CLI. La palabra clave CTL significa las funciones del ayudante usadas en la biblioteca CLI. Estas funciones del ayudante se utilizan para configurar y para quitar las conexiones al CLI. Hacer el debug de la biblioteca S TP La biblioteca SMTP permite que los usuarios envíen mensajes de correo electrónico a un servidor de correo electrónico SMTP. Un comando integrado debug del administrador del evento se ha proporcionado para los usuarios de esta biblioteca. El comando de habilitar el debugging de la biblioteca S TP es debug event manager tcl smtp_library. Cuando está habilitado, este comando muestra todos los datos que se pasan y releen en las rutinas de la biblioteca SMTP. Estos datos ayudan a asegurar a los usuarios que los comandos que están pasando a la biblioteca S TP son válidos. Ejemplo del comando smtp_library tcl del administrador del evento del debug Este ejemplo utiliza la directiva tm_cli_cmd.tcl de la muestra. Cuando está accionado, tm_cli_cmd.tcl funciona con el comando a través show event manager policy available system de la biblioteca CLI. El resultado entonces se envía a un usuario a través de la biblioteca S TP. La salida ayudará a hacer el debug de cualquier problema relacionado con usar la biblioteca S TP. Con debug event manager tcl smtp_library el comando enabled, los usuarios ven el siguiente en la consola: 00:39:46: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_read XXXX 1.1.0; Tue, 25 Jun 2002 14:20:39 -0700 (PDT) : 220 XXXX.example.com ESMTP 00:39:46: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_write : HELO XXXX.example.com 00:39:46: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_read XXXX.example.com [XXXX], pleased to meet you : 250 XXXX.example.com Hello 00:39:46: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_write : MAIL FROM:<[email protected]> 00:39:46: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_read ok : 250 <[email protected]>... Sender 00:39:46: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_write : RCPT TO:<[email protected]> 00:39:47: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_read Recipient ok : 250 <[email protected]>... 00:39:47: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_write : RCPT TO:<[email protected]> 00:39:47: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_read Recipient ok : 250 <[email protected]>... 00:39:47: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_write : DATA 00:39:47: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_read on a line by itself : 354 Enter mail, end with "." 00:39:47: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_write : Date: 25 Jun 2002 14:35:00 UTC 00:39:47: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_write : Message-ID: <[email protected]> 00:39:47: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_write : From: [email protected] 00:39:47: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_write : To: [email protected] 00:39:47: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_write : Cc: [email protected] 00:39:47: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_write : Subject: From router nelson: Periodic show eve man po ava system Output 00:39:47: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_write : No. Name Type Time Created 00:39:47: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_write : 1 20:42:34 2002 pr_cdp_abort.tcl system Fri May3 00:39:47: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_write : 2 20:42:54 2002 pr_iprouting_abort.tcl system Fri May3 00:39:47: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_write : 3 02:16:33 2002 sl_intf_down.tcl system Wed Apr3 00:39:47: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_write : 4 23:34:16 2002 tm_cli_cmd.tcl system Mon Jun24 00:39:47: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_write : 5 05:53:15 2002 tm_crash_hist.tcl system Wed Mar27 00:39:47: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_write : nelson# 00:39:47: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_write : 00:39:47: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_write : . 00:39:47: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_read for delivery : 250 ADE90179 Message accepted 00:39:47: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_write : QUIT 00:39:47: tm_cli_cmd.tcl[0]: DEBUG(smtp_lib) : smtp_read connection : 221 XXXX.example.com closing Rastreo de las Operaciones del Comando set de Tcl: Ejemplo: El Tcl es un lenguaje flexible. Uno de los aspectos flexibles del Tcl es que usted puede reemplazar los comandos. En este ejemplo, se retitula set el comando Tcl mientras que el _set y una nueva versión set del comando se crea que visualiza un mensaje que contiene el texto “configuración” y añade la variable scalar al final del fichero se está fijando que. Este ejemplo se puede utilizar para localizar todos los casos de las variables scalares que son fijadas. rename set _set proc set {var args} { puts [list setting $var $args] uplevel _set $var $args }; Cuando esto se coloca en una directiva, un mensaje se visualiza siempre se fija una variable scalar, por ejemplo: 02:17:58: sl_intf_down.tcl[0]: setting test_var 1 Detector de Eventos RPC: Ejemplo: TCL script (rpccli.tcl): ::cisco::eem::event_register_rpc namespace import ::cisco::eem::* namespace import ::cisco::lib::* proc run_cli { clist } { set rbuf "" if {[llength $clist] < 1} { return -code ok $rbuf } if {[catch {cli_open} result]} { return -code error $result } else { array set cliarr $result } if {[catch {cli_exec $cliarr(fd) "enable"} result]} { return -code error $result } if {[catch {cli_exec $cliarr(fd) "term length 0"} result]} { return -code error $result } foreach cmd $clist { if {[catch {cli_exec $cliarr(fd) $cmd} result]} { return -code error $result } append rbuf $result } if {[catch {cli_close $cliarr(fd) $cliarr(tty_id)} result]} { puts "WARNING: $result" } return -code ok $rbuf } proc run_cli_interactive { clist } { set rbuf "" if {[llength $clist] < 1} { return -code ok $rbuf } if {[catch {cli_open} result]} { return -code error $result } else { array set cliarr $result } if {[catch {cli_exec $cliarr(fd) "enable"} result]} { return -code error $result } if {[catch {cli_exec $cliarr(fd) "term length 0"} result]} { return -code error $result } foreach cmd $clist { array set sendexp $cmd if {[catch {cli_write $cliarr(fd) $sendexp(send)} result]} { return -code error $result } foreach response $sendexp(responses) { array set resp $response if {[catch {cli_read_pattern $cliarr(fd) $resp(expect)} result]} { return -code error $result } if {[catch {cli_write $cliarr(fd) $resp(reply)} result]} { return -code error $result } } if {[catch {cli_read $cliarr(fd)} result]} { return -code error $result } append rbuf $result } if {[catch {cli_close $cliarr(fd) $cliarr(tty_id)} result]} { puts "WARNING: $result" } return -code ok $rbuf } array set arr_einfo [event_reqinfo] set args $arr_einfo(argc) set cmds [list] for { set i 0 } { $i < $args } { incr i } { set arg "arg${i}" # Split each argument on the '^' character. The first element is # the command, and each subsequent element is a prompt followed by # a response to that prompt. set cmdlist [split $arr_einfo($arg) "^"] set cmdarr(send) [lindex $cmdlist 0] set cmdarr(responses) [list] if { [expr ([llength $cmdlist] - 1) % 2] != 0 } { return -code 88 } set cmdarr(responses) [list] for { set j 1 } { $j < [llength $cmdlist] } { incr j 2 } { set resps(expect) [lindex $cmdlist $j] set resps(reply) [lindex $cmdlist [expr $j + 1]] lappend cmdarr(responses) [array get resps] } lappend cmds [array get cmdarr] } set rc [catch {run_cli_interactive $cmds} output] if { $rc != 0 } { error $output $errorInfo return -code 88 } puts $output Adonde ir después • Para obtener información sobre la descripción general de EEM, vaya al módulo "Descripción General de Embedded Event Manager". • Para la información sobre la escritura de las directivas EEM usando el Cisco IOS CLI, van “las directivas integradas escritura del administrador del evento usando al módulo del Cisco IOS CLI”. Referencias adicionales Las secciones siguientes proporcionan las referencias relacionadas con la escritura de las directivas integradas del administrador del evento usando el Tcl. Documentos Relacionados Tema relacionado Título del documento Comandos de Cisco IOS El Cisco IOS domina los comandos list, todos las versiones Comandos de administración de red (incluidos los comandos EEM): sintaxis de comandos completa, valores predeterminados, modo de comandos, historial de comandos, pautas de uso y ejemplos Referencia de Comandos de Administración de Redes de Cisco IOS Descripción General de Embedded Event Manager Módulo integrado de la descripción del administrador del evento. Escritura de políticas de Embedded Event Manager mediante la CLI Módulo Escritura de Políticas de Embedded Event Manager Usando el Cisco IOS CLI Administrador de Recursos Incrustado Módulo Embedded Resource Manager MIB MIB Link del MIB CISCOPara localizar y descargar MIB de plataformas, versiones de Cisco IOS y EMBEDDEDconjuntos de funciones seleccionados, utilice Cisco MIB Locator, que se EVENT-MGR-MIB encuentra en la siguiente URL: http://www.cisco.com/cisco/web/LA/support/index.html RFC RFC Título Esta función no soporta RFCs nuevos o modificados, y el soporte de los RFCs existentes no ha sido modificado por ella. — Asistencia Técnica Descripción Link El Web site del soporte y de la documentación http://www.cisco.com/cisco/web/LA/support/index.html de Cisco proporciona los recursos en línea para descargar la documentación, el software, y las herramientas. Utilice estos recursos para instalar y para configurar el software y para resolver problemas y para resolver los problemas técnicos con los Productos Cisco y las Tecnologías. El acceso a la mayoría de las herramientas en el Web site del soporte y de la documentación de Cisco requiere una identificación del usuario y una contraseña del cisco.com. Referencia de Extensiones de Comandos de Tcl de Políticas de EEM Esta sección documenta las categorías siguientes de la extensión del comando Tcl de la directiva EEM: • Extensiones de Comandos Tcl de Registro de Eventos de EEM • Extensiones de Comandos de Tcl de Información de Eventos de EEM • Comando Extension Tcl del evento EEM • Extensiones de Comandos Tcl de Acciones de EEM • Extensiones de Comandos de Tcl de Utilidades de EEM • Extensiones del Comando Tcl de Información del Sistema EEM • Extensiones del Comando Debug de la Biblioteca EEM • Extensiones de Comando de la Biblioteca SMTP • Extensiones de Comando de la Biblioteca CLI • Extensiones de Comando de la Biblioteca de Contexto Tcl • Extensiones del comando Tcl del registro del evento para EEM 3,2 Observepara todas las Extensiones del comando EEM Tcl, si hay un error, la cadena vuelta del resultado Tcl contiene la información del error. Observelos argumentos para los cuales no se especifica ningún rango numérico lleva un número entero a partir de la 2147483648 2147483647, inclusivo. Utilizan a los convenios siguientes para el sintaxis documentado en las páginas de la extensión del comando Tcl: • Un argumento optativo se muestra dentro de los corchetes, por ejemplo: [type?] • ¿Un signo de interrogación? representa una variable que se ingresará. • Las opciones entre los argumentos son representadas por los tubos, por ejemplo: prioridad baja|normal|alto Extensiones de Comandos Tcl de Registro de Eventos de EEM • event_register_appl • event_register_cli • event_register_counter • event_register_gold • event_register_interface • event_register_ipsla • event_register_nf • event_register_ioswdsysmon • event_register_none • event_register_oir • event_register_process • event_register_resource • event_register_rf • el event_register_routing • event_register_rpc • event_register_snmp • event_register_snmp_notification • event_register_snmp_object • event_register_syslog • event_register_timer • event_register_timer_subscriber • event_register_track • event_register_wdsysmon event_register_appl Registros para un evento de aplicación. Utilice esta extensión del comando Tcl para funcionar con una directiva cuando un evento de aplicación se acciona después de la ejecución de otra directiva event_publish de una extensión del comando Tcl; event_publish la extensión del comando publica un evento de aplicación. Para registrarse para un evento de aplicación, un subsistema debe ser especificado. Una directiva Tcl o el administrador del evento integrado interno (EEM) API puede publicar un evento de aplicación. Si el evento está siendo publicado por una directiva, el argumento del sub_system que es reservado para una directiva es 798. Sintaxis event_register_appl [tag ?] sub_system ? type ? [queue_priority low|normal|high|last] [maxrun ?] [nice 0|1] Argumentos etiqueta (Opcional) Cadena que identifica una etiqueta que se puede utilizar con la extensión de comando Tcl del desencadenado para soportar múltiples declaraciones de eventos dentro de un script Tcl. sub_system Número (obligatorio) asignado a la directiva EEM que publicó el evento de aplicación. El número se fija a 798 porque el resto de los números son reservados para el uso de Cisco. Si este argumento no se especifica, se corresponden con todos los componentes. tipo Subtipo (obligatorio) del evento dentro del evento especificado. Los argumentos sub_system y type identifican de forma única un evento de aplicación. Si este argumento no se especifica, corresponden con a todos los tipos. Si usted especifica este argumento, usted debe elegir un número entero entre 1 y 4294967295, inclusivo. Debe haber una coincidencia del componente y del tipo entre event_publish la extensión del comando y event_register_appl la extensión del comando para que la publicación y el registro a trabajar. queue_priority (Opcional) Nivel de prioridad en el que se podrá en cola el script: • queue_priority low: especifica que el script debe ponerse en cola en el más bajo de los tres niveles de prioridad. • queue_priority normal: especifica que el script debe ser puesto en cola en un nivel de prioridad mayor que la prioridad baja pero menos que la prioridad alta. • queue_priority high: especifica que el script debe ponerse en cola en el más alto de los tres niveles de prioridad. • queue_priority last: especifica que el script debe ponerse en cola en el nivel de prioridad más bajo. Si se registra más de un script con el argumento "queue_priority_last" establecido, estos scripts se ejecutarán en el orden en que se publiquen los eventos. Observeel argumento del queue_priority especifica la prioridad de envío a cola, pero no la prioridad de ejecución, del script que es registrado. Si este argumento no se especifica, la prioridad de envío a cola predeterminada es normal. maxrun (Opcional) El tiempo de ejecución máximo del script (especificado en el formato SSSSSSSSSS[,MMM], donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusive, y MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza el límite de tiempo de ejecución predeterminado de 20 segundos. agradable (Opcional) Configuración de la prioridad del tiempo de ejecución de la política. Cuando el argumento nice se establece en 1, la política se ejecuta con una prioridad de tiempo de ejecución menor que la prioridad predeterminada. El valor predeterminado es 0. Si existen las condiciones múltiples, el evento de aplicación será aumentado cuando se satisfacen todas las condiciones. Cadena de Resultado Ninguno Ajuste _cerrno No event_register_cli Registros para un evento CLI. Utilice esta extensión del comando Tcl para funcionar con una directiva cuando ingresan a un comando CLI de un modelo específico basó en las coincidencias de patrones realizadas contra un comando CLI ampliado. Observeal usuario puede ingresar un comando CLI abreviado, por ejemplo sh mem summary, y el analizador de sintaxis ampliará el comando a show memory summary de realizar corresponder con. Observelas funciones proporcionadas en el detector de evento CLI permite solamente una coincidencia en IOS CLI un comando válido sí mismo del patrón de expresión normal. Esto no incluye el texto después de un carácter del tubo cuando se utiliza el cambio de dirección. Sintaxis event_register_cli [tag ?] sync yes|no skip yes|no [occurs ?] [period ?] pattern ? [default ?] [enter] [questionmark] [tab] [mode] [queue_priority low|normal|high|last] [maxrun ?] [nice 0|1] Argumentos etiqueta (Opcional) Cadena que identifica una etiqueta que se puede utilizar con la extensión de comando Tcl del desencadenado para soportar múltiples declaraciones de eventos dentro de un script Tcl. sincronice El Sí (obligatorio) A significa que la directiva (el evento publica) se ejecutará síncrono con el comando CLI; un no significa que el evento publica será asynchronously realizado con el comando CLI. El detector de evento será notificado cuando la directiva completa el funcionamiento. El estado de salida de la directiva indica independientemente de si el comando CLI debe ser ejecutado: si el estado de salida es cero, así que significa que la directiva está ejecutada con éxito, no ejecutarán al comando CLI; si no, ejecutarán al comando CLI. salto Obligatorio si existe el argumento del sincronizar es no y si el argumento del sincronizar está “sí.” Si el argumento del salto está “sí,” significa que el comando CLI no debe ser ejecutado. Si es el argumento del salto “no,” significa que el comando CLI debe ser ejecutado. Advierta cuando el argumento del salto está “sí,” los resultados involuntarios puede ser producido si las Coincidencias de patrones se hacen para los comandos configuration porque no ejecutarán al comando CLI que hace juego la expresión normal. ocurre (Opcional) el número de acontecimientos antes del evento se aumenta. Si este argumento no se especifica, el evento se aumenta en el primer acontecimiento. Si se especifica este argumento, debe ser un número entero entre 1 y 4294967295, inclusivo. período (Opcional) especifica una ventana de fecha y hora de mirada posterior en la cual todos los eventos CLI deban ocurrir (ocurre la cláusula debe ser satisfecha) para que un evento sea publicado (especificado en el formato del [.MMM] SSSSSSSSSS, donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusivo, y donde el MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Si este argumento no se especifica, se utiliza el evento más reciente. modelo (Obligatorio) especifica la expresión normal usada para realizar las Coincidencias de patrones del comando CLI. predeterminado (Opcional) El período de tiempo durante el cual el detector de eventos de la CLI espera a que salga la política (especificado en el formato SSSSSSSSSS[.MMM], donde SSSSSSSSSS debe ser un número entero que represente los segundos entre 0 y 4294967295, inclusive, y donde MMM debe ser un número entero que represente los milisegundos entre 0 y 999). Si el período de tiempo predeterminado expira antes de que salga la política, se ejecutará la acción predeterminada. La acción predeterminada es ejecutar el comando. Si no se especifica este argumento, el período de tiempo predeterminado se establece en 30 segundos. queue_priority (Opcional) Nivel de prioridad en el que se podrá en cola el script: • queue_priority low: especifica que el script debe ponerse en cola en el más bajo de los tres niveles de prioridad. • queue_priority normal: especifica que el script debe ser puesto en cola en un nivel de prioridad mayor que la prioridad baja pero menos que la prioridad alta. • queue_priority high: especifica que el script debe ponerse en cola en el más alto de los tres niveles de prioridad. • queue_priority last: especifica que el script debe ponerse en cola en el nivel de prioridad más bajo. Si se registra más de un script con el argumento "queue_priority_last" establecido, estos scripts se ejecutarán en el orden en que se publiquen los eventos. Observeel argumento del queue_priority especifica la prioridad de envío a cola, pero no la prioridad de ejecución, del script que es registrado. Si este argumento no se especifica, la prioridad de envío a cola predeterminada es normal. ingrese (Opcional) especifica para realizar el emparejamiento del evento cuando el usuario presiona tecla Enter (Intro). Cuando se utiliza este parámetro, la cadena de entrada no será ampliada antes de corresponder con. questionmark ¿(Opcional) especifica para realizar la coincidencia del evento cuando el usuario presiona? clave. Cuando se utiliza este parámetro, la cadena de entrada no será ampliada antes de corresponder con. lengueta (Opcional) especifica para realizar la coincidencia del evento cuando el usuario pulsa el tabulador. Cuando se utiliza este parámetro, la cadena de entrada no será ampliada antes de corresponder con. modo Los eventos (opcionales) serán generados solamente cuando el analizador de sintaxis está en el modo especificado del analizador de sintaxis. Los modos disponibles pueden ser mencionados usando show parser dump el comando CLI. Se marca el parámetro del modo cuando de los parámetros optativos — ingrese, questionmark, o lengueta — se especifica. maxrun (Opcional) El tiempo de ejecución máximo del script (especificado en el formato SSSSSSSSSS[,MMM], donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusive, y MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza el límite de tiempo de ejecución predeterminado de 20 segundos. agradable (Opcional) Configuración de la prioridad del tiempo de ejecución de la política. Cuando el argumento nice se establece en 1, la política se ejecuta con una prioridad de tiempo de ejecución menor que la prioridad predeterminada. El valor predeterminado es 0. Si se especifican las condiciones múltiples, el evento CLI será aumentado cuando se corresponden con todas las condiciones. Cadena de Resultado Ninguno Ajuste _cerrno No Observeesta directiva se ejecuta antes de que ejecuten al comando CLI. Por ejemplo, suponga que el policy_CLI está registrado para ejecutarse cuando copy se ingresa el comando. Cuando copy se ingresa el comando, el detector de evento CLI encuentra las Coincidencias de patrones y acciona esta directiva para ejecutarse. Cuando los extremos de la ejecución de la directiva, el detector de evento CLI determinan si copy el comando necesita ser ejecutado según “sincronice”, “salte” (fije en la directiva), y el estado de salida de la ejecución de la directiva si está necesitado. event_register_counter Registros para un evento contrario como un editor y suscriptor. Utilice esta extensión del comando Tcl para funcionar con una directiva en base de un contador Nombrado que cruza un umbral. Este contador de acontecimientos, como suscriptor, identifica el nombre del en dirección contraria cuál quiere inscribir y depende de otra directiva o de otro proceso para manipular realmente el contador. Por ejemplo, deje el policyB actuar como directiva contraria, mientras que las aplicaciones del policyA (aunque no necesita ser una directiva contraria) register_counter counter_modify, o unregister_counter las Extensiones del comando Tcl de manipular el contador definieron en el policyB. Sintaxis event_register_counter [tag ?] name ? entry_op gt|ge|eq|ne|lt|le entry_val ? exit_op gt|ge|eq|ne|lt|le exit_val ? [queue_priority low|normal|high|last] [maxrun ?] [nice 0|1] Argumentos etiqueta (Opcional) Cadena que identifica una etiqueta que se puede utilizar con la extensión de comando Tcl del desencadenado para soportar múltiples declaraciones de eventos dentro de un script Tcl. nombre Nombre (obligatorio) del contador. entry_op Operador de comparación (obligatorio) de la entrada usado para comparar el valor de contador actual con el valor de entrada; si es true, se generará un evento y se inhabilitará el monitoreo del evento hasta que se cumplan los criterios de salida. entry_val Valor (obligatorio) con el cual el valor de contador actual se debe comparar para decidir a si se aumenta el evento contrario. exit_op (Obligatorio) salga al operador de comparación usado para comparar el valor de contador actual con el valor de la salida; si es verdadero, se rehabilitará el monitoreo para este evento. exit_val Valor (obligatorio) con el cual el valor de contador actual se debe comparar para decidir a si se cumplen los criterios de la salida. queue_priority (Opcional) Nivel de prioridad en el que se podrá en cola el script: • queue_priority low: especifica que el script debe ponerse en cola en el más bajo de los tres niveles de prioridad. • queue_priority normal: especifica que el script debe ser puesto en cola en un nivel de prioridad mayor que la prioridad baja pero menos que la prioridad alta. • queue_priority high: especifica que el script debe ponerse en cola en el más alto de los tres niveles de prioridad. • queue_priority last: especifica que el script debe ponerse en cola en el nivel de prioridad más bajo. Si se registra más de un script con el argumento "queue_priority_last" establecido, estos scripts se ejecutarán en el orden en que se publiquen los eventos. Observeel argumento del queue_priority especifica la prioridad de envío a cola, pero no la prioridad de ejecución, del script que es registrado. Si este argumento no se especifica, la prioridad de envío a cola predeterminada es normal. maxrun (Opcional) El tiempo de ejecución máximo del script (especificado en el formato SSSSSSSSSS[,MMM], donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusive, y MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza el límite de tiempo de ejecución predeterminado de 20 segundos. agradable (Opcional) Configuración de la prioridad del tiempo de ejecución de la política. Cuando el argumento nice se establece en 1, la política se ejecuta con una prioridad de tiempo de ejecución menor que la prioridad predeterminada. El valor predeterminado es 0. Cadena de Resultado Ninguno Ajuste _cerrno No event_register_gold Registros para un evento de falla genérico del diagnóstico en línea (ORO). Utilice esta extensión del comando Tcl para funcionar con una directiva en base de un evento de falla genérico del diagnóstico en línea (ORO) para el indicador luminoso LED amarillo de la placa muestra gravedad menor especificado y el subcard. Sintaxis event_register_gold card all|card_number [subcard all|subcard_number] [new_failure TRUE|FALSE] [severity_major TRUE] [severity_minor TRUE] [severity_normal TRUE] [action_notify TRUE|FALSE] [testing_type [bootup|ondemand|schedule|monitoring]] [test_name [testname]] [test_id [testnumber]] [consecutive_failure consecutive_failure_number] [platform_action [action_flag]] [maxrun ?] [queue_priority low|normal|high|last] [nice 0|1] Argumentos indicador luminoso LED amarillo de la placa muestra gravedad menor (Obligatorio) especifica si todos los indicadores luminosos LED amarillo de la placa muestra gravedad menor o un indicador luminoso LED amarillo de la placa muestra gravedad menor debe ser monitoreados: • carde todos — Especifica que todos los indicadores luminosos LED amarillo de la placa muestra gravedad menor deben ser monitoreados. Este es el valor predeterminado. • número de placa — Especifica que el indicador luminoso LED amarillo de la placa muestra gravedad menor identificado por el número de placa del número debe ser monitoreado. Este argumento se debe especificar para completar event_register_gold la extensión del comando Tcl. subcard (Opcional) especifica que uno o más subcards deben ser monitoreados: • subcard todo — Especifica que todos los subcards deben ser monitoreados. • subcard-numberSpecifies— que el subcard identificado por el subcard-número del número debe ser monitoreado. Si este argumento no se especifica, todos los subcards se monitorean por abandono. new_failure (Opcional) especifica los criterios del evento basados en la nueva información de falla de prueba del ORO: • new_failure VERDAD — Especifica que el criterio del evento para la nueva falla de prueba es verdad del ORO. • new_failure FALSO — Especifica que el criterio del evento para la nueva falla de prueba es falso del ORO. Si este argumento no se especifica, la nueva información de falla de prueba del ORO no se considera en los criterios del evento. severity_major (Opcional) especifica que los criterios del evento para el resultado del diagnóstico hacen juego con el error principal de diagnóstico del ORO. severity_minor (Opcional) especifica que los criterios del evento para el resultado del diagnóstico hacen juego con el error leve de diagnóstico del ORO. severity_normal (Opcional) especifica que los criterios del evento para el resultado del diagnóstico hacen juego con normal de diagnóstico del ORO. Este es el valor predeterminado. action_notify (Opcional) especifica los criterios del evento basados en la acción notifican la información del ORO: • action_notify VERDAD — Especifica que el criterio del evento para la acción notifica es verdad del ORO. • action_notify FALSO — Especifica que el criterio del evento para la acción notifica es falso del ORO. Si este argumento no se especifica, la acción notifica la información del ORO no se considera en los criterios del evento. testing_type (Opcional) especifica los criterios del evento basados en los tipos de la prueba del diagnóstico del ORO: • bootup del testing_type — Especifica las pruebas de diagnóstico que se están ejecutando en el bootup del sistema. • ondemand del testing_type — Especifica las pruebas de diagnóstico que se están ejecutando del CLI después de que el indicador luminoso LED amarillo de la placa muestra gravedad menor esté en línea. • horario del testing_type — Especifica las pruebas de diagnóstico programadas. • supervisión del testing_type — Especifica las pruebas de diagnóstico que se están ejecutando periódicamente en el fondo para monitorear la salud del sistema. Si este argumento no se especifica, la información de tipo de la prueba del ORO no se considera en los criterios del evento y la directiva aplica a toda la prueba los tipos de diagnóstico. test_name (Opcional) especifica los criterios del evento basados en el nombre de la prueba: • prueba-nombre del test_name — Especifica los criterios del evento basados en la prueba con el prueba-nombre del nombre. Si este argumento no se especifica, la información de nombre de la prueba del ORO no se considera en los criterios del evento. test_id (Opcional) especifica los criterios del evento basados en la prueba ID: • prueba-idSpecifies del test_id— los criterios del evento basados en la prueba con la prueba-identificación del número de ID. El valor máximo de la prueba-identificación es 65535. Observeporque la prueba ID puede ser diferente para la misma prueba en las placas de línea diferentes, la palabra clave del test_name se debe utilizar generalmente en lugar de otro. Si la prueba ID se especifica y está en conflicto con el nombre especificado de la prueba, el nombre de la prueba sobregraba la identificación de la prueba Si este argumento no se especifica, la información ID de la prueba del ORO no se considera en los criterios del evento. consecutive_failure (Opcional) especifica los criterios del evento basados en la información de falla de prueba consecutiva del ORO: • consecutivo-error-número del consecutive_failure — Especifica que el criterio del evento está basado en el acontecimiento de las fallas de prueba consecutivas del consecutivo-error-número. Si este argumento no se especifica, la información de falla de prueba consecutiva del ORO no se considera en los criterios del evento. platform_action (Opcional) especifica si el servicio repetido a la plataforma es necesario cuando se corresponden con todos los criterios del evento. Cuando el servicio repetido es necesario, la plataforma necesita registrar una función de devolución de llamada con el registro proporcionado. • acción-indicador-numberSpecifies del platform_action— que, cuando el servicio repetido a la plataforma es necesario, la información específica es especificada por el valor específico de la plataforma del acción-indicador-número. El valor máximo del acciónindicador-número es 65535. Notaestá hasta la plataforma para determinar qué medidas necesitan ser tomadas basadas en el indicador. Si este argumento no se especifica, no hay servicio repetido. maxrun (Opcional) especifica la época máxima del runt del script. • MAX-funcionamiento-tiempo-número del maxrun — Especifica que el tiempo de ejecución máximo del script es segundos del MAXfuncionamiento-tiempo-número. El valor máximo del MAXfuncionamiento-tiempo-número es 4294967295 segundos. Si este argumento no se especifica, el tiempo de ejecución predeterminado es 20 segundos. queue_priority (Opcional) Nivel de prioridad en el que se podrá en cola el script: • queue_priority low: especifica que el script debe ponerse en cola en el más bajo de los tres niveles de prioridad. • queue_priority normal: especifica que el script debe ser puesto en cola en un nivel de prioridad mayor que la prioridad baja pero menos que la prioridad alta. • queue_priority high: especifica que el script debe ponerse en cola en el más alto de los tres niveles de prioridad. • queue_priority last: especifica que el script debe ponerse en cola en el nivel de prioridad más bajo. Si se registra más de un script con el argumento "queue_priority_last" establecido, estos scripts se ejecutarán en el orden en que se publiquen los eventos. Observeel argumento del queue_priority especifica la prioridad de envío a cola, pero no la prioridad de ejecución, del script que es registrado. Si este argumento no se especifica, la prioridad de envío a cola predeterminada es normal. agradable Configuración de prioridad (opcional) del tiempo de ejecución de la directiva: • 0 agradable — Especifica que la directiva está funcionada con en el nivel de prioridad predeterminado del tiempo de ejecución. • 1 agradable — Especifica que la directiva está funcionada con en una prioridad del tiempo de ejecución que sea menos que la prioridad predeterminada. Si este argumento no se especifica, se utiliza la prioridad predeterminada del tiempo de ejecución. Cadena de Resultado Ninguno Ajuste _cerrno No event_register_interface Registros para un evento del contador de la interfaz. Utilice esta extensión del comando Tcl para generar un evento cuando los contadores de la interfaz especificada exceden los umbrales especificados. Sintaxis event_register_interface [tag ?] name ? parameter ? entry_op gt|ge|eq|ne|lt|le entry_val ? entry_val_is_increment TRUE|FALSE entry_type value|increment|rate [exit_comb or|and] [exit_op gt|ge|eq|ne|lt|le] [exit_val ?] [exit_val_is_increment TRUE|FALSE] [exit_type value|increment|rate] [exit_time ?] [poll_interval ?] [average_factor ?] [queue_priority low|normal|high|last] [maxrun ?] [nice 0|1] Argumentos etiqueta (Opcional) Cadena que identifica una etiqueta que se puede utilizar con la extensión de comando Tcl del desencadenado para soportar múltiples declaraciones de eventos dentro de un script Tcl. nombre (Obligatorio) el nombre de la interfaz que es monitoreada, por ejemplo, Ethernet0/0. Las abreviaturas y los espacios no se permiten. parámetro (Obligatorio) el nombre del contador que es comparado como sigue: • input_errors — Incluye los runts, los gigantes, ningún buffer, el CRC, la trama, el overrun, y los conteos ignorados. Otros errores relacionados a la entrada pueden también hacer la cuenta de errores de entrada ser aumentado, y algunos datagramas pueden tener más de un error; por lo tanto, esta suma puede no equilibrar con la suma de cuentas de error de entrada enumeradas. • input_errors_crc — El Cyclic Redundancy Checksum generado por la estación o el dispositivo en el extremo LAN que origina no hace juego la suma de comprobación calculada de los datos recibidos. • input_errors_frame — El número de paquetes recibió incorrectamente tener error crc y un número no entero de octetos. • input_errors_overrun — La cantidad de veces el hardware de recepción no podía dar los datos recibidos a un búfer de hardware porque la velocidad de entrada excedió la capacidad del receptor de manejar los datos. • input_packets_dropped — Número de paquetes caídos debido a una cola de entrada completa. • interface_resets — Cantidad de veces que una interfaz se ha reajustado totalmente. • output_buffer_failures — Número de buffers fallados y de cantidad de búfers intercambiados hacia fuera. • output_buffer_swappedout — Número de paquetes intercambiados al DRAM. parámetro (continuo) • output_errors — Suma de todos los errores que previnieron la transmisión final de la interfaz de los de los datagramas que era examinada. Observe que esto puede no equilibrar con la suma de los errores de salida enumerados, porque algunos datagramas pueden tener más de un error, y otros pueden tener errores que no entren en las categorías específicamente tabuladas unas de los. • output_errors_underrun — La cantidad de veces que el transmisor se ha estado ejecutando más rápidamente que el router puede dirigir. • output_packets_dropped — Número de paquetes caídos debido a una salida de cola completa. • receive_broadcasts — Número de broadcast o de paquetes de multidifusión recibidos por la interfaz. • receive_giants — Número de paquetes se desechan que porque exceden los tamaños máximos de paquete del media. • receive_rate_bps — La interfaz recibe la tarifa en los bytes por segundo. • receive_rate_pps — La interfaz recibe la tarifa en los paquetes por segundo. • receive_runts — Número de paquetes se desechan que porque son más pequeños que los tamaños mínimos de paquete del media. • receive_throttle — Cantidad de veces que el receptor en el puerto fue inhabilitado, posiblemente debido al buffer o la sobrecarga del procesador. • confiabilidad — Confiabilidad de la interfaz como una parte de 255 (255/255 es el 100 por ciento de confiabilidad), calculada como promedio exponencial durante 5 minutos. • rxload — Reciba el índice de la interfaz como una parte de 255 (255/255 es el 100 por ciento). • transmit_rate_bps — La interfaz transmite la tarifa en los bytes por segundo. • transmit_rate_pps — La interfaz transmite la tarifa en los paquetes por segundo. • txload — Transmita el índice de la interfaz como una parte de 255 (255/255 es el 100 por ciento). entry_op (Obligatorio) el operador de comparación usado para comparar el valor actual de la interfaz con el valor de entrada; si es true, se generará un evento y se inhabilitará el monitoreo del evento hasta que se cumplan los criterios de salida. entry_val (Obligatorio) el valor en el cual el evento será accionado. entry_val_is_increment (Obligatorio) si es VERDAD, el campo entry_val se trata como diferencia ampliada y se compara con la diferencia entre el valor de contador actual y el valor cuando el evento era el verdad más reciente (la primera muestra sondeada si esto es un nuevo evento). Un valor negativo verifica la diferencia incremental para un contador que está disminuyendo. Si es FALSO, el campo entry_val se compara contra el valor de contador actual. Observeen el Cisco IOS Release 12.4(20)T, se desaprueba esta palabra clave, y si está especificado, el sintaxis se convierte en el sintaxis equivalente de la palabra clave del tipo de entrada. tipo de entrada Especifica un tipo de operación que se aplicará al ID de objeto especificado por el argumento entry-val. El valor se define como el valor real del argumento entry-val. El incremento utiliza el campo entry-val como una diferencia incremental, y entry-val se compara con la diferencia entre el valor del contador actual y el valor cuando se desencadenó por última vez el evento (o la primera muestra consultada si se trata de un nuevo evento). Un valor negativo verifica la diferencia incremental para un contador que está disminuyendo. La velocidad se define como la tasa media de cambio durante un período de tiempo. El período de tiempo es el valor de factor-promedio multiplicado por el valor de intervalo-sondeo. En cada intervalo de sondeo la diferencia entre la muestra actual y la muestra anterior se toma y se registra como valor absoluto. Una media de las muestras anteriores del valor del factor medio se toma como velocidad de cambio. exit_comb (Opcional) utilizado para indicar la combinación de pruebas de la condición de la salida requeridas para rearmar el activador del evento; si y especifican al operador, salga el valor y las pruebas del tiempo de la salida deben ser verdades causar rearman; si o especifican al operador, o salga el valor o las pruebas del tiempo de la salida pueden ser verdades hacer el monitoreo de evento ser rearmado. exit_op (Opcional) el operador de comparación usado para comparar el valor actual de la interfaz con el valor de la salida; si es verdadero, se rehabilitará el monitoreo para este evento. exit_val (Opcional) El valor en el cual el evento se rearma para ser monitoreado otra vez. exit_val_is_increment (Opcional) si es VERDAD, el campo exit_val se trata como diferencia ampliada y se compara con la diferencia entre el valor de contador actual y el valor cuando el evento era el más reciente verdad. Un valor negativo verifica la diferencia incremental para un contador que está disminuyendo. Si es FALSO, el campo exit_val se compara contra el valor de contador actual. Observeen el Cisco IOS Release 12.4(20)T, se desaprueba esta palabra clave, y si está especificado, el sintaxis se convierte en el sintaxis equivalente de la palabra clave del salida-tipo. salida-tipo (Opcional) Especifica un tipo de operación que se aplicará al ID de objeto especificado por el argumento exit-val. Si no se especifica, se supone el valor. El valor se define como el valor real del argumento exit-val. El incremento utiliza el campo exit-val como una diferencia incremental, y exit-val se compara con la diferencia entre el valor del contador actual y el valor cuando se desencadenó por última vez el evento (o la primera muestra consultada si se trata de un nuevo evento). Un valor negativo verifica la diferencia incremental para un contador que está disminuyendo. La velocidad se define como la tasa media de cambio durante un período de tiempo. El período de tiempo es el valor de factor-promedio multiplicado por el valor de intervalo-sondeo. En cada intervalo de sondeo la diferencia entre la muestra actual y la muestra anterior se toma y se registra como valor absoluto. Una media de las muestras anteriores del valor del factor medio se toma como velocidad de cambio. exit_time (Opcional) el período de tiempo en el cual el evento se rearma para ser monitoreado otra vez (especificado en el formato del [.MMM] SSSSSSSSSS, donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusivo, y donde el MMM debe ser un número entero que representa los milisegundos entre 0 y 999). poll_interval (Opcional) la frecuencia usada para recoger las muestras (especificadas en el formato del [.MMM] SSSSSSSSSS, donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 60 y 4294967295, inclusivo, y donde el MMM debe ser un número entero que representa los milisegundos entre 0 y 999). El valor del intervalo de encuesta no debe ser menos de 1 segundo. El valor por defecto es 1 segundo. medio-factor (Opcional) Número dentro del rango de 1 a 64 utilizado para calcular el período usado para los cálculos basados en velocidad. El valor de factorpromedio se multiplica por el valor intervalo-sondeo para derivar el período en milisegundos. El valor del factor de promedio mínimo es 1. queue_priority (Opcional) Nivel de prioridad en el que se podrá en cola el script: • queue_priority low: especifica que el script debe ponerse en cola en el más bajo de los tres niveles de prioridad. • queue_priority normal: especifica que el script debe ser puesto en cola en un nivel de prioridad mayor que la prioridad baja pero menos que la prioridad alta. • queue_priority high: especifica que el script debe ponerse en cola en el más alto de los tres niveles de prioridad. • queue_priority last: especifica que el script debe ponerse en cola en el nivel de prioridad más bajo. Si se registra más de un script con el argumento "queue_priority_last" establecido, estos scripts se ejecutarán en el orden en que se publiquen los eventos. Observeel argumento del queue_priority especifica la prioridad de envío a cola, pero no la prioridad de ejecución, del script que es registrado. Si este argumento no se especifica, la prioridad de envío a cola predeterminada es normal. maxrun (Opcional) El tiempo de ejecución máximo del script (especificado en el formato SSSSSSSSSS[,MMM], donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusive, y MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza el límite de tiempo de ejecución predeterminado de 20 segundos. agradable (Opcional) Configuración de la prioridad del tiempo de ejecución de la política. Cuando el argumento nice se establece en 1, la política se ejecuta con una prioridad de tiempo de ejecución menor que la prioridad predeterminada. El valor predeterminado es 0. Cadena de Resultado Ninguno Ajuste _cerrno No event_register_ioswdsysmon Registros para un evento de IOSWDSysMon. Utilice esta extensión del comando Tcl para generar un evento cuando una tarea del Cisco IOS excede los umbrales específicos de la utilización de la CPU o de la memoria. Una tarea del Cisco IOS se llama un proceso del Cisco IOS en el Cisco IOS nativo. Sintaxis event_register_ioswdsysmon [tag ?] [timewin ?] [sub12op and|or] [sub1 ?] [sub2 ?] [queue_priority low|normal|high|last] [maxrun ?] [nice 0|1] Argumentos etiqueta (Opcional) Cadena que identifica una etiqueta que se puede utilizar con la extensión de comando Tcl del desencadenado para soportar múltiples declaraciones de eventos dentro de un script Tcl. timewin (Opcional) define la ventana de fecha y hora dentro de la cual todos los subevents deben ocurrir para que un evento sea generado (especificado en el formato del [.MMM] SSSSSSSSSS, donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusivo, y donde el MMM debe ser un número entero que representa los milisegundos entre 0 y 999). sub12_op (Opcional) el operador de la combinación para la comparación entre 1 subevent y 2. subevent. sub1 (Opcional) la 1 especificación subevent. sub2 (Opcional) la especificación subevent 2. queue_priority (Opcional) Nivel de prioridad en el que se podrá en cola el script: • queue_priority low: especifica que el script debe ponerse en cola en el más bajo de los tres niveles de prioridad. • queue_priority normal: especifica que el script debe ser puesto en cola en un nivel de prioridad mayor que la prioridad baja pero menos que la prioridad alta. • queue_priority high: especifica que el script debe ponerse en cola en el más alto de los tres niveles de prioridad. • queue_priority last: especifica que el script debe ponerse en cola en el nivel de prioridad más bajo. Si se registra más de un script con el argumento "queue_priority_last" establecido, estos scripts se ejecutarán en el orden en que se publiquen los eventos. Observeel argumento del queue_priority especifica la prioridad de envío a cola, pero no la prioridad de ejecución, del script que es registrado. Si este argumento no se especifica, la prioridad de envío a cola predeterminada es normal. maxrun (Opcional) El tiempo de ejecución máximo del script (especificado en el formato SSSSSSSSSS[,MMM], donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusive, y MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza el límite de tiempo de ejecución predeterminado de 20 segundos. agradable (Opcional) Configuración de la prioridad del tiempo de ejecución de la política. Cuando el argumento nice se establece en 1, la política se ejecuta con una prioridad de tiempo de ejecución menor que la prioridad predeterminada. El valor predeterminado es 0. Sintaxis de subevento cpu_proc path ? taskname ? op gt|ge|eq|ne|lt|le val ? [period ?] mem_proc path ? taskname ? op gt|ge|eq|ne|lt|le val ? [is_percent TRUE|FALSE] [period ?] Argumentos de Subevent cpu_proc (Obligatorio) especifica el uso de una colección de la muestra de estadísticas de la CPU. trayectoria Imágenes (obligatorias) de la modularidad del software solamente. La cadena de caracteres del proceso POSIX que contiene el planificador de trabajos del Cisco IOS que se monitoreará. Por ejemplo, /sbin/cdp2.iosproc. taskname (Obligatorio) el nombre de la tarea del Cisco IOS de ser monitoreado. op (Obligatorio) el operador de comparación usado para comparar la muestra recogida del uso con el valor especificado; si es verdadero, se accionará un evento. val (Obligatorio) el valor que se comparará. período (Opcional) El período de tiempo que se dedicará a un promedio de las muestras de recolección (especificado en formato SSSSSSSSSS[.MMM], donde SSSSSSSSSS debe ser un número entero que represente los segundos entre 0 y 4294967295, ambos inclusive, y MMM debe ser un número entero que represente los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza la muestra más reciente. mem_proc (Obligatorio) especifica el uso de una colección de la muestra de estadísticas de la memoria. is_percent (Opcional) si el valor especificado es un porcentaje. Cadena de Resultado Ninguno Ajuste _cerrno No event_register_ipsla Se registra para un evento que sea accionado por event ipsla el comando. Utilice este comando Tcl de publicar un evento cuando se acciona una reacción IPSLA. El ID de grupo o la operación ID se requiere para registrar el evento. Sintaxis event_register_ipsla [tag ?] group_name ? operation_id ? [reaction_type ?] [dest_ip_addr ?][queue_priority low|normal|high|last] [maxrun ?] [nice 0|1] Argumentos etiqueta (Opcional) Cadena que identifica una etiqueta que se puede utilizar con la extensión de comando Tcl del desencadenado para soportar múltiples declaraciones de eventos dentro de un script Tcl. group_name (Obligatorio) especifica el nombre del grupo IP SLA. operation_id (Obligatorio) especifica el número identificación de la operación IP SLA debe estar en el rango a partir de la 1 a 2147483647. reaction_type (Opcional) especifica la reacción que se tomará para la operación especificada IP SLA. Tipo de reacción IP SLA — Una de las palabras claves siguientes puede ser especificado: connectionLoss icpif jitterAvg jitterDSAvg jitterSDAvg maxOfNegativeDS maxOfNegativeSD maxOfPositiveDS maxOfPositiveSD mos packetLateArrival packetLossDS packetLossSD packetMIA packetOutOfSequence rtt, timeout o verifyError puede ser especificado. Tipo de reacción IP SLA. Una de las palabras claves siguientes puede ser especificado: • connectionLoss • icpif • jitterAvg • jitterDSAvg • jitterSDAvg • maxOfNegativeDS • maxOfNegativeSD • maxOfPositiveDS • maxOfPositiveSD • MOS • packetLateArrival • packetLossDS • packetLossSD • packetMIA • packetOutOfSequence • RTT • descanso • verifyError dest_ip_address (Opcional) especifica el IP Address de destino del puerto destino para el cual se monitorean los eventos IP SLA. queue_priority (Opcional) Nivel de prioridad en el que se podrá en cola el script: • queue_priority low: especifica que el script debe ponerse en cola en el más bajo de los tres niveles de prioridad. • queue_priority normal: especifica que el script debe ser puesto en cola en un nivel de prioridad mayor que la prioridad baja pero menos que la prioridad alta. • queue_priority high: especifica que el script debe ponerse en cola en el más alto de los tres niveles de prioridad. • queue_priority last: especifica que el script debe ponerse en cola en el nivel de prioridad más bajo. Si se registra más de un script con el argumento "queue_priority_last" establecido, estos scripts se ejecutarán en el orden en que se publiquen los eventos. Observeel argumento del queue_priority especifica la prioridad de envío a cola, pero no la prioridad de ejecución, del script que es registrado. Si este argumento no se especifica, la prioridad de envío a cola predeterminada es normal. maxrun (Opcional) El tiempo de ejecución máximo del script (especificado en el formato SSSSSSSSSS[,MMM], donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 31536000, inclusive, y MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza el límite de tiempo de ejecución predeterminado de 20 segundos. agradable (Opcional) Configuración de la prioridad del tiempo de ejecución de la política. Cuando el argumento nice se establece en 1, la política se ejecuta con una prioridad de tiempo de ejecución menor que la prioridad predeterminada. El valor predeterminado es 0. Cadena de Resultado Ninguno Ajuste _cerrno No event_register_nf Se registra para un evento cuando un evento del Netflow es accionado por event nf el comando. Utilice este comando Tcl de publicar un evento cuando se acciona una reacción del Netflow. Sintaxis event_register_nf [tag ?] monitor_name ? event_type create|update|delete exit_event_type create|update|delete event1-event4 ? [maxrun ?] [nice 0|1] Argumentos etiqueta (Opcional) Cadena que identifica una etiqueta que se puede utilizar con la extensión de comando Tcl del desencadenado para soportar múltiples declaraciones de eventos dentro de un script Tcl. monitor_name (Obligatorio) el nombre del monitor del Netflow. event_type (Obligatorio) el tipo de evento a monitorear para el crear, la actualización, y el flujo de la cancelación. exit_event_type (Obligatorio) el tipo de evento (cree, borre, actualización) en quien el evento se rearma para ser monitoreado otra vez. event1- event4 (Obligatorio) especifica el evento y sus atributos para monitorear. Los valores válidos son event1 event2 event3, y event4. Las palabras claves subevent se pueden utilizar solamente, juntas, o en cualquier combinación con uno a, pero cada palabra clave se puede utilizar solamente una vez. maxrun (Opcional) El tiempo de ejecución máximo del script (especificado en el formato SSSSSSSSSS[,MMM], donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusive, y MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza el límite de tiempo de ejecución predeterminado de 20 segundos. agradable (Opcional) Configuración de la prioridad del tiempo de ejecución de la política. Cuando el argumento nice se establece en 1, la política se ejecuta con una prioridad de tiempo de ejecución menor que la prioridad predeterminada. El valor predeterminado es 0. Sintaxis de subevento field ? rate_interval ? event1 only entry_value ? entry_op eq|ge|gt|le|lt|wc [exit_value ?] [exit_op eq|ge|gt|le|lt|wc] [exit_rate_interval ? event1 only] Argumentos de Subevent campo (Obligatorio) especifica el atributo del caché o de campo que se monitoreará. Uno de los atributos siguientes puede ser especificado: • counter {bytes | packets} — Especifica los campos contrarios. • datalink {dot1q | mac} — Especifica los campos de la transmisión de datos (layer2). • flow {direction | sampler} — Especifica el flujo que identifica los campos. • interface {input | output} — Especifica los campos de la interfaz. • ipv4 field-type—Especifica los campos del IPv4. • ipv6 field-type—Campos del IPv6 • routing routing-attrribute — Especifica los atributos de la encaminamiento. • timestamp sysuptime {first | last}— Especifica los campos del grupo fecha/hora. • transport field-type—Especifica los campos de la capa de transporte. rate_interval (Obligatorio) especifica el valor del intervalo de la tarifa en los segundos usados para calcular la tarifa. Este campo solo es válido para event1. entry_value (Obligatorio) especifica el campo o el valor de velocidad. entry_op (Obligatorio) especifica al operador del campo. Los valores válidos del operador de comparación son: • eq - Igual a • ge - Mayor o igual que • gt - Mayor que • le - Menor o igual que • lt - Menor que • wc : Comodín exit_value (Opcional) El valor en el cual el evento se rearma para ser monitoreado otra vez. exit_op (Opcional) el operador de comparación usado para comparar el campo o el valor de velocidad del evento actual con el valor de la salida; si es verdad, vuelven a permitir al monitoreo de evento para este evento. Los valores válidos del operador de comparación son: • eq - Igual a • ge - Mayor o igual que • gt - Mayor que • le - Menor o igual que • lt - Menor que • wc : Comodín exit_rate_interval (Opcional) especifica el valor del intervalo de la tarifa de la salida en los segundos usados para calcular el valor de velocidad de la salida. Este campo solo es válido para event1. Cadena de Resultado Ninguno Ajuste _cerrno No event_register_none Se registra para un evento que sea accionado por event manager run el comando. Estos eventos son manejados por el ningunos detector de evento ese las pantallas para este evento. Sintaxis event_register_none [tag ?] [queue_priority low|normal|high|last] [maxrun ?] [nice 0|1] Argumentos etiqueta (Opcional) Cadena que identifica una etiqueta que se puede utilizar con la extensión de comando Tcl del desencadenado para soportar múltiples declaraciones de eventos dentro de un script Tcl. queue_priority (Opcional) Nivel de prioridad en el que se podrá en cola el script: • queue_priority low: especifica que el script debe ponerse en cola en el más bajo de los tres niveles de prioridad. • queue_priority normal: especifica que el script debe ser puesto en cola en un nivel de prioridad mayor que la prioridad baja pero menos que la prioridad alta. • queue_priority high: especifica que el script debe ponerse en cola en el más alto de los tres niveles de prioridad. • queue_priority last: especifica que el script debe ponerse en cola en el nivel de prioridad más bajo. Si se registra más de un script con el argumento "queue_priority_last" establecido, estos scripts se ejecutarán en el orden en que se publiquen los eventos. Observeel argumento del queue_priority especifica la prioridad de envío a cola, pero no la prioridad de ejecución, del script que es registrado. Si este argumento no se especifica, la prioridad de envío a cola predeterminada es normal. maxrun (Opcional) El tiempo de ejecución máximo del script (especificado en el formato SSSSSSSSSS[,MMM], donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusive, y MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza el límite de tiempo de ejecución predeterminado de 20 segundos. agradable (Opcional) Configuración de la prioridad del tiempo de ejecución de la política. Cuando el argumento nice se establece en 1, la política se ejecuta con una prioridad de tiempo de ejecución menor que la prioridad predeterminada. El valor predeterminado es 0. Cadena de Resultado Ninguno Ajuste _cerrno No event_register_oir Registros para un evento del Insertar/Remover en Línea (OIR). Utilice esta extensión del comando Tcl para funcionar con una directiva en base de un evento aumentado cuando ocurre una placa de hardware OIR. Estos eventos son manejados por el detector del evento OIR ese las pantallas para este evento. Sintaxis event_register_oir [tag ?] [queue_priority low|normal|high|last] [maxrun ?] [nice 0|1] Argumentos etiqueta (Opcional) Cadena que identifica una etiqueta que se puede utilizar con la extensión de comando Tcl del desencadenado para soportar múltiples declaraciones de eventos dentro de un script Tcl. queue_priority (Opcional) Nivel de prioridad en el que se podrá en cola el script: • queue_priority low: especifica que el script debe ponerse en cola en el más bajo de los tres niveles de prioridad. • queue_priority normal: especifica que el script debe ser puesto en cola en un nivel de prioridad mayor que la prioridad baja pero menos que la prioridad alta. • queue_priority high: especifica que el script debe ponerse en cola en el más alto de los tres niveles de prioridad. • queue_priority last: especifica que el script debe ponerse en cola en el nivel de prioridad más bajo. Si se registra más de un script con el argumento "queue_priority_last" establecido, estos scripts se ejecutarán en el orden en que se publiquen los eventos. Observeel argumento del queue_priority especifica la prioridad de envío a cola, pero no la prioridad de ejecución, del script que es registrado. Si este argumento no se especifica, la prioridad de envío a cola predeterminada es normal. maxrun (Opcional) El tiempo de ejecución máximo del script (especificado en el formato SSSSSSSSSS[,MMM], donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusive, y MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza el límite de tiempo de ejecución predeterminado de 20 segundos. agradable (Opcional) Configuración de la prioridad del tiempo de ejecución de la política. Cuando el argumento nice se establece en 1, la política se ejecuta con una prioridad de tiempo de ejecución menor que la prioridad predeterminada. El valor predeterminado es 0. Cadena de Resultado Ninguno Ajuste _cerrno No event_register_process Registros para un procesar evento. Utilice esta extensión del comando Tcl para funcionar con una directiva en base de un evento aumentado cuando un proceso de la modularidad del Cisco IOS Software comienza o para. Estos eventos son manejados por el detector de evento del administrador del sistema ese las pantallas para este evento. Esta extensión del comando Tcl se soporta solamente en las imágenes de Software Modularity. Sintaxis event_register_process [tag ?] abort|term|start|user_restart|user_shutdown [sub_system ?] [version ?] [instance ?] [path ?] [node ?] [queue_priority low|normal|high|last] [maxrun ?] [nice 0|1] Argumentos etiqueta (Opcional) Cadena que identifica una etiqueta que se puede utilizar con la extensión de comando Tcl del desencadenado para soportar múltiples declaraciones de eventos dentro de un script Tcl. abort Terminación (obligatoria) del proceso anormal. El proceso puede abortar debido a la salida con un estado de salida no-cero, la recepción de una señal corazóngenerada, o la recepción de una señal SIGTERM o SIGKILL que no se envíe debido a la petición del usuario. término Terminación de procesos normal (obligatoria). comience Comienzo (obligatorio) del proceso. user_restart Terminación de procesos (obligatoria) debido al pedido de reinicio de proceso del comando CLI. user_shutdown Terminación de procesos (obligatoria) debido a la petición de proceso de la matanza del comando CLI. sub_system Número (opcional) asignado a la directiva EEM que publicó el procesar evento. El número se establece en 798 porque todos los demás números están reservados para el uso de Cisco. versión Número de la versión (opcional) del proceso asignado por el administrador de la versión. Debe estar de la forma major_number.minor_number.level. Si está especificado, cada componente del número de la versión debe ser un número entero entre 1 y 4294967295, inclusivo. caso (Opcional) ID de instancia de proceso. Si está especificado, este argumento debe ser un número entero entre 1 y 4294967295, inclusivo. trayectoria Cadena de caracteres (opcional) del proceso (una cadena de la expresión normal). Si el valor del argumento del nombre del proceso contiene los espacios intercalados, inclúyalo en las comillas dobles. Utilice la trayectoria “. *” hacer juego todos los procesos. nodo (Opcional) el Nombre del nodo es una cadena que consiste en la palabra “nodo” seguido por dos campos separados por un carácter de la raya vertical usando el formato siguiente: node<slot-number>/<cpu-number> slot-number es el número de slot del hardware. cpu-number es el número de CPU de hardware. Por ejemplo, el CPU de SP en una tarjeta de Supervisor de un Cisco Catalyst 6500 Series Switch situado en el slot 0 se especificaría como node0/0. El RP CPU en una placa supervisor en un Cisco Catalyst 6500 Series Switch situado en el slot0 sería dirigido como node0/1. Si el argumento del nodo no se especifica, la especificación predeterminada del nodo es siempre la coincidencia del patrón de expresión normal * de representar todos los Nodos aplicables. queue_priority (Opcional) Nivel de prioridad en el que se podrá en cola el script: • queue_priority low: especifica que el script debe ponerse en cola en el más bajo de los tres niveles de prioridad. • queue_priority normal: especifica que el script debe ser puesto en cola en un nivel de prioridad mayor que la prioridad baja pero menos que la prioridad alta. • queue_priority high: especifica que el script debe ponerse en cola en el más alto de los tres niveles de prioridad. • queue_priority last: especifica que el script debe ponerse en cola en el nivel de prioridad más bajo. Si se registra más de un script con el argumento "queue_priority_last" establecido, estos scripts se ejecutarán en el orden en que se publiquen los eventos. Observeel argumento del queue_priority especifica la prioridad de envío a cola, pero no la prioridad de ejecución, del script que es registrado. Si este argumento no se especifica, la prioridad de envío a cola predeterminada es normal. maxrun (Opcional) El tiempo de ejecución máximo del script (especificado en el formato SSSSSSSSSS[,MMM], donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusive, y MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza el límite de tiempo de ejecución predeterminado de 20 segundos. agradable (Opcional) Configuración de la prioridad del tiempo de ejecución de la política. Cuando el argumento nice se establece en 1, la política se ejecuta con una prioridad de tiempo de ejecución menor que la prioridad predeterminada. El valor predeterminado es 0. Si no se especifica un argumento opcional, el evento busca coincidencias con todos los valores posibles del argumento. Si se especifican los argumentos múltiples, el procesar evento será aumentado cuando se corresponden con todas las condiciones. Cadena de Resultado Ninguno Ajuste _cerrno No event_register_resource Registros para un evento del administrador de recurso incrustado (ERM). Utilice esta extensión del comando Tcl para funcionar con una directiva en base de un informe del evento ERM para una directiva especificada. Los eventos ERM son defendidos por el detector de evento del recurso EEM, permitiendo que una directiva EEM sea funcionada con cuando una coincidencia ocurre para la directiva especificada ERM. Sintaxis event_register_resource policy policy-name [queue_priority low|normal|high|last] [maxrun ?] [nice 0|1] Argumentos directiva (Obligatorio) especifica el uso de una directiva. directivanombre Nombre (obligatorio) de una directiva ERM. queue_priority (Opcional) Nivel de prioridad en el que se podrá en cola el script: • queue_priority low: especifica que el script debe ponerse en cola en el más bajo de los tres niveles de prioridad. • queue_priority normal: especifica que el script debe ser puesto en cola en un nivel de prioridad mayor que la prioridad baja pero menos que la prioridad alta. • queue_priority high: especifica que el script debe ponerse en cola en el más alto de los tres niveles de prioridad. • queue_priority last: especifica que el script debe ponerse en cola en el nivel de prioridad más bajo. Si se registra más de un script con el argumento "queue_priority_last" establecido, estos scripts se ejecutarán en el orden en que se publiquen los eventos. Observeel argumento del queue_priority especifica la prioridad de envío a cola, pero no la prioridad de ejecución, del script que es registrado. Si este argumento no se especifica, la prioridad de envío a cola predeterminada es normal. maxrun (Opcional) El tiempo de ejecución máximo del script (especificado en el formato SSSSSSSSSS[,MMM], donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusive, y MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza el límite de tiempo de ejecución predeterminado de 20 segundos. agradable (Opcional) Configuración de la prioridad del tiempo de ejecución de la política. Cuando el argumento nice se establece en 1, la política se ejecuta con una prioridad de tiempo de ejecución menor que la prioridad predeterminada. El valor predeterminado es 0. Cadena de Resultado Ninguno Ajuste _cerrno No event_register_rf Registros para un evento del recurso de la Redundancia (RF). Utilice esta extensión del comando Tcl para funcionar con una directiva cuando ocurre una notificación de evento de la progresión o del estatus RF. Sintaxis event_register_rf [tag ?] event ? [queue_priority low|normal|high|last] [maxrun ?] [nice 0|1] Argumentos etiqueta (Opcional) Cadena que identifica una etiqueta que se puede utilizar con la extensión de comando Tcl del desencadenado para soportar múltiples declaraciones de eventos dentro de un script Tcl. evento Nombre (obligatorio) del evento de la progresión o del estatus RF. Los valores válidos son: • RF_PROG_ACTIVE • RF_PROG_ACTIVE_DRAIN • RF_PROG_ACTIVE_FAST = 200 • RF_PROG_ACTIVE_PRECONFIG • RF_PROG_ACTIVE_POSTCONFIG • RF_PROG_EXTRALOAD • RF_PROG_HANDBACK • RF_PROG_INITIALIZATION • RF_PROG_PLATFORM_SYNC • RF_PROG_STANDBY_BULK • RF_PROG_STANDBY_COLD • RF_PROG_STANDBY_CONFIG • RF_PROG_STANDBY_FILESYS • RF_PROG_STANDBY_HOT • RF_PROG_STANDBY_OIR_SYNC_DONE • RF_REGISTRATION_STATUS • RF_STATUS_MAINTENANCE_ENABLE • RF_STATUS_MANUAL_SWACT • RF_STATUS_OPER_REDUNDANCY_MODE_CHANGE • RF_STATUS_PEER_COMM • RF_STATUS_PEER_PRESENCE • RF_STATUS_REDUNDANCY_MODE_CHANGE • RF_STATUS_SWACT_INHIBIT queue_priority (Opcional) Nivel de prioridad en el que se podrá en cola el script: • queue_priority low: especifica que el script debe ponerse en cola en el más bajo de los tres niveles de prioridad. • queue_priority normal: especifica que el script debe ser puesto en cola en un nivel de prioridad mayor que la prioridad baja pero menos que la prioridad alta. • queue_priority high: especifica que el script debe ponerse en cola en el más alto de los tres niveles de prioridad. • queue_priority last: especifica que el script debe ponerse en cola en el nivel de prioridad más bajo. Si se registra más de un script con el argumento "queue_priority_last" establecido, estos scripts se ejecutarán en el orden en que se publiquen los eventos. Observeel argumento del queue_priority especifica la prioridad de envío a cola, pero no la prioridad de ejecución, del script que es registrado. Si este argumento no se especifica, la prioridad de envío a cola predeterminada es normal. maxrun (Opcional) El tiempo de ejecución máximo del script (especificado en el formato SSSSSSSSSS[,MMM], donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusive, y MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza el límite de tiempo de ejecución predeterminado de 20 segundos. agradable (Opcional) Configuración de la prioridad del tiempo de ejecución de la política. Cuando el argumento nice se establece en 1, la política se ejecuta con una prioridad de tiempo de ejecución menor que la prioridad predeterminada. El valor predeterminado es 0. Cadena de Resultado Ninguno Ajuste _cerrno No event_register_routing Se registra para un evento que sea accionado por event routing el comando. Estos eventos son manejados por el detector de evento de la encaminamiento para publicar un evento cuando las entradas de la ruta cambian en la infraestructura del Routing Information Base (RIB). Utilice esta extensión del comando Tcl para funcionar con un política de ruteo para este script. El IP Address de red para que la ruta sea monitoreada debe ser especificado. Sintaxis event_register_routing [tag ?] network ? length [ge|le|ne] [type add|remove|modify|all] [protocol ?] [queue_priority normal|low|high|last] [maxrun ?] [nice {0 | 1}] Argumentos etiqueta (Opcional) Cadena que identifica una etiqueta que se puede utilizar con la extensión de comando Tcl del desencadenado para soportar múltiples declaraciones de eventos dentro de un script Tcl. red Especifica el IP Address de red. El network number puede ser cualquier dirección o prefijo IP válido. longitud Especifica la longitud de la máscara de la red en los bits. La máscara de bits puede ser un número a partir de la 0 a 32. • ge — (Opcional) especifica la longitud del prefijo mínima que se corresponderá con. ge La palabra clave representa mayor o igual operador. • le — (Opcional) especifica la longitud del prefijo máxima que se corresponderá con. le La palabra clave representa inferior o igual operador. • ne — (Opcional) especifica la longitud del prefijo que no se corresponderá con. ne La palabra clave representa no el igual al operador. Cuando ge, le y ne las palabras claves no se configuran, un exacto - la coincidencia de la longitud de la red se procesa. tipo (Opcional) especifica el activador deseado de la directiva. Las opciones del tipo son add remove modify, y all. El valor por defecto es all. protocolo (Opcional) especifica el valor del protocolo para la red que es monitoreada. Uno de los protocolos siguientes puede ser utilizado: all bgp connected eigrp isis iso-igrp mobile odr ospf rip, y static. El valor por defecto es all. queue_priority (Opcional) Nivel de prioridad en el que se podrá en cola el script: • queue_priority low: especifica que el script debe ponerse en cola en el más bajo de los tres niveles de prioridad. • queue_priority normal: especifica que el script debe ser puesto en cola en un nivel de prioridad mayor que la prioridad baja pero menos que la prioridad alta. • queue_priority high: especifica que el script debe ponerse en cola en el más alto de los tres niveles de prioridad. • queue_priority last: especifica que el script debe ponerse en cola en el nivel de prioridad más bajo. Si se registra más de un script con el argumento "queue_priority_last" establecido, estos scripts se ejecutarán en el orden en que se publiquen los eventos. Observeel argumento del queue_priority especifica la prioridad de envío a cola, pero no la prioridad de ejecución, del script que es registrado. Si este argumento no se especifica, la prioridad de envío a cola predeterminada es normal. maxrun (Opcional) El tiempo de ejecución máximo del script (especificado en el formato SSSSSSSSSS[,MMM], donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusive, y MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza el límite de tiempo de ejecución predeterminado de 20 segundos. agradable (Opcional) Configuración de la prioridad del tiempo de ejecución de la política. Cuando el argumento nice se establece en 1, la política se ejecuta con una prioridad de tiempo de ejecución menor que la prioridad predeterminada. El valor predeterminado es 0. Cadena de Resultado Ninguno Ajuste _cerrno No event_register_rpc Se registra para un evento que sea accionado por el comando de la llamada a procedimiento remoto (RPC) EEM SSH. Estos eventos son manejados por el detector del evento RPC ese las pantallas para este evento. Utilice esta extensión del comando Tcl para funcionar con una directiva RPC para este script. Sintaxis event_register_rpc [queue_priority {normal | low | high | last}] [maxrun <sec.msec>] [nice {0 | 1}] [default <sec.msec>] Argumentos queue_priority (Opcional) Nivel de prioridad en el que se podrá en cola el script: • queue_priority low: especifica que el script debe ponerse en cola en el más bajo de los tres niveles de prioridad. • queue_priority normal: especifica que el script debe ser puesto en cola en un nivel de prioridad mayor que la prioridad baja pero menos que la prioridad alta. • queue_priority high: especifica que el script debe ponerse en cola en el más alto de los tres niveles de prioridad. • queue_priority last: especifica que el script debe ponerse en cola en el nivel de prioridad más bajo. Si se registra más de un script con el argumento "queue_priority_last" establecido, estos scripts se ejecutarán en el orden en que se publiquen los eventos. Observeel argumento del queue_priority especifica la prioridad de envío a cola, pero no la prioridad de ejecución, del script que es registrado. Si este argumento no se especifica, la prioridad de envío a cola predeterminada es normal. maxrun (Opcional) El tiempo de ejecución máximo del script (especificado en el formato SSSSSSSSSS[,MMM], donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusive, y MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza el límite de tiempo de ejecución predeterminado de 20 segundos. agradable (Opcional) Configuración de la prioridad del tiempo de ejecución de la política. Cuando el argumento nice se establece en 1, la política se ejecuta con una prioridad de tiempo de ejecución menor que la prioridad predeterminada. El valor predeterminado es 0. predeterminado (Opcional) El período de tiempo durante el cual el detector de eventos de la CLI espera a que salga la política (especificado en el formato SSSSSSSSSS[.MMM], donde SSSSSSSSSS debe ser un número entero que represente los segundos entre 0 y 4294967295, inclusive, y donde MMM debe ser un número entero que represente los milisegundos entre 0 y 999). Si el período de tiempo predeterminado expira antes de que salga la política, se ejecutará la acción predeterminada. La acción predeterminada es ejecutar el comando. Si no se especifica este argumento, el período de tiempo predeterminado se establece en 30 segundos. Cadena de Resultado Ninguno Ajuste _cerrno No event_register_snmp Registros para un evento de las estadísticas del Simple Network Management Protocol (SNMP). Utilice esta extensión del comando Tcl para funcionar con una directiva cuando un contador dado especificado por un ID del objeto SNMP (oid) cruza un umbral definido. Sintaxis event_register_snmp [tag ?] oid ? get_type exact|next entry_op gt|ge|eq|ne|lt|le entry_val ? entry_type value|increment|rate [exit_comb or|and] [exit_op gt|ge|eq|ne|lt|le] [exit_val ?] [exit_type value|increment|rate] [exit_time ?] poll_interval ? [average_factor ?] [queue_priority low|normal|high|last] [maxrun ?] [nice 0|1] Argumentos etiqueta (Opcional) Cadena que identifica una etiqueta que se puede utilizar con la extensión de comando Tcl del desencadenado para soportar múltiples declaraciones de eventos dentro de un script Tcl. oid Número (obligatorio) OID de elemento de datos en la notación del punto SNMP (por ejemplo, 1.3.6.1.2.1.2.1.0). Los tipos de OIDs permitidos son: • COUNTER_TYPE • COUNTER_64_TYPE • GAUGE_TYPE • INTEGER_TYPE • OCTET_PRIM_TYPE • OPAQUE_PRIM_TYPE • TIME_TICKS_TYPE entry_op Operador de comparación (obligatorio) de la entrada usado para comparar el valor de datos actual OID con el valor de entrada; si es true, se generará un evento y se inhabilitará el monitoreo del evento hasta que se cumplan los criterios de salida. get_type El tipo (obligatorio) de SNMP consigue la operación que necesita ser aplicada al OID especificado. Si el argumento del get_type es “exacto,” el valor del OID especificado se extrae; si el argumento del get_type está “después,” el valor del sucesor lexicográfico al OID especificado se extrae. entry_val Valor (obligatorio) con el cual el valor de datos actual del oid se debe comparar para decidir a si se aumenta el evento SNMP. tipo de entrada Especifica un tipo de operación que se aplicará al ID de objeto especificado por el argumento entry-val. El valor se define como el valor real del argumento entry-val. El incremento utiliza el campo entry-val como una diferencia incremental, y entry-val se compara con la diferencia entre el valor del contador actual y el valor cuando se desencadenó por última vez el evento (o la primera muestra consultada si se trata de un nuevo evento). Un valor negativo verifica la diferencia incremental para un contador que está disminuyendo. La velocidad se define como la tasa media de cambio durante un período de tiempo. El período de tiempo es el valor de factor-promedio multiplicado por el valor de intervalo-sondeo. En cada intervalo de sondeo la diferencia entre la muestra actual y la muestra anterior se toma y se registra como valor absoluto. Una media de las muestras anteriores del valor del factor medio se toma como velocidad de cambio. exit_comb (Opcional) salga al operador de la combinación usado para indicar la combinación de pruebas de la condición de la salida requeridas decidir si se cumplen los criterios de la salida para poder volver a permitir el monitoreo de evento. Si es “y,” el valor de la salida y las pruebas del tiempo de la salida se deben pasar para cumplir los criterios de la salida. Si es “o,” el valor de la salida o las pruebas del tiempo de la salida se puede pasar para cumplir los criterios de la salida. Cuando es el exit_comb “y,” el exit_op, y la necesidad exit_val (del exit_time) existen. Cuando es el exit_comb “o,” (exit_op y exit_val) o (exit_time) debe existir. exit_op (Opcional) salga al operador de comparación usado para comparar el valor de datos actual del oid con el valor de la salida; si es verdadero, se rehabilitará el monitoreo para este evento. exit_val Valor (opcional) con el cual el valor de datos actual del oid se debe comparar para decidir a si se cumplen los criterios de la salida. salida-tipo (Opcional) Especifica un tipo de operación que se aplicará al ID de objeto especificado por el argumento exit-val. Si no se especifica, se supone el valor. El valor se define como el valor real del argumento exit-val. El incremento utiliza el campo exit-val como una diferencia incremental, y exit-val se compara con la diferencia entre el valor del contador actual y el valor cuando se desencadenó por última vez el evento (o la primera muestra consultada si se trata de un nuevo evento). Un valor negativo verifica la diferencia incremental para un contador que está disminuyendo. La velocidad se define como la tasa media de cambio durante un período de tiempo. El período de tiempo es el valor de factor-promedio multiplicado por el valor de intervalo-sondeo. En cada intervalo de sondeo la diferencia entre la muestra actual y la muestra anterior se toma y se registra como valor absoluto. Una media de las muestras anteriores del valor del factor medio se toma como velocidad de cambio. exit_time Número (opcional) de unidades del temporizador POSIX después de que se aumente un evento cuando habilitarán al monitoreo de evento otra vez. Especificado en el formato del [.MMM] SSSSSSSSSS donde SSSSSSSSSS debe ser un número del número entero que representa los segundos entre 0 y 4294967295, inclusivo. El MMM representa los milisegundos y debe ser un número del número entero entre 0 y 999. poll_interval Intervalo (obligatorio) entre las encuestas consecutivas en las unidades del temporizador POSIX. El intervalo se fuerza actualmente para ser por lo menos 1 segundo (especificado en el formato del [.MMM] SSSSSSSSSS, donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusivo, y donde el MMM debe ser un número entero que representa los milisegundos entre 0 y 999). medio-factor (Opcional) Número dentro del rango de 1 a 64 utilizado para calcular el período usado para los cálculos basados en velocidad. El valor de factor-promedio se multiplica por el valor intervalo-sondeo para derivar el período en milisegundos. El valor del factor de promedio mínimo es 1. queue_priority (Opcional) Nivel de prioridad en el que se podrá en cola el script: • queue_priority low: especifica que el script debe ponerse en cola en el más bajo de los tres niveles de prioridad. • queue_priority normal: especifica que el script debe ser puesto en cola en un nivel de prioridad mayor que la prioridad baja pero menos que la prioridad alta. • queue_priority high: especifica que el script debe ponerse en cola en el más alto de los tres niveles de prioridad. • queue_priority last: especifica que el script debe ponerse en cola en el nivel de prioridad más bajo. Si se registra más de un script con el argumento "queue_priority_last" establecido, estos scripts se ejecutarán en el orden en que se publiquen los eventos. Observeel argumento del queue_priority especifica la prioridad de envío a cola, pero no la prioridad de ejecución, del script que es registrado. Si este argumento no se especifica, la prioridad de envío a cola predeterminada es normal. maxrun (Opcional) El tiempo de ejecución máximo del script (especificado en el formato SSSSSSSSSS[,MMM], donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusive, y MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza el límite de tiempo de ejecución predeterminado de 20 segundos. agradable (Opcional) Configuración de la prioridad del tiempo de ejecución de la política. Cuando el argumento nice se establece en 1, la política se ejecuta con una prioridad de tiempo de ejecución menor que la prioridad predeterminada. El valor predeterminado es 0. Cadena de Resultado Ninguno Ajuste _cerrno No event_register_snmp_notification Registros para un evento del desvío de la notificación del Simple Network Management Protocol (SNMP). Utilice esta extensión del comando Tcl para funcionar con una directiva cuando un SNMP trap con el ID del objeto especificado SNMP (oid) se encuentra en una interfaz específica o diríjala. snmp-server manager El comando CLI debe ser habilitado para que las notificaciones SNMP trabajen usando las directivas Tcl. Sintaxis event_register_snmp_notification [tag ?] oid ? oid_val ? op {gt|ge|eq|ne|lt|le} [maxrun ?] [src_ip_address ?] [dest_ip_address ?] [queue_priority {normal|low|high|last}] [maxrun ?] [nice {0|1}] [default ?] [direction {incoming|outgoing}] [msg_op {drop|send}] Argumentos etiqueta (Opcional) Cadena que identifica una etiqueta que se puede utilizar con la extensión de comando Tcl del desencadenado para soportar múltiples declaraciones de eventos dentro de un script Tcl. oid Número (obligatorio) OID del elemento de datos en la notación del punto SNMP (por ejemplo, 1.3.6.1.2.1.2.1.0). Si el OID especificado termina con un punto (.), después todos los OID que comienzan con el número OID antes de que se corresponda con el punto. Los tipos de OIDs permitidos son: • COUNTER_TYPE • COUNTER_64_TYPE • GAUGE_TYPE • INTEGER_TYPE • OCTET_PRIM_TYPE • OPAQUE_PRIM_TYPE • TIME_TICKS_TYPE oid_val Valor (obligatorio) OID con el cual el valor de datos actual OID se debe comparar para decidir a si se aumenta el evento SNMP. op Operador de comparación (obligatorio) usado para comparar el valor de datos actual OID con el valor de datos de la unidad de datos del protocolo SNMP (PDU) OID; si esto es verdad, se aumenta un evento. maxrun Tiempo de ejecución máximo (opcional) del script (especificado en el formato del [.mmm] de los ssssssss, donde los ssssssss deben ser un número entero que representa los segundos entre 0 y 31536000, inclusivo, y donde mmm debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza el límite de tiempo de ejecución predeterminado de 20 segundos. src_ip_address Dirección IP de origen (opcional) donde el desvío de la notificación SNMP origina. El valor predeterminado es all; se fija para recibir los desvíos de la notificación SNMP de todos los IP Addresses. dest_ip_address IP Address de destino (opcional) donde se envía el desvío de la notificación SNMP. El valor predeterminado es all; se fija para recibir el SNMP traps de todos los IP Address de destino. queue_priority (Opcional) Nivel de prioridad en el que se podrá en cola el script: • queue_priority low: especifica que el script debe ponerse en cola en el más bajo de los tres niveles de prioridad. • queue_priority normal: especifica que el script debe ser puesto en cola en un nivel de prioridad mayor que la prioridad baja pero menos que la prioridad alta. • queue_priority high: especifica que el script debe ponerse en cola en el más alto de los tres niveles de prioridad. • queue_priority last: especifica que el script debe ponerse en cola en el nivel de prioridad más bajo. Si más de un script se registra con el conjunto del argumento del queue_priority_last, estos scripts ejecutarán en la orden en la cual se publican los eventos. Observeel argumento del queue_priority especifica la prioridad de envío a cola, pero no la prioridad de ejecución, del script que es registrado. Si este argumento no se especifica, la prioridad de envío a cola predeterminada es normal. predeterminado (Opcional) especifica el período de tiempo en los segundos durante los cuales el detector del evento de notificación SNMP espera la directiva para salir. El período de tiempo se especifica en el formato del [.mmm] de los ssssssssss, donde los ssssssssss deben ser un número entero que representa los segundos entre 0 y 4294967295 y mmm deben ser un número entero que representa los milisegundos entre 0 y 999. agradable (Opcional) Configuración de la prioridad del tiempo de ejecución de la política. Cuando el argumento nice se establece en 1, la política se ejecuta con una prioridad de tiempo de ejecución menor que la prioridad predeterminada. El valor predeterminado es 0. dirección (Opcional) la dirección del SNMP trap entrante o saliente o informa al PDU para filtrar. El valor predeterminado es entrante. msg_op (Opcional) Paso a seguir encendido El SNMP PDU (descenso o lo envía) una vez que se acciona el evento. El valor predeterminado es envía. Cadena de Resultado Ninguno Ajuste _cerrno No event_register_snmp_object Registros para un evento del objeto del Simple Network Management Protocol (SNMP). Utilice esta extensión del comando Tcl para substituir el valor cuando un SNMP con el SNMP-objeto especificado ID (OID) se encuentra en una interfaz específica o diríjala. Sintaxis event_register_snmp_object oid ? type {int|uint|counter|counter64|gauge|ipv4||oid|string} sync {yes|no} skip {yes|no} [istable {yes|no}] [default ?] [queue_priority {normal|low|high|last}] [maxrun ?] [nice {0|1}] Argumentos oid Número (obligatorio) OID del elemento de datos en la notación del punto SNMP (por ejemplo, 1.3.6.1.2.1.2.1.0). Si el OID especificado termina con un punto (.), después todos los OID que comienzan con el número OID antes de que se corresponda con el punto. Los tipos de OIDs permitidos son: • COUNTER_TYPE • COUNTER_64_TYPE • GAUGE_TYPE • INTEGER_TYPE • OCTET_PRIM_TYPE • OPAQUE_PRIM_TYPE • TIME_TICKS_TYPE tipo Tipo de valor (obligatorio) OID. sincronice El Sí (obligatorio) A significa que la directiva EEM será notificada. Si el set_exit_status del applet o el valor devuelto Tcl es 0, después el SNMP manejará la petición. Si el valor devuelto es 1, el SNMP utilizará el valor proporcionado por la directiva para la petición get y no procesará la petición del conjunto. Un no significa que EEM no será notificado y el SNMP manejará la petición. Solamente un OID se puede asociar a una directiva síncrona. Sin embargo, las directivas síncronas múltiples se pueden registrar para el mismo OID. salto Obligatorio si existe el argumento del sincronizar es no y si el argumento del sincronizar está “sí.” Si el argumento del salto está “sí,” significa que el SNMP manejará la petición. Si es el argumento del salto “no,” significa que actuará el SNMP como si no exista el objeto. istable El valor (opcional) A del no significa el OID es objeto escalar, y el Sí significa que el OID es objeto de la tabla. predeterminado (Opcional) el período de tiempo durante el cual el detector de evento del objeto SNMP espera la directiva para salir (especificado en el formato del [.mmm] de los ssssssssss, donde los ssssssssss deben ser un número entero que representa los segundos entre 0 y 4294967295, inclusivo, y donde mmm debe ser un número entero que representa los milisegundos entre 0 y 999). Si el período de tiempo predeterminado expira antes de que salga la política, se ejecutará la acción predeterminada. La acción predeterminada es procesar el conjunto o la petición get normalmente por el subsistema SNMP. Si no se especifica este argumento, el período de tiempo predeterminado se establece en 30 segundos. maxrun Tiempo de ejecución máximo (opcional) del script (especificado en el formato del [.mmm] de los ssssssss, donde los ssssssss deben ser un número entero que representa los segundos entre 0 y 31536000, inclusivo, y donde mmm debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza el límite de tiempo de ejecución predeterminado de 20 segundos. queue_priority (Opcional) Nivel de prioridad en el que se podrá en cola el script: • queue_priority low: especifica que el script debe ponerse en cola en el más bajo de los tres niveles de prioridad. • queue_priority normal: especifica que el script debe ser puesto en cola en un nivel de prioridad mayor que la prioridad baja pero menos que la prioridad alta. • queue_priority high: especifica que el script debe ponerse en cola en el más alto de los tres niveles de prioridad. • queue_priority last: especifica que el script debe ponerse en cola en el nivel de prioridad más bajo. Si más de un script se registra con el conjunto del argumento del queue_priority_last, estos scripts ejecutarán en la orden en la cual se publican los eventos. Observeel argumento del queue_priority especifica la prioridad de envío a cola, pero no la prioridad de ejecución, del script que es registrado. Si este argumento no se especifica, la prioridad de envío a cola predeterminada es normal. agradable (Opcional) Configuración de la prioridad del tiempo de ejecución de la política. Cuando el argumento nice se establece en 1, la política se ejecuta con una prioridad de tiempo de ejecución menor que la prioridad predeterminada. El valor predeterminado es 0. Cadena de Resultado Ninguno Ajuste _cerrno No event_register_syslog Registros para un evento de syslog. Utilice esta extensión del comando Tcl para accionar una directiva cuando un mensaje de Syslog de un modelo específico se registra después de algunos acontecimientos durante cierto período de tiempo. Sintaxis event_register_syslog [tag ?] [occurs ?] [period ?] pattern ? [priority all|emergencies|alerts|critical|errors|warnings|notifications| informational|debugging|0|1|2|3|4|5|6|7] [queue_priority low|normal|high|last] [severity_fatal] [severity_critical] [severity_major] [severity_minor] [severity_warning] [severity_notification] [severity_normal] [severity_debugging] [maxrun ?] [nice 0|1] Argumentos etiqueta (Opcional) Cadena que identifica una etiqueta que se puede utilizar con la extensión de comando Tcl del desencadenado para soportar múltiples declaraciones de eventos dentro de un script Tcl. ocurre El número (opcional) de acontecimientos antes del evento se aumenta; si no se especifica, el evento se produce en la primera aparición. Si está especificado, el valor debe ser mayor de 0. período Intervalo de tiempo (opcional), en los segundos y los milisegundos, durante los cuales los uno o más acontecimientos deben ocurrir para aumentar un evento (especificado en el formato del [.MMM] SSSSSSSSSS donde SSSSSSSSSS debe ser un número del número entero que representa los segundos entre 0 y 4294967295, inclusivo, y donde el MMM representa los milisegundos y debe ser un número del número entero entre 0 y 999). Si este argumento no se especifica, no hay control del período aplicado. modelo Expresión normal (obligatoria) A usada para realizar las Coincidencias de patrones del mensaje de Syslog. Este argumento es lo que utiliza la directiva para identificar el mensaje de Syslog registrado. prioridad (Opcional) la prioridad de mensaje que se defenderá. Si se especifica este argumento, sólo se defienden los mensajes que están en el nivel de prioridad de registración especificado, o más bajo. Si este argumento no se especifica, la prioridad predeterminada es 0. queue_priority (Opcional) Nivel de prioridad en el que se podrá en cola el script: • queue_priority low: especifica que el script debe ponerse en cola en el más bajo de los tres niveles de prioridad. • queue_priority normal: especifica que el script debe ser puesto en cola en un nivel de prioridad mayor que la prioridad baja pero menos que la prioridad alta. • queue_priority high: especifica que el script debe ponerse en cola en el más alto de los tres niveles de prioridad. • queue_priority last: especifica que el script debe ponerse en cola en el nivel de prioridad más bajo. Si se registra más de un script con el argumento "queue_priority_last" establecido, estos scripts se ejecutarán en el orden en que se publiquen los eventos. Observeel argumento del queue_priority especifica la prioridad de envío a cola, pero no la prioridad de ejecución, del script que es registrado. Si este argumento no se especifica, la prioridad de envío a cola predeterminada es normal. maxrun (Opcional) El tiempo de ejecución máximo del script (especificado en el formato SSSSSSSSSS[,MMM], donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusive, y MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza el límite de tiempo de ejecución predeterminado de 20 segundos. agradable (Opcional) Configuración de la prioridad del tiempo de ejecución de la política. Cuando el argumento nice se establece en 1, la política se ejecuta con una prioridad de tiempo de ejecución menor que la prioridad predeterminada. El valor predeterminado es 0. severity_xxx (Opcional) la gravedad del evento que se defenderá. Si se especifica este argumento, sólo se defienden los mensajes que están en el nivel de gravedad especificado. Vea el cuadro 15 para la asignación de nivel de gravedad para los eventos de syslog. Si se especifican las condiciones múltiples, el evento de syslog será aumentado cuando se corresponden con todas las condiciones. Palabra clave de la gravedad Prioridad del Syslog Descripción severity_fatal LOG_EMERG (0) El sistema está inutilizable. severity_critical LOG_ALERT (1) Condiciones críticas, atención inmediata requerida. severity_major LOG_CRIT (2) Condiciones importantes. severity_minor LOG_ERR (3) Condiciones de menor importancia. el severity_warning LOG_WARNING (4) Condiciones de advertencia. severity_notification LOG_NOTICE (5) Notificación básica, mensajes de información. severity_normal LOG_INFO (6) El evento normal, indica la vuelta a un estado normal. el severity_debugging LOG_DEBUG (7) Mensajes de debugging. Cadena de Resultado Ninguno Ajuste _cerrno No event_register_timer Crea un temporizador y se registra para un evento de temporización como un editor y suscriptor. Utilice esta extensión del comando Tcl cuando hay una necesidad de accionar una directiva que sea específico o temporizador del tiempo basado. Este temporizador del evento es editor del evento y un suscriptor. La pieza del editor indica las condiciones bajo las cuales el temporizador Nombrado es salir. La pieza del suscriptor identifica el nombre del temporizador al cual el evento está inscribiendo. Observeel CRON y las especificaciones absolutas del tiempo trabajan el la hora local. Sintaxis event_register_timer [tag ?] watchdog|countdown|absolute|cron [name ?] [cron_entry ?] [time ?] [queue_priority low|normal|high|last] [maxrun ?] [nice 0|1] Argumentos etiqueta (Opcional) Cadena que identifica una etiqueta que se puede utilizar con la extensión de comando Tcl del desencadenado para soportar múltiples declaraciones de eventos dentro de un script Tcl. perro guardián (Obligatorio) Temporizador de Watchdog. cuenta descendiente (Obligatorio) Temporizador de conteo regresivo. absoluto (Obligatorio) Temporizador absoluto. cron (Obligatorio) Temporizador de CRON. nombre Nombre (opcional) del temporizador. cron_entry (Opcional) debe ser especificado si especifican al tipo del temporizador CRON. Necesidad no ser especificado si especifican a cualquier otro tipo del temporizador. Un cron_entry es una entrada crontab parcial de UNIX (los primeros cinco campos) según lo utilizado con el programa daemon cron de UNIX. Una especificación cron_entry consiste en una cadena de texto con cinco campos. Los campos son separados por los espacios. Los campos representan la Fecha y hora en que los eventos de temporización CRON serán accionados. Los campos se describen en el cuadro 16. Los rangos de los números se permiten. Los rangos son dos números separados con un guión. El rango especificado es inclusivo. Por ejemplo, 8-11 para una entrada de la hora especifica la ejecución en las horas 8, 9, 10, y 11. Un campo puede ser un asterisco (*), que siempre significa el “primero-último.” Se permiten las listas. Una lista es un conjunto de números (o rangos) separados por las comas. Ejemplos: el "1,2,5,9" y el "0-4,8-12". Los valores del paso se pueden utilizar conjuntamente con los rangos. Después de un rango con “/<number>” especifica los saltos del valor del número a través del rango. Por ejemplo, el "0-23/2" se pueden utilizar en el campo de la hora para especificar un evento que se accione cada otra hora. Los pasos también se permiten después de un asterisco, así que si usted quiere decir “cada dos horas”, del uso el "*/2". Los nombres se pueden también utilizar para el mes y los campos del día de la semana. Utilice las primeras tres cartas del día o del mes determinado (el caso no hace materia). Los rangos o las listas de nombres no se permiten. El día en el cual se acciona un evento de temporización se puede especificar por dos campos: día del mes y día de la semana. Si ambos campos son restrictos (es decir, no esté *), un evento será accionado cuando cualquier campo hace juego la hora actual. Por ejemplo, "30 4 1,15 * el 5" haría un evento ser accionado en 4:30 mañana en el 1r y el décimo quinto de cada mes, más cada viernes. En vez de los primeros cinco campos, una de siete cadenas especiales puede aparecer. Estas siete cadenas especiales se describen en el cuadro 17. Ejemplo 1: "0 0 1,15 * el 1" accionaría un evento en la medianoche en la 1ra y la décimo quinta de cada mes, así como el cada lunes. Para especificar los días por solamente un campo, el otro campo se debe fijar a *; "0 0 * * el 1" accionaría un evento en la medianoche solamente el lunes. Ejemplo 2: "15 16 1 * *” accionaría un evento en 4:15 P.M. en el primer día de cada mes. Ejemplo 3: "0 12 * * el 1-5" accionaría un evento al mediodía el de lunes a viernes de cada semana. Ejemplo 4: “@weekly” accionaría un evento en la medianoche una vez por semana el domingo. hora (Opcional) debe ser especificado si especifican a un tipo del temporizador con excepción de CRON. Necesidad no ser especificado si especifican al tipo del temporizador CRON. Para los temporizadores de watchdog y cuenta atrás, el número de segundos y milisegundos hasta que el temporizador caduca; para el temporizador absoluto, la época del calendario del vencimiento. El tiempo se especifica en el formato del [.MMM] SSSSSSSSSS, donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusivo, y donde el MMM debe ser un número entero que representa los milisegundos entre 0 y 999. Una fecha de vencimiento absoluta es el número de segundos y milisegundos desde el 1 de enero de 1970. Si la fecha especificada ya ha pasado, el temporizador caduca inmediatamente. queue_priority (Opcional) Nivel de prioridad en el que se podrá en cola el script: • queue_priority low: especifica que el script debe ponerse en cola en el más bajo de los tres niveles de prioridad. • queue_priority normal: especifica que el script debe ser puesto en cola en un nivel de prioridad mayor que la prioridad baja pero menos que la prioridad alta. • queue_priority high: especifica que el script debe ponerse en cola en el más alto de los tres niveles de prioridad. • queue_priority last: especifica que el script debe ponerse en cola en el nivel de prioridad más bajo. Si se registra más de un script con el argumento "queue_priority_last" establecido, estos scripts se ejecutarán en el orden en que se publiquen los eventos. Observeel argumento del queue_priority especifica la prioridad de envío a cola, pero no la prioridad de ejecución, del script que es registrado. Si este argumento no se especifica, la prioridad de envío a cola predeterminada es normal. maxrun (Opcional) El tiempo de ejecución máximo del script (especificado en el formato SSSSSSSSSS[,MMM], donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusive, y MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza el límite de tiempo de ejecución predeterminado de 20 segundos. agradable (Opcional) Configuración de la prioridad del tiempo de ejecución de la política. Cuando el argumento nice se establece en 1, la política se ejecuta con una prioridad de tiempo de ejecución menor que la prioridad predeterminada. El valor predeterminado es 0. Campo Valores permitidos minuto 0-59 hora 0-23 día del mes 1-31 mes 1-12 (o los nombres, vea abajo) día de la semana 0-7 (0 o 7 es Sun, o nombres; vea el cuadro 17) String (cadena) Significado @yearly Accione una vez al año, "0 0 1 1 *”. @annually Lo mismo que @yearly. @monthly Accione una vez al mes, "0 0 1 * *”. @weekly Accione una vez por semana, "0 0 * * el 0". @daily Accione una vez al día, "0 0 * * *”. @midnight Lo mismo que @daily. @hourly Activador una vez una hora, "0 * * * *”. Cadena de Resultado Ninguno Ajuste _cerrno No Vea también event_register_timer_subscriber event_register_timer_subscriber Registros para un evento de temporización como suscriptor. Utilice esta extensión del comando Tcl para identificar el nombre del temporizador al cual el temporizador del evento, como suscriptor, quiere inscribir. El temporizador del evento depende de otra directiva o de otro proceso para manipular realmente el temporizador. Por ejemplo, deje el policyB actuar como política de suscriptor del temporizador, pero el register_timer de las aplicaciones del policyA (aunque no necesita ser una directiva del temporizador), el timer_arm, o las Extensiones del comando Tcl del timer_cancel para manipular el temporizador referido al policyB. Sintaxis event_register_timer_subscriber watchdog|countdown|absolute|cron name ? [queue_priority low|normal|high|last] [maxrun ?] [nice 0|1] Argumentos perro guardián (Obligatorio) Temporizador de Watchdog. cuenta descendiente (Obligatorio) Temporizador de conteo regresivo. absoluto (Obligatorio) Temporizador absoluto. cron (Obligatorio) Temporizador de CRON. nombre Nombre (obligatorio) del temporizador. queue_priority (Opcional) Nivel de prioridad en el que se podrá en cola el script: • queue_priority low: especifica que el script debe ponerse en cola en el más bajo de los tres niveles de prioridad. • queue_priority normal: especifica que el script debe ser puesto en cola en un nivel de prioridad mayor que la prioridad baja pero menos que la prioridad alta. • queue_priority high: especifica que el script debe ponerse en cola en el más alto de los tres niveles de prioridad. • queue_priority last: especifica que el script debe ponerse en cola en el nivel de prioridad más bajo. Si se registra más de un script con el argumento "queue_priority_last" establecido, estos scripts se ejecutarán en el orden en que se publiquen los eventos. Observeel argumento del queue_priority especifica la prioridad de envío a cola, pero no la prioridad de ejecución, del script que es registrado. Si este argumento no se especifica, la prioridad de envío a cola predeterminada es normal. maxrun (Opcional) El tiempo de ejecución máximo del script (especificado en el formato SSSSSSSSSS[,MMM], donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusive, y MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza el límite de tiempo de ejecución predeterminado de 20 segundos. agradable (Opcional) Configuración de la prioridad del tiempo de ejecución de la política. Cuando el argumento nice se establece en 1, la política se ejecuta con una prioridad de tiempo de ejecución menor que la prioridad predeterminada. El valor predeterminado es 0. Observeuna directiva EEM que los registros para un evento de temporización o un evento contrario puedan actuar como ambos editor y suscriptor. Cadena de Resultado Ninguno Ajuste _cerrno No Vea también event_register_timer event_register_track Registros para un evento del informe del subsistema del Rastreo de objetos del Cisco IOS. Utilice esta extensión del comando Tcl para accionar una directiva en base de un informe del subsistema del Rastreo de objetos del Cisco IOS para un número especificado del objeto. Sintaxis event_register_track ? [tag ?] [state up|down|any] [queue_priority low|normal|high|last] [maxrun ?] [nice 0|1] Argumentos ¿? (representa (Obligatorio) Número de objeto de seguimiento en el rango de 1 a 500, ambos un número) inclusive. etiqueta (Opcional) Cadena que identifica una etiqueta que se puede utilizar con la extensión de comando Tcl del desencadenado para soportar múltiples declaraciones de eventos dentro de un script Tcl. estado (Opcional) especifica que la transición seguida del objeto hará un evento ser aumentada. Si up se especifica, un evento será aumentado cuando las transiciones seguidas del objeto de un estado inactivo a un estado ascendente. Si down se especifica, un evento será aumentado cuando las transiciones seguidas del objeto de un estado ascendente a un estado inactivo. Si any se especifica, un evento será aumentado cuando las transiciones seguidas del objeto a o desde ningunos estado. queue_priority (Opcional) Nivel de prioridad en el que se podrá en cola el script: • queue_priority low: especifica que el script debe ponerse en cola en el más bajo de los tres niveles de prioridad. • queue_priority normal: especifica que el script debe ser puesto en cola en un nivel de prioridad mayor que la prioridad baja pero menos que la prioridad alta. • queue_priority high: especifica que el script debe ponerse en cola en el más alto de los tres niveles de prioridad. • queue_priority last: especifica que el script debe ponerse en cola en el nivel de prioridad más bajo. Si se registra más de un script con el argumento "queue_priority_last" establecido, estos scripts se ejecutarán en el orden en que se publiquen los eventos. Observeel argumento del queue_priority especifica la prioridad de envío a cola, pero no la prioridad de ejecución, del script que es registrado. Si este argumento no se especifica, la prioridad de envío a cola predeterminada es normal. maxrun (Opcional) El tiempo de ejecución máximo del script (especificado en el formato SSSSSSSSSS[,MMM], donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusive, y MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza el límite de tiempo de ejecución predeterminado de 20 segundos. agradable (Opcional) Configuración de la prioridad del tiempo de ejecución de la política. Cuando el argumento nice se establece en 1, la política se ejecuta con una prioridad de tiempo de ejecución menor que la prioridad predeterminada. El valor predeterminado es 0. Si no se especifica un argumento opcional, el evento busca coincidencias con todos los valores posibles del argumento. Cadena de Resultado Ninguno Ajuste _cerrno No event_register_wdsysmon Registros para un evento del monitor de sistema de vigilancia. Utilice esta extensión del comando Tcl para registrarse para un evento compuesto que sea una combinación de varios subevents o condiciones. Por ejemplo, usted puede utilizar este comando de registrarse para la combinación de condiciones en donde el USO de la CPU de cierto proceso está sobre el 80 por ciento y la memoria usada por el proceso es mayor del 50 por ciento de su asignación inicial. Esta extensión del comando Tcl se soporta solamente en las imágenes de Software Modularity. Sintaxis event_register_wdsysmon [tag ?] [timewin ?] [sub12_op and|or|andnot] [sub23_op and|or|andnot] [sub34_op and|or|andnot] [sub1 subevent-description] [sub2 subevent-description] [sub3 subevent-description] [sub4 subevent-description] [node ?] [queue_priority low|normal|high|last] [maxrun ?] [nice 0|1] Cada argumento es independiente de la posición. Observelas definiciones del operador: y (lógico y operación), o (lógico u operación), andnot (lógico y no operación). Por ejemplo, "sub12_op y” se define como aumento un evento cuando es subevent 1 y 2 subevent son verdades; "sub23_op o” se define como aumento un evento cuando la condición especificada en sub12_op es verdad o 3 subevent es verdades. La lógica se puede diagrammed usando: si (((sub1 sub12_op sub2) sub23_op sub3) sub34_op sub4) es VERDAD, aumente el evento Argumentos etiqueta (Opcional) Cadena que identifica una etiqueta que se puede utilizar con la extensión de comando Tcl del desencadenado para soportar múltiples declaraciones de eventos dentro de un script Tcl. timewin La ventana de fecha y hora (opcional) dentro de la cual todos los subevents tiene que ocurrir para que un evento sea generado (especificado en el formato del [.MMM] SSSSSSSSSS, donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusivo, y donde el MMM debe ser un número entero que representa los milisegundos entre 0 y 999). sub12_op Operador (opcional) de la combinación para la comparación entre 1 subevent y 2. subevent. sub23_op Operador (opcional) de la combinación para la comparación entre 1 y 2 subevent y 3. subevent. sub34_op Operador (opcional) de la combinación para la comparación entre 1 y 2 subevent y 3 subevent y 4. subevent. sub1 (Opcional) indica que 1 subevent se especifica. subeventdescripción Sintaxis (opcional) para el subevent. sub2 (Opcional) indica que 2 subevent se especifica. sub3 (Opcional) indica que 3 subevent se especifica. sub4 (Opcional) indica que 4 subevent se especifica. nodo (Opcional) el Nombre del nodo que se monitoreará para las condiciones del interbloqueo es una cadena que consiste en la palabra “nodo” seguido por dos campos separados por un carácter de la raya vertical usando el formato siguiente: node<slot-number>/<cpu-number> slot-number es el número de slot del hardware. cpu-number es el número de CPU de hardware. Por ejemplo, el CPU de SP en una tarjeta de Supervisor de un Cisco Catalyst 6500 Series Switch situado en el slot 0 se especificaría como node0/0. El RP CPU en una placa supervisor en un Cisco Catalyst 6500 Series Switch situado en el slot0 sería dirigido como node0/1. Si el argumento del nodo no se especifica, la especificación predeterminada del nodo es el nodo local en el cual se hace el registro. queue_priority (Opcional) Nivel de prioridad en el que se podrá en cola el script: • queue_priority low: especifica que el script debe ponerse en cola en el más bajo de los tres niveles de prioridad. • queue_priority normal: especifica que el script debe ser puesto en cola en un nivel de prioridad mayor que la prioridad baja pero menos que la prioridad alta. • queue_priority high: especifica que el script debe ponerse en cola en el más alto de los tres niveles de prioridad. • queue_priority last: especifica que el script debe ponerse en cola en el nivel de prioridad más bajo. Si se registra más de un script con el argumento "queue_priority_last" establecido, estos scripts se ejecutarán en el orden en que se publiquen los eventos. Observeel argumento del queue_priority especifica la prioridad de envío a cola, pero no la prioridad de ejecución, del script que es registrado. Si este argumento no se especifica, la prioridad de envío a cola predeterminada es normal. maxrun (Opcional) El tiempo de ejecución máximo del script (especificado en el formato SSSSSSSSSS[,MMM], donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusive, y MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza el límite de tiempo de ejecución predeterminado de 20 segundos. agradable (Opcional) Configuración de la prioridad del tiempo de ejecución de la política. Cuando el argumento nice se establece en 1, la política se ejecuta con una prioridad de tiempo de ejecución menor que la prioridad predeterminada. El valor predeterminado es 0. Subevents El sintaxis de las descripciones subevent puede ser uno de siete casos. Para los argumentos en la descripción subevent, los apremios siguientes se aplican en el valor de los argumentos del número: • Para el dispatch_mgr, val debe ser un número entero entre 0 y 4294967295, inclusivo. • Para el cpu_proc y el cpu_tot, val debe ser un número entero entre 0 y 100, inclusivo. • Para el mem_proc, el mem_tot_avail, y mem_tot_used, si es is_percent es FALSO, val debe ser un número entero entre 0 y 4294967295, inclusivo. 1. deadlock procname ? Argumentos procname La expresión normal (obligatoria) A que especifica el nombre del proceso que usted desea monitorear para el interbloqueo condiciona. Este subevent ignorará la ventana de fecha y hora incluso si se da. 2. dispatch_mgr [procname ?] [op gt|ge|eq|ne|lt|le] [val ?] [period ?] Argumentos procname Expresión normal (opcional) A que especifica el nombre del proceso que usted desea monitorear para el estatus del dispatch_manager. op Operador de comparación (opcional) usado para comparar el número recogido de eventos con el valor especificado; si es verdadero, se accionará un evento. val (Opcional) el valor con el cual el número de eventos que han ocurrido debe ser comparado. período (Opcional) el período de tiempo para el número de eventos que han ocurrido (especificado en el formato del [.MMM] SSSSSSSSSS, donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusivo, y donde el MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza la muestra más reciente. 3. cpu_proc [procname ?] [op gt|ge|eq|ne|lt|le] [val ?] [period ?] Argumentos procname La expresión normal (opcional) A que especifica el nombre del proceso que usted desea monitorear para la utilización de la CPU condiciona. op Operador de comparación (opcional) usado para comparar el porcentaje recogido de la muestra del USO de la CPU con el valor especificado del porcentaje; si es verdadero, se accionará un evento. val (Opcional) El valor del porcentaje con el cual debe compararse el uso del CPU medio durante el período de la muestra. período (Opcional) El período de tiempo para hacer un promedio de la colección de muestras (especificadas en el formato SSSSSSSSSS[,MMM], donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusive, y MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza la muestra más reciente. 4. cpu_tot [op gt|ge|eq|ne|lt|le] [val ?] [period ?] Argumentos op Operador de comparación (opcional) usado para comparar el porcentaje recogido de la muestra del USO de la CPU del sistema total con el valor especificado del porcentaje; si es verdadero, se accionará un evento. val (Opcional) El valor del porcentaje con el cual debe compararse el uso del CPU medio durante el período de la muestra. período (Opcional) El período de tiempo para hacer un promedio de la colección de muestras (especificadas en el formato SSSSSSSSSS[,MMM], donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusive, y MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza la muestra más reciente. 5. mem_proc [procname ?] [op gt|ge|eq|ne|lt|le] [val ?] [is_percent TRUE|FALSE] [period ?] Argumentos procname Expresión normal (opcional) A que especifica el nombre del proceso que usted desea monitorear para el uso de la memoria. op Operador de comparación (opcional) usado para comparar la memoria recogida usada con el valor especificado; si es verdadero, se accionará un evento. val (Opcional) Un porcentaje o un valor absoluto especificado en kilobytes. Un porcentaje representa la diferencia entre la muestra más antigua del período de tiempo especificado y la muestra más reciente. Si el uso de la memoria ha aumentado de 150 KB a 300 KB en el período de tiempo, el aumento en porcentaje es 100. Éste es el valor con el cual debe compararse el valor medido. is_percent (Opcional) Si es TRUE, se recopila y se compara el valor del porcentaje. De lo contrario, se recopila y se compara el valor absoluto. período (Opcional) Si is_percent se fija en TRUE, el período de tiempo para que se calcule el porcentaje. De otro modo, el período de tiempo que se dedicará a un promedio de las muestras de recolección (especificado en formato SSSSSSSSSS[.MMM], donde SSSSSSSSSS debe ser un número entero que represente los segundos entre 0 y 4294967295, ambos inclusive, y MMM debe ser un número entero que represente los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza la muestra más reciente. 6. mem_tot_avail [op gt|ge|eq|ne|lt|le] [val ?] [is_percent TRUE|FALSE] [period ?] Argumentos op Operador de comparación (opcional) usado para comparar la memoria disponible recogida con el valor especificado; si es verdadero, se accionará un evento. val (Opcional) Un porcentaje o un valor absoluto especificado en kilobytes. Un porcentaje representa la diferencia entre la muestra más antigua del período de tiempo especificado y la muestra más reciente. Si el uso de la memoria disponible ha disminuido a partir de 300 KB a 150 KB dentro del período de tiempo, la disminución del porcentaje es 50. Éste es el valor con el cual debe compararse el valor medido. is_percent (Opcional) Si es TRUE, se recopila y se compara el valor del porcentaje. De lo contrario, se recopila y se compara el valor absoluto. período (Opcional) Si is_percent se fija en TRUE, el período de tiempo para que se calcule el porcentaje. De otro modo, el período de tiempo que se dedicará a un promedio de las muestras de recolección (especificado en formato SSSSSSSSSS[.MMM], donde SSSSSSSSSS debe ser un número entero que represente los segundos entre 0 y 4294967295, ambos inclusive, y MMM debe ser un número entero que represente los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza la muestra más reciente. 7. mem_tot_used [op gt|ge|eq|ne|lt|le] [val ?] [is_percent TRUE|FALSE] [period ?] Argumentos op Operador de comparación (opcional) usado para comparar la memoria usada recogida con el valor especificado; si es verdadero, se accionará un evento. val (Opcional) Un porcentaje o un valor absoluto especificado en kilobytes. Un porcentaje representa la diferencia entre la muestra más antigua del período de tiempo especificado y la muestra más reciente. Si el uso de la memoria ha aumentado de 150 KB a 300 KB en el período de tiempo, el aumento en porcentaje es 100. Éste es el valor con el cual debe compararse el valor medido. is_percent (Opcional) Si es TRUE, se recopila y se compara el valor del porcentaje. De lo contrario, se recopila y se compara el valor absoluto. período (Opcional) Si is_percent se fija en TRUE, el período de tiempo para que se calcule el porcentaje. De otro modo, el período de tiempo que se dedicará a un promedio de las muestras de recolección (especificado en formato SSSSSSSSSS[.MMM], donde SSSSSSSSSS debe ser un número entero que represente los segundos entre 0 y 4294967295, ambos inclusive, y MMM debe ser un número entero que represente los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza la muestra más reciente. Observeeste argumento es obligatorio si es is_percent se fija PARA VERDAD; si no, es opcional. Cadena de Resultado Ninguno Ajuste _cerrno No Observedentro de una descripción subevent, cada argumento es independiente de la posición. Extensiones de Comandos de Tcl de Información de Eventos de EEM • event_reqinfo event_reqinfo Pregunta la información para el evento que hizo la Política actual ejecutarse. Sintaxis event_reqinfo Argumentos Ninguno Cadena de Resultado Si la directiva se ejecuta con éxito, las características para el evento que accionó la directiva serán vueltas. Las secciones siguientes muestran las características vueltas para cada detector de evento. Para EEM_EVENT_APPLICATION "event_id %u event_type %u event_type_string {%s} event_pub_sec %u event_pub_msec %u" "sub_system 0x%x type %u data1 {%s} data2 {%s} data3 {%s} data4 {%s}" Tipo de Evento Descripción event_id Número único que indica el ID para este evento publicado. Se puede ejecutar múltiples políticas para el mismo evento, y cada política tendrá el mismo event_id. event_type Tipo de evento. event_type_string Una cadena ASCII que representa el nombre de evento de este tipo de evento. event_pub_sec El tiempo, en los segundos y los milisegundos, cuando el evento fue publicado event_pub_msec al administrador del evento integrado (EEM). sub_system Número asignado a la directiva EEM que publicó el evento de aplicación. El número se establece en 798 porque todos los demás números están reservados para el uso de Cisco. type Subtipo del evento dentro del componente especificado. data1 data2 data3 data4 Datos del argumento que se pasan al evento específico a la aplicación cuando se publica el evento. Los datos son texto del carácter, una variable de entorno, o una combinación de los dos. Para EEM_EVENT_CLI "event_id %u event_type %u event_type_string {%s} event_pub_sec %u event_pub_msec %u event_severity %u msg {%s} msg_count %d line %u key %u tty %u error_code %u" Tipo de Evento Descripción event_id Número único que indica el ID para este evento publicado. Se puede ejecutar múltiples políticas para el mismo evento, y cada política tendrá el mismo event_id. event_type Tipo de evento. event_type_string Una cadena ASCII que representa el nombre de evento de este tipo de evento. event_pub_sec El tiempo, en los segundos y los milisegundos, en los cuales el evento fue event_pub_msec publicado al EEM. event_severity La gravedad del evento. msg Texto ingresado en el prompt CLI. msg_count La cantidad de veces el modelo correspondido con antes del evento fue accionada. line El texto el analizador de sintaxis podía ampliarse hasta la punta donde la clave correspondida con fue ingresada. key El ingresar, el questionmark, o el tabulador. tty Corresponde al número de línea que el usuario está ejecutando el comando encendido. error_code El código de error en el CLI. 0 — Ningún error del analizador de sintaxis hasta la punta donde una clave fue ingresada. El comando 1 es ambiguo hasta la punta donde una clave fue ingresada. 4 — Comando desconocido hasta la punta donde una clave fue ingresada. Para EEM_EVENT_COUNTER "event_id %u event_type %u event_type_string {%s} %u event_pub_sec %u event_pub_msec %u" "name {%s}" Tipo de Evento Descripción event_id Número único que indica el ID para este evento publicado. Se puede ejecutar múltiples políticas para el mismo evento, y cada política tendrá el mismo event_id. event_type Tipo de evento. event_type_string Una cadena ASCII que representa el nombre de evento de este tipo de evento. event_pub_sec La hora, en segundos y milisegundos, en que se publicó el evento en el EEM. event_pub_msec name Nombre contrario. Para EEM_EVENT_GOLD "event_id %u event_type %u event_type_string {%s} %u card %u sub_card %u" "event_severity {%s} event_pub_sec %u event_pub_msec %u overall_result %u" "new_failure {%s} action_notify {%s} tt %u tc %u bl %u ci %u pc %u cn {%s}" "sn {%s} tn# {%s} ta# %s ec# {%s} rc# %u lf# {%s} tf# %u cf# %u tr# {%s}" "tr#p# {%s} tr#d# {%s}" Tipo de Evento Descripción action_notify La acción notifica la información en el evento del ORO: true o false. bl El nivel del diagnóstico de carga, que puede ser uno de los valores siguientes: • 0: diagnóstico completo • 1: diagnósticos mínimos • 2: bypass diagnostic card Información de placa para el evento del ORO. cftestnum Error consecutivo, donde testnum está el número de la prueba. Por ejemplo, cf3 es la variable de entorno incorporada EEM para el error consecutivo de la prueba 3. ci Índice de la tarjeta. cn Nombre de la tarjeta. ectestnum Pruebe el código de error, donde testnum está el número de la prueba. Por ejemplo, ec3 es la variable de entorno incorporada EEM para el código de error de la prueba 3. event_id Número único que indica el ID para este evento publicado. Se puede ejecutar múltiples políticas para el mismo evento, y cada política tendrá el mismo event_id. event_pub_msec El tiempo, en los milisegundos y los segundos, cuando el evento fue publicado event_pub_sec al EEM. event_severity event_type Gravedad del evento del ORO, que puede ser uno de los valores siguientes: • normal • menor • comandante. Tipo de evento. event_type_string Una cadena ASCII que representa el nombre de evento de este tipo de evento. lftestnum La vez más pasada del fall, donde testnum está el número de la prueba. Por ejemplo, lf3 es la variable incorporada EEM por última vez el fall de la prueba 3. El formato del grupo fecha/hora es mmm dd yyyy hh:mm:ss. Por ejemplo, el 11 de marzo de 1960 08:47:00. new_failure La nueva información de falla de prueba en un indicador de suceso del ORO: true o false. overall_result Resultado del diagnóstico global, que puede ser uno de los valores siguientes: • 0: OK • 3: error menor • 4: error importante • 14: resultado desconocido pc Conteos de puertos. rctestnum Pruebe la cuenta del funcionamiento del total, donde testnum está el número de la prueba. Por ejemplo, rc3 es la variable incorporada EEM para la cuenta total del funcionamiento de la prueba 3. sn Número de serie de la tarjeta. sub_card La subtarjeta en la que se detectó un evento de falla GOLD. tatestnum Pruebe el atributo, donde testnum está el número de la prueba. Por ejemplo, ta3 es la variable incorporada EEM para el atributo de la prueba de la prueba 3. tc Conteos de la prueba. tftestnum Cuenta de la falla total, donde testnum está el número de la prueba. Por ejemplo, tf3 es la variable incorporada EEM para la cuenta de la falla total de la prueba 3. tntestnum Pruebe el nombre, donde testnum está el número de la prueba. Por ejemplo, tn3 es la variable incorporada EEM para el nombre de la prueba 3. trtestnum Resultado de la prueba, donde testnum está el número de la prueba. Por ejemplo, tr6 es la variable incorporada EEM para la prueba 6 donde no está una prueba por puerto y no una prueba la prueba 6 del por-dispositivo. El resultado de la prueba es uno de los valores siguientes: • P: resultado de diagnóstico superado • F: resultado del diagnóstico: Falla • U: resultado del diagnóstico desconocido trtestnumddevnum resultado de la prueba del Por-dispositivo, donde testnum está el número de la prueba y devnum es el número del dispositivo. Por ejemplo, tr3d20 es la variable incorporada EEM para el resultado de la prueba para la prueba 3, el dispositivo 20. El resultado de la prueba es uno de los valores siguientes: • P: resultado de diagnóstico superado • F: resultado del diagnóstico: Falla • U: resultado del diagnóstico desconocido trtestnumpportnum Resultado de la prueba por puerto, donde testnum está el número de la prueba y portnum es el número del dispositivo. Por ejemplo, tr5p20 es la variable incorporada EEM para el resultado de la prueba para la prueba 3, el puerto 20. El resultado de la prueba es uno de los valores siguientes: tt • P: resultado de diagnóstico superado • F: resultado del diagnóstico: Falla • U: resultado del diagnóstico desconocido Tipo de prueba, que puede ser uno de los siguientes: • 1: Un diagnóstico de carga • 2: Un diagnóstico a pedido • 3: Un diagnóstico del horario • 4: Un diagnóstico de la supervisión Para EEM_EVENT_INTERFACE "event_id %u event_type %u event_type_string {%s} %u event_pub_sec %u event_pub_msec %u" "event_severity {%s} name {%s} parameter {%s} value %d" Tipo de Evento Descripción event_id Número único que indica el ID para este evento publicado. Se puede ejecutar múltiples políticas para el mismo evento, y cada política tendrá el mismo event_id. event_type Tipo de evento. event_type_string Una cadena ASCII que representa el nombre de evento de este tipo de evento. event_pub_sec La hora, en segundos y milisegundos, en que se publicó el evento en el EEM. event_pub_msec event_severity Interconecte la gravedad del evento, que puede ser uno de los valores siguientes: • normal • menor • comandante name Nombre de la interfaz. parameter Nombre del parámetro. value La diferencia ampliada/decreciente comparada al evento más reciente accionado o el valor absoluto del parámetro que es monitoreado, dependiendo del valor especificado del entry_val_is_increment. Para EEM_EVENT_IOSWDSYSMON "event_id %u event_type %u event_type_string {%s} %u event_pub_sec %u event_pub_msec %u" "num_subs %u" Tipo de Evento Descripción event_id Número único que indica el ID para este evento publicado. Se puede ejecutar múltiples políticas para el mismo evento, y cada política tendrá el mismo event_id. event_type Tipo de evento. event_type_string Una cadena ASCII que representa el nombre de evento de este tipo de evento. event_pub_sec La hora, en segundos y milisegundos, en que se publicó el evento en el EEM. event_pub_msec num_subs Número de subevents. Donde está la cadena subevent de la información para un CPU_UTIL subevent, "{type %s procname {%s} pid %u taskname {%s} taskid %u value %u sec %ld msec %ld}" Tipo de Subevento Descripción type Tipo de subevento. procname Nombre del proceso POSIX de este subevento. pid ID del proceso POSIX de este subevento. taskname Nombre de tarea de Cisco IOS para este subevento. taskid ID de tarea de Cisco IOS para este subevento. value Utilización de la CPU media real sobre el intervalo medido. sec, msec Período del tiempo transcurrido para este intervalo medido. Donde está la cadena subevent de la información para un MEM_UTIL subevent, "{type %s procname {%s} pid %u taskname {%s} taskid %u is_percent %s value %u diff %d" "sec %ld msec %ld}" Tipo de Subevento Descripción type Tipo de subevento. procname Nombre del proceso POSIX de este subevento. pid ID del proceso POSIX de este subevento. taskname Nombre de tarea de Cisco IOS para este subevento. taskid ID de tarea de Cisco IOS para este subevento. is_percent VERDAD o FALSO dependiendo de si el valor es un valor del porcentaje. value Uso de la memoria total en el KB o la utilización de la memoria media real para este intervalo medido. diff La diferencia del porcentaje entre la muestra más vieja del intervalo medido y la última muestra; un valor negativo representa una disminución. sec, msec Período del tiempo transcurrido para este intervalo medido. Para EEM_Event_IPSLA “%u del event_severity del %u del event_pub_msec del %u del event_pub_sec del %u del event_type del %u del event_ID” “%u “threshold_rising” del measured_threshold_value del %u threshold_falling%u del %u del dest_ip_addr del %u del reaction_type del %u de la condición del %u del operation_id del %u del group_name” %u del umbral count2 del %u "threshold_count1” Tipo de Evento Descripción event_id Número único que indica el ID para este evento publicado. Se puede ejecutar múltiples políticas para el mismo evento, y cada política tendrá el mismo event_id. event_type El tipo de evento que se desea monitorear para crear, actualizar y eliminar el flujo. event_type_string Una cadena ASCII que representa el nombre de evento de este tipo de evento. event_pub_sec event_pub_msec La hora, en segundos y milisegundos, en que se publicó el evento en el EEM. event_severity La gravedad del evento. group_name El nombre del grupo IPSLA. operation_id La identificación de la operación IPSLA condition La condición de IPSLA, que puede ser uno del siguiente: • borrado • ocurrido reaction_type El tipo de la reacción IPSLA. dest_ip_address El IP Address de destino IPSLA. threshold rising El valor de umbral de límite superior configurado IPSLA. threshold falling El valor de umbral descendente configurado IPSLA. measured_threshold_value El valor de umbral medido de la operación IPSLA. threshold_count1 Corresponde al argumento del tipo 1 del umbral. threshold_count2 Corresponde al argumento del type2 del umbral. Para EEM_EVENT_NF "event_ID %u event_type %u event_type_string {%s} event_pub_sec %u event_pub_msec %u event_severity %u monitor_name %u event1-event4_field %u event1-event4_value Tipo de Evento Descripción event_id Número único que indica el ID para este evento publicado. Se puede ejecutar múltiples políticas para el mismo evento, y cada política tendrá el mismo event_id. event_type El tipo de evento que se desea monitorear para crear, actualizar y eliminar el flujo. event_type_string Una cadena ASCII que representa el nombre de evento de este tipo de evento. event_pub_sec event_pub_msec La hora, en segundos y milisegundos, en que se publicó el evento en el EEM. event_severity La gravedad del evento del Netflow. montior_name El nombre del monitor del Netflow. event1event4_field Especifica el evento y sus atributos para monitorear. Los valores válidos son event1 event2 event3, y event4. event1event4_value Especifica el valor del evento y sus atributos para monitorear. Los valores válidos son event1 event2 event3, y event4. Para EEM_EVENT_NONE "event_id %u event_type %u event_type_string {%s} event_pub_sec %u event_pub_msec %u event_severity %u arg %u" Tipo de Evento Descripción event_id Número único que indica el ID para este evento publicado. Se puede ejecutar múltiples políticas para el mismo evento, y cada política tendrá el mismo event_id. event_type Tipo de evento. event_type_string Una cadena ASCII que representa el nombre de evento de este tipo de evento. event_pub_sec La hora, en segundos y milisegundos, en que se publicó el evento en el EEM. event_pub_msec event_severity La gravedad del evento. argc Los parámetros que se pasan del comando del JABÓN XML al script. arg1 arg2 arg3 arg4 arg6 arg7 arg8 arg9 arg10 arg11 arg12 arg13 arg14 arg15 Para EEM_EVENT_OIR "event_id %u event_type %u event_type_string {%s} event_pub_sec %u event_pub_msec %u" "slot %u event %s" Tipo de Evento Descripción event_id Número único que indica el ID para este evento publicado. Se puede ejecutar múltiples políticas para el mismo evento, y cada política tendrá el mismo ID de evento. event_type Tipo de evento. event_type_string Una cadena ASCII que representa el nombre de evento de este tipo de evento. event_pub_sec La hora, en segundos y milisegundos, en que se publicó el evento en el EEM. event_pub_msec slot Número de slot para el indicador luminoso LED amarillo de la placa muestra gravedad menor afectado. event Indica una cadena, quitada o en línea, que representa un evento del retiro OIR o un evento de la inserción OIR. Para EEM_EVENT_PROCESS (modularidad del software solamente) "event_id %u event_type %u event_type_string {%s} event_pub_sec %u event_pub_msec %u" "sub_system 0x%x instance %u process_name {%s} path {%s} exit_status 0x%x" "respawn_count %u last_respawn_sec %ld last_respawn_msec %ld fail_count %u" "dump_count %u node_name {%s}" Tipo de Evento Descripción event_id Número único que indica el ID para este evento publicado. Se puede ejecutar múltiples políticas para el mismo evento, y cada política tendrá el mismo event_id. event_type Tipo de evento. event_type_string Una cadena ASCII que representa el nombre de evento de este tipo de evento. event_pub_sec event_pub_msec La hora, en segundos y milisegundos, en que se publicó el evento en el EEM. sub_system Número asignado a la directiva EEM que publicó el evento específico a la aplicación. El número se establece en 798 porque todos los demás números están reservados para el uso de Cisco. instance ID de instancia de proceso. process_name Nombre del proceso. path Nombre absoluto de proceso incluyendo la trayectoria. exit_status Estado de salida más reciente de proceso. respawn_count Cantidad de veces que el proceso fue recomenzado. last_respawn_sec El tiempo del calendario en que ocurrió el reinicio más reciente. last_respawn_msec fail_count Número de tentativas del reinicio del proceso que falló. Esta cuenta será reajustada a 0 cuando el proceso se recomienza con éxito. dump_count Número de vaciados de memoria tomados del proceso. node_name Nombre del nodo que el proceso está prendido. El Nombre del nodo es una cadena que consiste en la palabra “nodo” seguido por dos campos separados por un carácter de la raya vertical usando el formato siguiente: nodeslot-number/cpu-number slot-number es el número de slot del hardware. cpu-number es el número de CPU de hardware. Para EEM_EVENT_RESOURCE "event_id %u event_type %u event_type_string {%s} %u event_pub_sec %u event_pub_msec %u" "owner_id %lld user_id %lld" time_sent %llu dampen_time %d notify_data_flags %u" "level {%s} direction {%s} configured_threshold %u current_value %u" "policy_violation_flag {%s} policy_id %d" Tipo de Evento Descripción event_id Número único que indica el ID para este evento publicado. Se puede ejecutar múltiples políticas para el mismo evento, y cada política tendrá el mismo event_id. event_type Tipo de evento. event_type_string Una cadena ASCII que representa el nombre de evento de este tipo de evento. event_pub_sec event_pub_msec La hora, en segundos y milisegundos, en que se publicó el evento en el EEM. owner_id La identificación del propietario del administrador de recurso incrustado (ERM) user_id La identificación del usuario ERM. time_sent Tiempo del evento ERM, en nanosegundos. dampen_time Tiempo de amortiguación de ERM, en nanosegundos. notify_data_flags El indicador de datos de notificación de ERM. level El nivel de evento ERM. Los cuatro niveles de evento son normal, menor, principal y crítico. direction Dirección del evento de ERM. El sentido del evento puede ser uno de los siguientes: hacia arriba, hacia abajo o sin cambios. configured_threshold Umbral de ERM configurado. current_value El valor actual notificado por ERM. policy_violation_flag El indicador de la infracción de la política ERM; falso o verdadero. policy_id ID de la política ERM. Para EEM_EVENT_RF "event_id %u event_type %u event_type_string {%s} %u event_pub_sec %u event_pub_msec %u" "event {%s}" Tipo de Evento Descripción event_id Número único que indica el ID para este evento publicado. Se puede ejecutar múltiples políticas para el mismo evento, y cada política tendrá el mismo event_id. event_type Tipo de evento. event_type_string Una cadena ASCII que representa el nombre de evento de este tipo de evento. event_pub_sec La hora, en segundos y milisegundos, en que se publicó el evento en el EEM. event_pub_msec event Progresión RF o notificación de evento del estatus que hizo este evento ser publicada. Para EEM_EVENT_Routing “%u del event_type del %u del event_id event_type_string el %u lastgateway de la distancia del %u del %u del protocolo del %u de la máscara del %u de la red del %u del event_severity del %u del event_pub_msec del %u del event_pub_sec del %u {%s}” “{%s}” “%u métrico del lastinterface del %u del %u del time_msec del %u del time_sec” Tipo de Evento Descripción event_id Número único que indica el ID para este evento publicado. Se puede ejecutar múltiples políticas para el mismo evento, y cada política tendrá el mismo event_id. event_type Tipo de evento. event_type_string Una cadena ASCII que representa el nombre de evento de este tipo de evento. event_pub_sec La hora, en segundos y milisegundos, en que se publicó el evento en el EEM. event_pub_msec event_severity La gravedad del evento. network El Prefijo de red en el formato de IP Address mask La máscara de la red en el formato de IP Address protocol Protocolo del tipo de red. type El tipo de evento a agregar, quita o se modifica. lastgateway El gateway sabido más reciente. distance La distancia administrativa. time_sec time_msec Época del evento en los segundos y los milisegundos, cuando el evento fue publicado al EEM. metric Trayectoria métrica. lastinterface La interfaz sabida último. Para EEM_EVENT_RPC "event_id %u event_type %u event_type_string {%s} event_pub_sec %u event_pub_msec %u arg %u" Tipo de Evento Descripción event_id Número único que indica el ID para este evento publicado. Se puede ejecutar múltiples políticas para el mismo evento, y cada política tendrá el mismo event_id. event_type Tipo de evento. event_type_string Una cadena ASCII que representa el nombre de evento de este tipo de evento. event_pub_sec La hora, en segundos y milisegundos, en que se publicó el evento en el EEM. event_pub_msec argc arg0 arg1 arg2 Los parámetros que se pasan del comando del JABÓN XML al script. arg3 arg4 arg6 arg7 arg8 arg9 arg10 arg11 arg12 arg13 arg14 Para EEM_EVENT_SNMP "event_id %u event_type %u event_type_string {%s} %u event_pub_sec %u event_pub_msec %u" "event_severity {%s} oid {%s} val {%s} delta_val {%s}" Tipo de Evento Descripción event_id Número único que indica el ID para este evento publicado. Se puede ejecutar múltiples políticas para el mismo evento, y cada política tendrá el mismo event_id. event_type Tipo de evento. event_type_string Una cadena ASCII que representa el nombre de evento de este tipo de evento. event_pub_sec La hora, en segundos y milisegundos, en que se publicó el evento en el EEM. event_pub_msec event_severity Gravedad del evento SNMP, que puede ser uno de los valores siguientes: • normal • menor • comandante oid ID del objeto del elemento de datos, en la notación del punto SNMP. val Valor del elemento de datos. delta_val Valor del delta entre el valor de las directivas. Para EEM_EVENT_SNMP_Notification "event_id %u event_type %u event_type_string {%s} %u event_pub_sec %u event_pub_msec %u event_severity {%s}" "oid {%s} oid_val {%s} src_ip_addr {%s} dest_ip_addr {%s} x_x_x_x_x (varbinds) {%s} trunc_vb_buf {%s} trap_oid {%s} enterprise_oid {%s} generic_trap %u specific_trap %u" Tipo de Evento Descripción event_id Número único que indica el ID para este evento publicado. Se puede ejecutar múltiples políticas para el mismo evento, y cada política tendrá el mismo event_id. event_type Tipo de evento. event_type_string Una cadena ASCII que representa el nombre de evento de este tipo de evento. event_pub_sec event_pub_msec La hora, en segundos y milisegundos, en que se publicó el evento en el EEM. oid Una identificación de objeto especificada usuario oid_val Un valor especificado usuario del ID del objeto. src_ip_addr La dirección IP de origen de la unidad de datos del protocolo SNMP (PDU). dest_ip_addr La dirección IP de destino del SNMP PDU. x_x_x_x_x (varbinds) La información de varbind de PDU SNMP. trap_oid Indica el valor del desvío OID. enterprise_oid Indica el valor de la empresa OID. generic_trap Indica uno de varios Tipos de trampa genérica. Hay siete números de trampa genéricos cero a seis. specific_trap Indica uno de varios códigos específicos del desvío. Event_reqinfo para EEM_EVENT_SNMP_Object "event_id %u event_type %u event_type_string {%s} %u event_pub_sec %u event_pub_msec %u event_severity {%s}" "oid {%s} request {%s} request_type {%s} value %u" Tipo de Evento Descripción event_id Número único que indica el ID para este evento publicado. Se puede ejecutar múltiples políticas para el mismo evento, y cada política tendrá el mismo event_id. event_type Tipo de evento. event_type_string Una cadena ASCII que representa el nombre de evento de este tipo de evento. event_pub_sec event_pub_msec La hora, en segundos y milisegundos, en que se publicó el evento en el EEM. event_severity La gravedad del evento. oid El ID del objeto SNMP en recibido consigue o fijó la petición. request El tipo de la petición del conseguir o del conjunto. request_type El tipo de petición (exacto o siguiente). value Para las peticiones del conjunto solamente. El valor para fijar el objeto a. Para EEM_EVENT_SYSLOG_MSG "event_id %u event_type %u event_type_string {%s} event_pub_sec %u event_pub_msec %u" "msg {%s}" Tipo de Evento Descripción event_id Número único que indica el ID para este evento publicado. Se puede ejecutar múltiples políticas para el mismo evento, y cada política tendrá el mismo event_id. event_type Tipo de evento. event_type_string Una cadena ASCII que representa el nombre de evento de este tipo de evento. event_pub_sec La hora, en segundos y milisegundos, en que se publicó el evento en el EEM. event_pub_msec msg El mensaje de Syslog más reciente que hace juego el modelo. Para EEM_EVENT_TIMER_ABSOLUTE EEM_EVENT_TIMER_COUNTDOWN EEM_EVENT_TIMER_WATCHDOG "event_id %u event_type %u event_type_string {%s} event_pub_sec %u event_pub_msec %u" "timer_type %s timer_time_sec %ld timer_time_msec %ld" "timer_remain_sec %ld timer_remain_msec %ld" Tipo de Evento Descripción event_id Número único que indica el ID para este evento publicado. Se puede ejecutar múltiples políticas para el mismo evento, y cada política tendrá el mismo event_id. event_type Tipo de evento. event_type_string Una cadena ASCII que representa el nombre de evento de este tipo de evento. event_pub_sec event_pub_msec La hora, en segundos y milisegundos, en que se publicó el evento en el EEM. timer_type Tipo de temporizador. Puede ser uno de los siguientes: timer_time_sec timer_time_msec • perro guardián • cuenta descendiente • absoluto Hora a la que caducó el temporizador. timer_remain_sec El tiempo restante antes de la expiración siguiente. timer_remain_msec Para EEM_EVENT_TIMER_CRON "event_id %u event_type %u event_type_string {%s} event_pub_sec %u event_pub_msec %u" "timer_type {%s} timer_time_sec %ld timer_time_msec %ld" Tipo de Evento Descripción event_id Número único que indica el ID para este evento publicado. Se puede ejecutar múltiples políticas para el mismo evento, y cada política tendrá el mismo event_id. event_type Tipo de evento. event_type_string Una cadena ASCII que representa el nombre de evento de este tipo de evento. event_pub_sec La hora, en segundos y milisegundos, en que se publicó el evento en el EEM. event_pub_msec timer_type Tipo de temporizador. timer_time_sec Hora a la que caducó el temporizador. timer_time_msec Para EEM_EVENT_TRACK "event_id %u event_type %u event_type_string {%s} %u event_pub_sec %u event_pub_msec %u" "track_number {%u} track_state {%s}" Tipo de Evento Descripción event_id Número único que indica el ID para este evento publicado. Se puede ejecutar múltiples políticas para el mismo evento, y cada política tendrá el mismo ID de evento. event_type Tipo de evento. event_type_string Una cadena ASCII que representa el nombre de evento de este tipo de evento. event_pub_sec La hora, en segundos y milisegundos, en que se publicó el evento en el EEM. event_pub_msec track_number Número del objeto seguido que hizo el evento ser accionado. track_state Estado del objeto seguido cuando el evento fue accionado; el estado válido está hacia arriba o hacia abajo. Para EEM_EVENT_WDSYSMON (modularidad del software solamente) "event_id %u event_type %u event_type_string {%s} %u event_pub_sec %u event_pub_msec %u" "num_subs %u" Tipo de Evento Descripción event_id Número único que indica el ID para este evento publicado. Se puede ejecutar múltiples políticas para el mismo evento, y cada política tendrá el mismo event_id. event_type Tipo de evento. event_type_string Una cadena ASCII que representa el nombre de evento de este tipo de evento. event_pub_sec La hora, en segundos y milisegundos, en que se publicó el evento en el EEM. event_pub_msec num_subs Número de Subevent. Donde está la cadena subevent de la información para un interbloqueo subevent: "{type %s num_entries %u entries {entry 1, entry 2, ...}}" Tipo de Subevento Descripción type Tipo de wdsysmon del subevento. num_entries Número de procesos y de hilos en el interbloqueo. entries Información de los procesos y de los hilos en el interbloqueo. Donde está cada entrada: "{node {%s} procname {%s} pid %u tid %u state %s b_node %s b_procname %s b_pid %u b_tid %u}" Asuma que la entrada describe el escenario en qué hilo m del proceso A se bloquea en el hilo n del proceso B: Tipo de Subevento Descripción node El nombre del nodo que procesa el hilo m A está prendido. procname Nombre del proceso A. pid Identificador de proceso del proceso A. tid Hilo ID del hilo M. del proceso A. state Estado del hilo del hilo M. del proceso A. Puede ser uno de los siguientes: • STATE_CONDVAR • STATE_DEAD • STATE_INTR • STATE_JOIN • STATE_MUTEX • STATE_NANOSLEEP • STATE_READY • STATE_RECEIVE • STATE_REPLY • STATE_RUNNING • STATE_SEM • STATE_SEND • STATE_SIGSUSPEND • STATE_SIGWAITINFO • STATE_STACK • STATE_STOPPED • STATE_WAITPAGE • STATE_WAITTHREAD b_node Nombre del nodo en el cual el hilo de proceso B está. b_procname Nombre del proceso B. b_pid Identificador de proceso del proceso B. b_tid Hilo ID del hilo n del proceso B; 0 significa que el hilo m del proceso A está bloqueado en todos los hilos del proceso B. Para el dispatch_mgr Subevent "{type %s node {%s} procname {%s} pid %u value %u sec %ld msec %ld}" Tipo de Subevento Descripción type Tipo de wdsysmon del subevento. node Nombre del nodo en el que se encuentra el proceso POSIX. procname Nombre del proceso POSIX de este subevento. pid ID del proceso POSIX de este subevento. Observelos tres campos antedichos describen el proceso del propietario de este administrador del envío. value Si sec y msec las variables se especifican como 0 o están sin especificar en la extensión del comando Tcl del registro del evento, el número de eventos procesados por el administrador del envío está en la última muestra. Si una ventana de fecha y hora se especifica y es mayor que adentro la extensión del comando Tcl del registro del evento, el número total de eventos procesado por este administrador del envío está en la ventana del cualquier momento. sec msec Si sec y msec las variables se especifican como 0 o están sin especificar en la extensión del comando Tcl del registro del evento, son ambo 0. Si una ventana de fecha y hora se especifica y es mayor que adentro la extensión del comando Tcl del registro del evento, sec y msec las variables son la diferencia de Hora real entre los sellos de fecha/hora de las muestras más viejas y últimas de esta ventana de fecha y hora. Para el cpu_proc Subevent "{type %s node {%s} procname {%s} pid %u value %u sec %ld msec %ld}" Tipo de Subevento Descripción type Tipo de wdsysmon del subevento. node Nombre del nodo en el que se encuentra el proceso POSIX. procname Nombre del proceso POSIX de este subevento. pid ID del proceso POSIX de este subevento. Observelos tres campos antedichos describen el proceso cuya se está monitoreando utilización de la CPU. value Si sec y msec las variables se especifican como 0 o están sin especificar en la extensión del comando Tcl del registro del evento, la utilización de la CPU de proceso está en la última muestra. Si una ventana de fecha y hora se especifica y es mayor que adentro la extensión del comando Tcl del registro del evento, la utilización de la CPU de proceso hecha un promedio está en la ventana del cualquier momento. sec msec Si sec y msec las variables se especifican como 0 o están sin especificar en la extensión del comando Tcl del registro del evento, son ambo 0. Si una ventana de fecha y hora se especifica y es mayor que adentro la extensión del comando Tcl del registro del evento, sec y msec las variables son la diferencia de Hora real entre los sellos de fecha/hora de las muestras más viejas y últimas de esta ventana de fecha y hora. Para el cpu_tot Subevent "{type %s node {%s} value %u sec %ld msec %ld}" Tipo de Subevento Descripción type Tipo de wdsysmon del subevento. node Nombre del nodo en el cual se está monitoreando el uso total de la CPU. value Si sec y msec las variables se especifican como 0 o están sin especificar en la extensión del comando Tcl del registro del evento, el uso total de la CPU está en la última muestra. Si una ventana de fecha y hora se especifica y es mayor que adentro la extensión del comando Tcl del registro del evento, el uso total de la CPU hecho un promedio está en la ventana del cualquier momento. sec msec Si sec y msec las variables se especifican como 0 o están sin especificar en la extensión del comando Tcl del registro del evento, son ambo 0. Si una ventana de fecha y hora se especifica y es mayor que adentro la extensión del comando Tcl del registro del evento, sec y msec las variables son la diferencia de Hora real entre los sellos de fecha/hora de las muestras más viejas y últimas de esta ventana de fecha y hora. Para el mem_proc Subevent "{type %s node {%s} procname {%s} pid %u is_percent %s value %u diff %d sec %ld msec %ld}" Tipo de Descripción Subevento type Tipo de wdsysmon del subevento. node Nombre del nodo en el que se encuentra el proceso POSIX. procname Nombre del proceso POSIX de este subevento. pid ID del proceso POSIX de este subevento. Observelos tres campos antedichos describen el proceso cuyo se está monitoreando uso de la memoria. is_percent Puede ser VERDADERO o FALSO. un valor TRUE significa que el valor es un valor de porcentaje; FALSO significa que se trata de un valor absoluto (puede ser un valor promediado). value Si sec y msec las variables se especifican como 0 o están sin especificar en la extensión del comando Tcl del registro del evento, la memoria usada proceso está en la última muestra. Si una ventana de fecha y hora se especifica y es mayor que adentro la extensión del comando Tcl del registro del evento, la utilización de la memoria usada proceso hecha un promedio está en la ventana del cualquier momento. Tipo de Descripción Subevento diff Si sec y msec las variables se especifican como 0 o están sin especificar en la extensión del comando Tcl del registro del evento, diff es la diferencia del porcentaje entre la muestra usada primer proceso de la memoria recogida nunca y la muestra usada el último proceso de la memoria. Si una ventana de fecha y hora se especifica y es mayor que adentro la extensión del comando Tcl del registro del evento, diff es la diferencia del porcentaje entre utilización de la memoria usada el más viejo y último proceso en la ventana del tiempo especificado. sec msec Si sec y msec las variables se especifican como 0 o están sin especificar en la extensión del comando Tcl del registro del evento, son ambo 0. Si una ventana de fecha y hora se especifica y es mayor que adentro la extensión del comando Tcl del registro del evento, sec y msec las variables son la diferencia de Hora real entre los sellos de fecha/hora de las muestras más viejas y últimas de esta ventana de fecha y hora. Si is_percent el argumento es FALSO, y sec y msec los argumentos se especifican como 0 o están sin especificar en la extensión del comando Tcl del registro del evento: • value es la memoria usada proceso en la última muestra. • diff es 0. • sec y msec es ambo 0. Si is_percent el argumento es FALSO, y una ventana de fecha y hora se especifica como mayor que adentro la extensión del comando Tcl del registro del evento: • value es el valor de ejemplo usado proceso hecho un promedio de la memoria en la ventana del tiempo especificado. • diff es 0. • sec y msec es la diferencia de Hora real entre los sellos de fecha/hora de las muestras más viejas y últimas de esta ventana de fecha y hora. Si is_percent el argumento es VERDAD, y una ventana de fecha y hora se especifica como mayor que adentro la extensión del comando Tcl del registro del evento: • value es 0. • diff es la diferencia del porcentaje entre las muestras usadas el más viejo y último proceso de la memoria en la ventana del tiempo especificado. • sec y msec es la diferencia de Hora real entre los sellos de fecha/hora las muestras usadas del más viejo y último proceso de la memoria en esta ventana de fecha y hora. Si is_percent el argumento es VERDAD, y sec y msec los argumentos se especifican como 0 o están sin especificar en la extensión del comando Tcl del registro del evento: • value es 0. • diff es la diferencia del porcentaje entre la muestra usada primer proceso de la memoria recogida nunca y la muestra usada el último proceso de la memoria. • sec y msec son la diferencia de Hora real entre los sellos de fecha/hora de la muestra usada primer proceso de la memoria recogida nunca y la muestra usada el último proceso de la memoria. Para el mem_tot_avail Subevent "{type %s node {%s} is_percent %s used %u avail %u diff %d sec %ld msec %ld}" Tipo de Subevento Descripción type Tipo de wdsysmon del subevento. node Nombre del nodo para el cual se está monitoreando la memoria disponible total. is_percent Puede ser VERDADERO o FALSO. un valor TRUE significa que el valor es un valor de porcentaje; FALSO significa que se trata de un valor absoluto (puede ser un valor promediado). used Si sec y msec las variables se especifican como 0 o están sin especificar en la extensión del comando Tcl del registro del evento, la memoria usada total está en la última muestra. Si se ha especificado una ventana de tiempo mayor que cero en la extensión de comando Tcl del registro de evento, la utilización de la memoria usada total promediada está en la ventana de tiempo dada. avail Si sec y msec las variables se especifican como 0 o están sin especificar en la extensión del comando Tcl del registro del evento, avail está en la última muestra total de la memoria disponible. Si una ventana de fecha y hora se especifica y es mayor que adentro la extensión del comando Tcl del registro del evento, avail es la utilización total de la memoria disponible en la ventana del tiempo especificado. diff Si sec y msec las variables se especifican como 0 o están sin especificar en la extensión del comando Tcl del registro del evento, diff es la diferencia del porcentaje entre la primera muestra total de la memoria disponible recogida nunca y la última muestra total de la memoria disponible. Si una ventana de fecha y hora se especifica y es mayor que adentro la extensión del comando Tcl del registro del evento, diff es la diferencia del porcentaje entre la más vieja y última utilización total de la memoria disponible de la ventana del tiempo especificado. sec msec Si sec y msec las variables se especifican como 0 o están sin especificar en la extensión del comando Tcl del registro del evento, son ambo 0. Si una ventana de fecha y hora se especifica y es mayor que adentro la extensión del comando Tcl del registro del evento, son la diferencia de Hora real entre los sellos de fecha/hora de las muestras más viejas y últimas de esta ventana de fecha y hora. Si is_percent el argumento es FALSO, y sec y msec los argumentos se especifican como 0 o están sin especificar en la extensión del comando Tcl del registro del evento: • used es la memoria usada total en la última muestra. • avail es la memoria disponible total en la última muestra. • diff es 0. • sec y msec es ambo 0. Si is_percent el argumento es FALSO, y una ventana de fecha y hora se especifica como mayor que adentro la extensión del comando Tcl del registro del evento: • used es 0. • avail es el valor de ejemplo total hecho un promedio de la memoria disponible en la ventana del tiempo especificado. • diff es 0. • sec y msec es la diferencia de Hora real entre los sellos de fecha/hora de las muestras totales más viejas y últimas de la memoria disponible de esta ventana de fecha y hora. Si is_percent el argumento es VERDAD, y una ventana de fecha y hora se especifica como mayor que adentro la extensión del comando Tcl del registro del evento: • used es 0. • avail es 0. • diff es la diferencia del porcentaje entre las muestras totales más viejas y últimas de la memoria disponible de la ventana del tiempo especificado. • sec y msec es la diferencia de Hora real entre los sellos de fecha/hora de las muestras totales más viejas y últimas de la memoria disponible de esta ventana de fecha y hora. Si is_percent el argumento es VERDAD, y sec y msec los argumentos se especifican como 0 o están sin especificar en la extensión del comando Tcl del registro del evento: • used es 0. • avail es 0. • diff es la diferencia del porcentaje entre la primera muestra total de la memoria disponible recogida nunca y la última muestra total de la memoria disponible. • sec y msec son la diferencia de Hora real entre los sellos de fecha/hora de la primera muestra total de la memoria disponible recogida nunca y la última muestra total de la memoria disponible. Para Subevent mem_tot_used "{type %s node {%s} is_percent %s used %u avail %u diff %d sec %ld msec %ld}" Tipo de Subevento Descripción type Tipo de wdsysmon del subevento. node El nombre del nodo para el cual el total utilizó la memoria se está monitoreando. is_percent Puede ser VERDADERO o FALSO. un valor TRUE significa que el valor es un valor de porcentaje; FALSO significa que se trata de un valor absoluto (puede ser un valor promediado). used Si sec y msec las variables se especifican como 0 o están sin especificar en la extensión del comando Tcl del registro del evento, la memoria usada total está en la última muestra. Si se ha especificado una ventana de tiempo mayor que cero en la extensión de comando Tcl del registro de evento, la utilización de la memoria usada total promediada está en la ventana de tiempo dada. avail Si sec y msec las variables se especifican como 0 o están sin especificar en la extensión del comando Tcl del registro del evento, avail está en la muestra usada el último total de la memoria. Si una ventana de fecha y hora se especifica y es mayor que adentro la extensión del comando Tcl del registro del evento, avail es la utilización de la memoria usada total en la ventana del tiempo especificado. diff Si sec y msec las variables se especifican como 0 o están sin especificar en la extensión del comando Tcl del registro del evento, diff es la diferencia del porcentaje entre la muestra usada primer total de la memoria recogida nunca y la muestra usada el último total de la memoria. Si una ventana de fecha y hora se especifica y es mayor que adentro la extensión del comando Tcl del registro del evento, diff es la diferencia del porcentaje entre utilización de la memoria usada el más viejo y último total en la ventana del tiempo especificado. sec msec Si sec y msec las variables se especifican como 0 o están sin especificar en la extensión del comando Tcl del registro del evento, son ambo 0. Si una ventana de fecha y hora se especifica y es mayor que adentro la extensión del comando Tcl del registro del evento, sec y msec las variables son la diferencia de Hora real entre los sellos de fecha/hora de las muestras más viejas y últimas de esta ventana de fecha y hora. Si is_percent el argumento es FALSO, y el sec y argumentos milisegundo se especifican como 0 o están sin especificar en la extensión del comando Tcl del registro del evento: • used es la memoria usada total en la última muestra, • avail es la memoria disponible total en la última muestra, • diff es 0, • sec y msec es ambo 0, Si is_percent el argumento es FALSO, y una ventana de fecha y hora se especifica como mayor que adentro la extensión del comando Tcl del registro del evento: • used es el valor de ejemplo usado total hecho un promedio de la memoria en la ventana del tiempo especificado, • avail es 0, • diff es 0, • sec y msec es la diferencia de Hora real entre los sellos de fecha/hora las muestras usadas del más viejo y último total de la memoria en esta ventana de fecha y hora, Si is_percent el argumento es VERDAD, y una ventana de fecha y hora se especifica como mayor que adentro la extensión del comando Tcl del registro del evento: • used es 0. • avail es 0. • diff es la diferencia del porcentaje entre las muestras usadas el más viejo y último total de la memoria en la ventana del tiempo especificado. • sec y msec es la diferencia de Hora real entre los sellos de fecha/hora las muestras usadas del más viejo y último total de la memoria en esta ventana de fecha y hora. Si is_percent el argumento es VERDAD, y el sec y argumentos milisegundo se especifican como 0 o están sin especificar en la extensión del comando Tcl del registro del evento: • used es 0. • avail es 0. • diff es la diferencia del porcentaje entre la muestra usada primer total de la memoria recogida nunca y la muestra usada el último total de la memoria. • sec y msec son la diferencia de Hora real entre los sellos de fecha/hora de la muestra usada primer total de la memoria recogida nunca y la muestra usada el último total de la memoria. Ajuste _cerrno Sí Comando Extension Tcl del evento EEM • event_completion • event_completion_with_wait • event_publish • event_wait event_completion Envía una notificación al servidor EEM que la directiva está hecha que mantiene el evento que la accionó. El evento toma solamente un solo argumento que sea return_code de este caso del evento. Sintaxis event_completion status ? Argumentos estatus Estado de salida (obligatorio) (return_code) de este caso del evento. Un valor de cero indica que ningún error y cualquier otro valor del número entero indica un error. Cadena de Resultado Ninguno Ajuste _cerrno No event_completion_with_wait event_completion_with_wait El comando combina los dos comandos event_completion y event_wait en un comando único para la facilidad de empleo. event_completion El comando envía una notificación al servidor EEM que la directiva está hecha que mantiene el evento que la accionó. El evento toma solamente un solo argumento que sea return_code de este caso del evento. event_wait Los lugares la directiva Tcl en un estado del sueño. Cuando la directiva Tcl recibe una nueva señal que anuncia un nuevo evento, la directiva se pone en un estado de la estela y vuelve otra vez a un estado del sueño. Este loop continúa. Si event_wait la directiva se invoca antes event_completed de la directiva, de los resultados de un error y de las salidas de la directiva. Sintaxis event_completion_with_wait status ? [refresh_vars] Argumentos estatus Exit_status (obligatorio) (return_code) de este caso del evento. Un valor de cero no indica ningún error. Cualquier otro valor del número entero indica un error. refresh_vars (Opcional) indica si el accesorio y las variables de entorno deben ser actualizados (restaurado) del director de la directiva EEM durante este caso del evento. Cadena de Resultado Ninguno Ajuste _cerrno Sí Ejemplo de Uso Aquí está un ejemplo similar como arriba usando este comando único: namespace import ::cisco::eem::* namespace import ::cisco::lib::* set i 1 while {1 == 1} { # Start high performance policy loop array set arr_einfo [event_reqinfo] if {$_cerrno != 0} { set result [format "component=%s; subsys err=%s; posix err=%s;\n%s" \ $_cerr_sub_num $_cerr_sub_err $_cerr_posix_err $_cerr_str] error $result } action_syslog msg "event $i serviced" priority info if {$i == 5} { action_syslog msg "Exiting after servicing 5 events" priority info exit 0 } incr i array set _event_state_arr [event_completion_with_wait status 0 refresh_vars 1] if {$_event_state_arr(event_state) != 0} { action_syslog msg "Exiting: failed event_state " \ " $event_state_arr(event_state)" priority info exit 0 } } Observeel resultado de la configuración corriente es lo mismo que el comando event_publish Tcl. event_publish Publica un evento específico a la aplicación. Sintaxis event_publish sub_system ? type ? [arg1 ?] [arg2 ?] [arg3 ?] [arg4 ?] Argumentos sub_system Número (obligatorio) asignado a la directiva EEM que publicó el evento específico a la aplicación. El número se establece en 798 porque todos los demás números están reservados para el uso de Cisco. tipo Subtipo (obligatorio) del evento dentro del componente especificado. Los argumentos sub_system y type identifican de forma única un evento de aplicación. Debe ser un número entero entre 1 y 4294967295, ambos inclusive. ¿[arg1? ][arg4?] Los cuatro pedazos (opcionales) de editor del evento de aplicación atan los datos. Cadena de Resultado Ninguno Ajuste _cerrno Sí (_cerr_sub_err = 2) FH_ESYSERR (generic/unknown error from OS/system) Este error significa que el sistema operativo notificó un error. El valor de POSIX errno que se comunica con el error se debe utilizar para determinar la causa del error del sistema operativo. Ejemplo de Uso Este ejemplo demuestra cómo utilizar event_publish la extensión del comando Tcl para ejecutar los tiempos n del script para realizar en varias ocasiones una cierta función (por ejemplo, medir el periodo hora de la CPU de tomado por un grupo dado de declaraciones Tcl). Este ejemplo utiliza dos Scripts TCL. Script1 publica un evento del tipo 9999 EEM para hacer Script2 ejecutarse por primera vez. Script1 se registra como ninguno evento y se ejecuta usando el comando event manager run del Cisco IOS CLI. Script2 se registra como evento de aplicación EEM del tipo 9999, y este los controles del script para considerar si la aplicación publica los datos arg1 (el número de la iteración) exceden el valor de los test_iterations de la variable de entorno EEM. Si se excede el valor de los test_iterations, el script escribe un mensaje y las salidas; si no el script ejecuta las declaraciones restantes y reprograma otro funcionamiento. Para medir la utilización de la CPU para Script2, utilice un valor de los test_iterations que sea un múltiplo de 10 para calcular la cantidad de media hora de la CPU usada por Script2. Para ejecutar el Scripts TCL, ingrese los comandos cisco ios siguientes: configure terminal event manager environment test_iterations 100 event manager policy script1.tcl event manager policy script2.tcl end event manager run script1.tcl El script Script2 Tcl será ejecutado 100 veces. Si usted ejecuta el script sin el procesamiento extra y deriva la utilización de la CPU media, y entonces agrega el procesamiento extra y relanza la prueba, usted puede restar la utilización de la CPU anterior de la utilización de la CPU posterior para determinar la media para el procesamiento extra. Script1 (script1.tcl) ::cisco::eem::event_register_none namespace import ::cisco::eem::* namespace import ::cisco::lib::* # Query the event info. array set arr_einfo [event_reqinfo] if {$_cerrno != 0} { set result [format "component=%s; subsys err=%s; posix err=%s;\n%s" \ $_cerr_sub_num $_cerr_sub_err $_cerr_posix_err $_cerr_str] error $result } action_syslog priority info msg "EEM application_publish test start" if {$_cerrno != 0} { set result [format \ "component=%s; subsys err=%s; posix err=%s;\n%s" \ $_cerr_sub_num $_cerr_sub_err $_cerr_posix_err $_cerr_str] error $result } # Cause the first iteration to run. event_publish sub_system 798 type 9999 arg1 0 if {$_cerrno != 0} { set result [format \ "component=%s; subsys err=%s; posix err=%s;\n%s" \ $_cerr_sub_num $_cerr_sub_err $_cerr_posix_err $_cerr_str] error $result } Script2 (script2.tcl) ::cisco::eem::event_register_appl sub_system 798 type 9999 # Check if all the required environment variables exist. # If any required environment variable does not exist, print out an error msg and quit. if {![info exists test_iterations]} { set result \ "Policy cannot be run: variable test_iterations has not been set" error $result $errorInfo } namespace import ::cisco::eem::* namespace import ::cisco::lib::* # Query the event info. array set arr_einfo [event_reqinfo] if {$_cerrno != 0} { set result [format "component=%s; subsys err=%s; posix err=%s;\n%s" \ $_cerr_sub_num $_cerr_sub_err $_cerr_posix_err $_cerr_str] error $result } # Data1 contains the arg1 value used to publish this event. set iter $arr_einfo(data1) # Use the arg1 info from the previous run to determine when to end. if {$iter >= $test_iterations} { # Log a message. action_syslog priority info msg "EEM application_publish test end" if {$_cerrno != 0} { set result [format \ "component=%s; subsys err=%s; posix err=%s;\n%s" \ $_cerr_sub_num $_cerr_sub_err $_cerr_posix_err $_cerr_str] error $result } exit 0 } set iter [expr $iter + 1] # Log a message. set msg [format "EEM application_publish test iteration %s" $iter] action_syslog priority info msg $msg if {$_cerrno != 0} { set result [format "component=%s; subsys err=%s; posix err=%s;\n%s" \ $_cerr_sub_num $_cerr_sub_err $_cerr_posix_err $_cerr_str] error $result } # Do whatever processing that you want to measure here. # Cause the next iteration to run. Note that the iteration is passed to the # next operation as arg1. event_publish sub_system 798 type 9999 arg1 $iter if {$_cerrno != 0} { set result [format \ "component=%s; subsys err=%s; posix err=%s;\n%s" \ $_cerr_sub_num $_cerr_sub_err $_cerr_posix_err $_cerr_str] error $result } event_wait Pone la directiva Tcl en un estado del sueño. Cuando la directiva Tcl recibe una nueva señal que anuncia un nuevo evento, la directiva se pone en un estado de la estela y vuelve otra vez a un estado del sueño. Este loop continúa. Si event_wait la directiva se invoca antes event_completed de la directiva, de los resultados de un error y de las salidas de la directiva. Sintaxis event_wait [refresh_vars] Argumentos refresh_vars (Opcional) indica si el accesorio y las variables de entorno deben ser actualizados (restaurado) del director de la directiva EEM durante este caso del evento. Cadena de Resultado Ninguno Ajuste _cerrno No Ejemplo de Uso event_wait El detector de evento vuelve un valor del tipo de matriz con un solo elemento nombrado event_state. Event_state es un valor devuelto del servidor EEM que indica independientemente de si un error ha ocurrido en el proceso del evento. Un ejemplo de un error aquí sería si el usuario configurado event_wait antes de configurar event_completion al manejar el caso del evento. La salida de muestra siguiente muestra el uso de ambos event_completion y event_wait de los comandos Tcl: ::cisco::eem::event_register_syslog tag e1 occurs 1 pattern CLEAR maxrun 0 namespace import ::cisco::eem::* namespace import ::cisco::lib::* set i 1 while {1 == 1} { # Start high performance policy loop array set arr_einfo [event_reqinfo] if {$_cerrno != 0} { set result [format "component=%s; subsys err=%s; posix err=%s;\n%s" \ $_cerr_sub_num $_cerr_sub_err $_cerr_posix_err $_cerr_str] error $result } action_syslog msg "event $i serviced" priority info if {$i == 5} { action_syslog msg "Exiting after servicing 5 events" priority info exit 0 } incr i event_completion status 0 array set _event_state_arr [event_wait refresh_vars 0] if {$_event_state_arr(event_state) != 0} { action_syslog msg "Exiting: failed event_state " \ " $event_state_arr(event_state)" priority info exit 0 } } Aquí está un ejemplo de la configuración corriente: Router# 01:00:44: %SYS-5-CONFIG_I: Configured from console by consoleclear counters Clear "show interface" counters on all interfaces [confirm] Router# 01:00:49: %CLEAR-5-COUNTERS: Clear counter on all interfaces by console 01:00:49: %HA_EM-6-LOG: high_perf_example.tcl: event 1 serviced Router# Router#clear counters Clear "show interface" counters on all interfaces [confirm] Router# Router# 01:00:53: %CLEAR-5-COUNTERS: Clear counter on all interfaces by console 01:00:53: %HA_EM-6-LOG: high_perf_example.tcl: event 2 serviced Router#clear counters Clear "show interface" counters on all interfaces [confirm] Router# Router# 01:00:56: %CLEAR-5-COUNTERS: Clear counter on all interfaces by console 01:00:56: %HA_EM-6-LOG: high_perf_example.tcl: event 3 serviced Router# Router# Router#clear counters Clear "show interface" counters on all interfaces [confirm] Router# 01:00:59: %CLEAR-5-COUNTERS: Clear counter on all interfaces by console Router# 01:00:59: %HA_EM-6-LOG: high_perf_example.tcl: event 4 serviced 01:00:59: %HA_EM-6-LOG: high_perf_example.tcl: Exiting after servicing 5 events Router# Router# Router#copy tftp disk1: Address or name of remote host [dirt]? Source filename [user/eem_scripts/high_perf_example.tcl]? Destination filename [high_perf_example.tcl]? %Warning:There is a file already existing with this name Do you want to over write? [confirm] Accessing tftp://dirt/user/eem_scripts/high_perf_example.tcl... Loading user/eem_scripts/high_perf_example.tcl from 192.0.2.19 (via FastEthernet0/0): ! [OK - 909 bytes] 909 bytes copied in 0.360 secs (2525 bytes/sec) Router# Router#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Router(config)#no event manager policy high_perf_example.tcl Router(config)#event manager po high_perf_example.tcl Router(config)#end Router# Router# Router# Router# 01:02:19: %SYS-5-CONFIG_I: Configured from console by consoleclear counters Clear "show interface" counters on all interfaces [confirm] Router# 01:02:23: %CLEAR-5-COUNTERS: Clear counter on all interfaces by console Router# Router# 01:02:23: %HA_EM-6-LOG: high_perf_example.tcl: event 1 serviced Router# Router#clear counters Clear "show interface" counters on all interfaces [confirm] Router# Router# 01:02:26: %CLEAR-5-COUNTERS: Clear counter on all interfaces by console 01:02:26: %HA_EM-6-LOG: high_perf_example.tcl: event 2 serviced Router# Router#clear counters Clear "show interface" counters on all interfaces [confirm] Router# Router# 01:02:29: %CLEAR-5-COUNTERS: Clear counter on all interfaces by console 01:02:29: %HA_EM-6-LOG: high_perf_example.tcl: event 3 serviced Router# Router#clear counters Clear "show interface" counters on all interfaces [confirm] Router# Router# 01:02:33: %CLEAR-5-COUNTERS: Clear counter on all interfaces by console Router# 01:02:33: %HA_EM-6-LOG: high_perf_example.tcl: event 4 serviced Router# Router#clear counters Clear "show interface" counters on all interfaces [confirm] Router# Router# Router# 01:02:36: %CLEAR-5-COUNTERS: Clear counter on all interfaces by console 01:02:36: %HA_EM-6-LOG: high_perf_example.tcl: event 5 serviced 01:02:36: %HA_EM-6-LOG: high_perf_example.tcl: Exiting after servicing 5 events Router# También mientras que un evento se ha mantenido y está esperando el evento siguiente para venir en show event manager policy active el comando visualizará el producto siguiente: Router#show event manager policy active Key: p - Priority :L - Low, H - High, N - Normal, Z - Last s - Scheduling node :A - Active, S - Standby default class - 1 script event no. job id p s status 1 11 N A wait high_perf_example.tcl time of event event type Mon Oct20 14:15:24 2008 syslog name En el ejemplo antedicho el estatus es espera. Esto indica que la directiva está esperando el evento siguiente para venir adentro. Extensiones del comando Tcl del soporte de los eventos múltiples EEM • activador • correlativo • atributo trigger Especifica la habilidad de configuración de los eventos múltiples de los eventos integrados del administrador del evento (EEM). Los eventos múltiples son uno que puede implicar uno o más acontecimientos del evento, uno o más los estados de objeto seguidos, y un período de tiempo para que el evento ocurra. Se aumentan los eventos basaron en los parámetros especificados. Sintaxis trigger [occurs ?] [period ?] [period-start ?] [delay ?] Argumentos occurs (Opcional) especifica la cantidad de veces que ocurre la correlación total antes de que se aumente un evento EEM. Cuando un número no se especifica, un evento EEM se aumenta en el primer acontecimiento. El rango es a partir la 1 a 4294967295. period Intervalo de tiempo (opcional) en los segundos y milisegundos opcionales, durante los cuales los uno o más acontecimientos deben ocurrir. Esto se especifica en el [.mmm] de los ssssssssss del formato, donde los ssssssssss deben ser un número del número entero que representa los segundos entre 0 y 4294967295, inclusivo y mmm representa los milisegundos y debe ser un número del número entero entre 0 a 999. period- (Opcional) especifica el comienzo de una ventana de la correlación de eventos. Si no start especificado, habilitan al monitoreo de evento después del primer período CRON ocurre. delay (Opcional) especifica el número de segundos y de milisegundos opcionales después de lo cual un evento será aumentado si todas las condiciones son verdades (especificado en el [.mmm] de los ssssssssss del formato, donde los ssssssssss deben ser un número del número entero que representa los segundos entre 0 y 4294967295, inclusivo y mmm representa los milisegundos y debe ser un número del número entero entre 0 a 999). Cadena de Resultado Ninguno Ajuste _cerrno No correlate Construye un solo evento complejo y permite que la lógica boleana relacione los eventos y los objetos seguidos. Sintaxis correlate event ? track ? [andnot | and | or] event ? track ? Argumentos event Especifica el evento que se puede utilizar con trigger el comando de soportar las declaraciones de los eventos múltiples dentro de un script. Si el evento asociado event-tag al argumento ocurre para la cantidad de veces especificado por trigger el comando, el resultado es verdad. Si no, el resultado es falso. track Especifica el número del objeto del evento para seguir. El rango es a partir la 1 a 500. Si se fija el objeto seguido, el resultado de la evaluación es verdad. Si el objeto seguido no se fija ni es indefinido, el resultado de la evaluación es falso. Este resultado está sin importar el estado del objeto. andnot (Opcional) especifica que si ocurre el evento 1 la acción está ejecutada, y si el evento 2 y el evento 3 ocurren juntos la acción no se ejecuta. y (Opcional) especifica que si ocurre el evento 1 la acción está ejecutada, y si el evento 2 y el evento 3 ocurren juntos se ejecuta la acción. o (Opcional) especifica que si ocurre el evento 1 la acción está ejecutada, o bien si el evento 2 y el evento 3 ocurren juntos se ejecuta la acción. Cadena de Resultado Ninguno Ajuste _cerrno No attribute Especifica un evento complejo. Sintaxis attribute tag ? [occurs ?] Argumentos tag Especifica una etiqueta usando event-tag el argumento que se puede utilizar con attribute el comando de asociar un evento. occurs (Opcional) especifica el número de acontecimientos antes de que se accione un evento EEM. Si no especificado, un evento EEM se acciona en el primer acontecimiento. El rango es a partir la 1 a 4294967295. Cadena de Resultado Ninguno Ajuste _cerrno No Extensiones de Comandos Tcl de Acciones de EEM • action_policy • action_process • action_program • action_reload • action_script • action_snmp_trap • action_snmp_object_value • action_switch • action_syslog • action_track_read • action_track_set action_policy Permite que un script Tcl funcione con una directiva integrada del administrador del evento (EEM) que se ha registrado con el ningunos detector de evento. La acción de funcionar con una directiva EEM se puede también realizar usando event manager run el comando. Sintaxis action_policy ? Argumentos ¿? (representa una cadena) (Obligatorio) el nombre de la directiva EEM que se programará para la ejecución. La directiva se debe haber registrado previamente con el ningunos detector de evento. Ninguno Cadena de Resultado Ninguno Ajuste _cerrno Sí (_cerr_sub_err = 2) FH_ESYSERR (generic/unknown error from OS/system) Este error significa que el sistema operativo notificó un error. El valor de POSIX errno que se comunica con el error se debe utilizar para determinar la causa del error del sistema operativo. (_cerr_sub_err = 12) FH_ENOSUCHEID (unknown event ID) Este error significa que la directiva es desconocida porque no se registra. (_cerr_sub_err = 14) FH_ENOSUCHACTION (unknown action type) Este error significa que el comando de acción solicitado era desconocido. action_process El comienzo, los reinicios, o mata a un proceso de la modularidad del software. Esta extensión del comando Tcl se soporta solamente en las imágenes de Software Modularity. Sintaxis action_process start|restart|kill [job_id ?] [process_name ?] [instance ?] Argumentos comience (Obligatorio) especifica que un proceso debe ser comenzado. reinicio (Obligatorio) especifica que un proceso debe ser recomenzado. matanza (Obligatorio) especifica que un proceso debe ser parado (matado). job_id El administrador del sistema (opcional) asignó el trabajo ID para el proceso. Si especifica este argumento, debe ser un número entero entre 1 y 4.294.967.295, inclusive. process_name Nombre del proceso (opcional). O el job_id debe ser especificado o el process_name y el caso deben ser especificados. caso (Opcional) ID de instancia de proceso. Si especifica este argumento, debe ser un número entero entre 1 y 4.294.967.295, inclusive. Cadena de Resultado Ninguno Ajuste _cerrno Sí (_cerr_sub_err = 14) FH_ENOSUCHACTION (unknown action type) Este error significa que el comando de acción solicitado era desconocido. (_cerr_sub_num = 425, _cerr_sub_err = 1) SYSMGR_ERROR_INVALID_ARGS passed) (Invalid arguments Este error significa que los argumentos pasajeros adentro eran inválidos. (_cerr_sub_num = 425, _cerr_sub_err = 2) SYSMGR_ERROR_NO_MEMORY required memory) (Could not allocate Este error significa que un pedido interno del SYSMGR la memoria falló. (_cerr_sub_num = 425, _cerr_sub_err = 5) SYSMGR_ERROR_NO_MATCH to sysmgr) (This process is not known Este error significa que el nombre del proceso no era sabido. (_cerr_sub_num = 425, _cerr_sub_err = 14) SYSMGR_ERROR_TOO_BIG (outside the valid limit) Este error significa que los tamaños de objeto excedieron su máximo. (_cerr_sub_num = 425, _cerr_sub_err = 15) SYSMGR_ERROR_INVALID_OP this process) (Invalid operation for Este error significa que la operación era inválida para el proceso. action_program Permite que un script Tcl funcione con un proceso POSIX (programa), opcionalmente con una cadena dada del argumento, una cadena del entorno, una cadena de caracteres estándar de la entrada (stdin), una cadena de caracteres estándar de la salida (stdout), o una cadena de caracteres del error estándar (stderr). Esta extensión del comando Tcl se soporta solamente en las imágenes de Software Modularity. Sintaxis action_program path ? [argv ?] [envp ?] [stdin ?] [stdout ?] [stderr ?] Argumentos trayectoria (Obligatorio) la cadena de caracteres de un programa a ejecutarse. argv (Opcional) la cadena del argumento del programa. envp (Opcional) la cadena del entorno del programa. stdin (Opcional) la cadena de caracteres para el stdin. stdout (Opcional) la cadena de caracteres para el stdout. stderr (Opcional) la cadena de caracteres para el stderr. Cadena de Resultado Ninguno Ajuste _cerrno Sí (_cerr_sub_err = 2) FH_ESYSERR (generic/unknown error from OS/system) Este error significa que el sistema operativo notificó un error. El valor de POSIX errno que se comunica con el error se debe utilizar para determinar la causa del error del sistema operativo. (_cerr_sub_err = 14) FH_ENOSUCHACTION (unknown action type) Este error significa que el comando de acción solicitado era desconocido. (_cerr_sub_err = 34) FH_EMAXLEN (maximum length exceeded) Este error significa que la longitud o el número del objeto ha excedido el máximo. action_reload Recarga al router. Sintaxis action_reload Argumentos Ninguno Cadena de Resultado Ninguno Ajuste _cerrno Sí (_cerr_sub_err = 2) FH_ESYSERR (generic/unknown error from OS/system) Este error significa que el sistema operativo notificó un error. El valor de POSIX errno que se comunica con el error se debe utilizar para determinar la causa del error del sistema operativo. (_cerr_sub_err = 14) FH_ENOSUCHACTION (unknown action type) Este error significa que el comando de acción solicitado era desconocido. action_script Permite que un script Tcl habilite o inhabilite la ejecución de todo el Scripts TCL (los permisos o inhabilitan el planificador de trabajos del script). Sintaxis action_script [status enable|disable] Argumento estatus (Opcional) señale por medio de una bandera para indicar el estatus de la ejecución del script. Si este argumento se fija para habilitar, se habilita la ejecución del script; si este argumento se fija para inhabilitar, se inhabilita la ejecución del script. s Cadena de Resultado Ninguno Ajuste _cerrno Sí (_cerr_sub_err = 2) FH_ESYSERR (generic/unknown error from OS/system) Este error significa que el sistema operativo notificó un error. El valor de POSIX errno que se comunica con el error se debe utilizar para determinar la causa del error del sistema operativo. (_cerr_sub_err = 14) FH_ENOSUCHACTION (unknown action type) Este error significa que el comando de acción solicitado era desconocido. (_cerr_sub_err = 52) FH_ECONFIG (configuration error) Este error significa que ha ocurrido un Error de configuración. action_snmp_trap Envía un Trap del Simple Network Management Protocol (SNMP) usando la notificación integrada MIB del administrador del evento. Sintaxis action_snmp_trap [intdata1 ?] [intdata2 ?] [strdata ?] Argumentos intdata1 (Opcional) Número entero arbitrario enviado en la trampa. intdata2 (Opcional) Número entero arbitrario enviado en la trampa. strdata Datos arbitrarios (opcionales) de la cadena enviados en el desvío. Cadena de Resultado Ninguno Ajuste _cerrno Sí (_cerr_sub_err = 2) FH_ESYSERR (generic/unknown error from OS/system) Este error significa que el sistema operativo notificó un error. El valor de POSIX errno que se comunica con el error se debe utilizar para determinar la causa del error del sistema operativo. (_cerr_sub_err = 14) FH_ENOSUCHACTION (unknown action type) Este error significa que el comando de acción solicitado era desconocido. action_snmp_object_value Fija un ID del objeto y un valor del Simple Network Management Protocol (SNMP) que se volverán para la petición get SNMP. Sintaxis action_snmp_object_value {int|uint|counter|gauge|ipv4|octet|counter64|string} ? [next_oid ?] Argumentos internacional Un número de 32 bits que se utiliza para especificar un tipo numerado en el contexto de un objeto administrado. uint Un número de 32 bits usado para representar el valor decimal. contador Un número de 32 bits con un valor mínimo de 0. indicador Un número de 32 bits con un valor mínimo de 0. ipv4 Versión IP direccionamiento 4. octeto Una cadena de octetos en la notación hexadecimal usada para representar a las direcciones físicas. contador 64 Un número 64-bit con un valor mínimo de 0. cadena Una cadena de octetos en la notación del texto usada para representar las cadenas de texto. next_oid El OID del objeto siguiente en la tabla; ANULE si es el objeto más reciente de la tabla. Cadena de Resultado Ninguno Ajuste _cerrno Sí action_switch Switches que procesa a un procesador secundario en un entorno completamente redundante. Antes de usar action_switch la extensión del comando Tcl, usted debe instalar un procesador de respaldo en el dispositivo. Si el hardware no es completamente redundante, la acción de Switchover no será realizada. Sintaxis action_switch Argumentos Ninguno Cadena de Resultado Ninguno Ajuste _cerrno Sí (_cerr_sub_err = 2) FH_ESYSERR (generic/unknown error from OS/system) Este error significa que el sistema operativo notificó un error. El valor de POSIX errno que se comunica con el error se debe utilizar para determinar la causa del error del sistema operativo. (_cerr_sub_err = 14) FH_ENOSUCHACTION (unknown action type) Este error significa que el comando de acción solicitado era desconocido. action_syslog Genera un mensaje de Syslog periódico usando el recurso especificado cuando se acciona un script EEM. Sintaxis action_syslog [priority emerg|alert|crit|err|warning|notice|info|debug] [msg ?] [facility ?] Argumentos prioridad (Opcional) el nivel del recurso de mensaje del action_syslog. Si este argumento no se especifica, la prioridad predeterminada está LOG_INFO. msg (Opcional) el mensaje que se registrará. recurso Instalaciones de Syslog (opcionales). Cadena de Resultado Ninguno Ajuste _cerrno Sí action_track_read Lee el estado de un objeto seguido cuando se acciona un script integrado del administrador del evento (EEM). Sintaxis action_track_read ? Argumentos ¿? (representa un número) (Obligatorio) Número de objeto de seguimiento en el rango de 1 a 500, ambos inclusive. Cadena de Resultado number {%u} state {%s} Ajuste _cerrno Sí FH_ENOTRACK Este error significa que no se encontró el número del objeto seguido. action_track_set Fija el estado de un objeto seguido cuando se acciona un script integrado del administrador del evento (EEM). Sintaxis action_track_set ? state up|down Argumentos ¿? (representa un número) (Obligatorio) Número de objeto de seguimiento en el rango de 1 a 500, ambos inclusive. estado (Obligatorio) especifica que el estado del objeto seguido será fijado. Si encima de se especifica, el estado del objeto seguido será fijado a para arriba. Si abajo se especifica, el estado del objeto seguido será fijado a abajo. Cadena de Resultado Ninguno Ajuste _cerrno Sí FH_ENOTRACK Este error significa que no se encontró el número del objeto seguido. Extensiones de Comandos de Tcl de Utilidades de EEM • appl_read • appl_reqinfo • appl_setinfo • counter_modify • descripción • fts_get_stamp • register_counter • register_timer • timer_arm • timer_cancel • unregister_counter appl_read Lee los datos integrados del volátil de la aplicación del administrador del evento (EEM). Esta extensión del comando Tcl proporciona el soporte para los datos de lectura del volátil de la aplicación EEM. Los datos volátiles de la aplicación EEM se pueden publicar por un proceso del Cisco IOS Software que utilice la aplicación EEM publique el API. Los datos volátiles de la aplicación EEM no se pueden publicar por una directiva EEM. La notaallí no es actualmente ningún proceso del Cisco IOS Software que publica los datos del volátil de la aplicación. Sintaxis appl_read name ? length ? Argumentos nombre El nombre (obligatorio) de la aplicación publicó los datos de la cadena. longitud Longitud (obligatoria) de los datos de la cadena a leer. Debe ser un número del número entero entre 1 y 4294967295, inclusivo. Cadena de Resultado data %s Donde están los datos los datos publicados aplicación de la cadena que se leerán. Ajuste _cerrno Sí (_cerr_sub_err = 2) FH_ESYSERR (generic/unknown error from OS/system) Este error significa que el sistema operativo notificó un error. El valor de POSIX errno que se comunica con el error se debe utilizar para determinar la causa del error del sistema operativo. (_cerr_sub_err = 7) FH_ENOSUCHKEY (could not find key) Este error significa que no se encontró la llave de info. u otro ID del detector de eventos de la aplicación. (_cerr_sub_err = 9) FH_EMEMORY (insufficient memory for request) Este error significa que ha fallado una solicitud interna de memoria procedente de EEM. appl_reqinfo Extrae la información previamente guardada del administrador del evento integrado (EEM). Esta extensión del comando Tcl proporciona el soporte para extraer la información de EEM que se ha guardado previamente con una clave única, que se debe especificar para extraer la información. Observe eso que extrae la información la borra de EEM. Debe resaved si se va a ser extraído otra vez. Sintaxis appl_reqinfo key ? Argumentos clave (Obligatorio) Llave de cadena de los datos. Cadena de Resultado data %s Donde están los datos los datos de la cadena de la aplicación que se extraerán. Ajuste _cerrno Sí (_cerr_sub_err = 2) FH_ESYSERR (generic/unknown error from OS/system) Este error significa que el sistema operativo notificó un error. El valor de POSIX errno que se comunica con el error se debe utilizar para determinar la causa del error del sistema operativo. (_cerr_sub_err = 7) FH_ENOSUCHKEY (could not find key) Este error significa que no se encontró la llave de info. u otro ID del detector de eventos de la aplicación. appl_setinfo Guarda la información en el administrador del evento integrado (EEM). Esta extensión del comando Tcl proporciona el soporte para guardar la información en el administrador del evento integrado que puede ser extraído más adelante por la misma directiva o por otra directiva. Una clave única debe ser especificada. Esta clave permite que la información sea extraída más adelante. Sintaxis appl_setinfo key ? data ? Argumentos clave (Obligatorio) Llave de cadena de los datos. datos (Obligatorio) los datos de la cadena de la aplicación a salvar. Cadena de Resultado Ninguno Ajuste _cerrno Sí (_cerr_sub_err = 2) FH_ESYSERR (generic/unknown error from OS/system) Este error significa que el sistema operativo notificó un error. El valor de POSIX errno que se comunica con el error se debe utilizar para determinar la causa del error del sistema operativo. (_cerr_sub_err = 8) FH_EDUPLICATEKEY (duplicate appl info key) Este error significa que la clave de la información del detector del evento de aplicación o el otro ID era un duplicado. (_cerr_sub_err = 9) FH_EMEMORY (insufficient memory for request) Este error significa que ha fallado una solicitud interna de memoria procedente de EEM. (_cerr_sub_err = 34) FH_EMAXLEN (maximum length exceeded) Este error significa que la longitud o el número del objeto ha excedido el máximo. (_cerr_sub_err = 43) FH_EBADLENGTH (bad API length) Este error significa que la longitud del mensaje API era inválida. counter_modify Modifica un valor de contador. Sintaxis counter_modify event_id ? val ? op nop|set|inc|dec Argumentos event_id (Obligatorio) el ID de evento contrario volvió por register_counter la extensión del comando Tcl. Debe ser un número entero entre 0 y 4294967295, ambos inclusive. val (Obligatorio) Observeobligatorio a menos que cuando se especifica la combinación de Op. Sys. del valor del argumento del nop. • Si es de Op. Sys. se fija, este argumento representa el valor de contador que debe ser fijado. • Si es de Op. Sys. es el inc., este argumento es el valor por el cual incrementar el contador. • Si es de Op. Sys. es diciembre, este argumento es el valor por el cual decrement el contador. op (Obligatorio) • nop — Extrae el valor de contador actual. • conjunto — Fija el valor de contador al valor dado. • inc. — Incrementa el valor de contador por el valor dado. • diciembre — Decrements el valor de contador por el valor dado. Cadena de Resultado val_remain %d Donde está el valor actual el val_remain del contador. Ajuste _cerrno Sí (_cerr_sub_err = 2) FH_ESYSERR (generic/unknown error from OS/system) Este error significa que el sistema operativo notificó un error. El valor de POSIX errno que se comunica con el error se debe utilizar para determinar la causa del error del sistema operativo. (_cerr_sub_err = 11) FH_ENOSUCHESID (unknown event specification ID) Este error significa que no se pudo hacer coincidir el ID de especificación de evento al registrar el evento o que la estructura de evento interna del detector de eventos está dañada. (_cerr_sub_err = 22) FH_ENULLPTR (event detector internal error - ptr is null) Este error significa que un puntero interno del detector de eventos de EEM era nulo cuando debía contener un valor. (_cerr_sub_err = 30) FH_ECTBADOPER (bad counter threshold operator) Este error significa que el conjunto contrario del detector de evento o modifica al operador era inválido. description Proporciona una Breve descripción de la directiva registradoa. Sintaxis description ? Argumentos línea Breve descripción (opcional) de los caracteres de la directiva 1 que consiste en a 240. Cadena de Resultado Ninguno Ajuste _cerrno Sí Ejemplo de Uso La declaración de la descripción es ingresada por el autor de la directiva. Puede aparecer antes o después de cualquier declaración del registro del evento en el Tcl. La directiva puede tener solamente una descripción. El registrode la nota de una directiva con más de una declaración de la descripción fallará. El siguiente ejemplo muestra cómo una Breve descripción se proporciona para event_register_syslog la directiva: ::cisco::eem::description "This Tcl command looks for the word count in syslog messages." ::cisco::eem::event_register_syslog tag 1 ... ::cisco::eem::event_register_snmp_object tag 2 ... ::cisco::eem::trigger ::cisco::eem::correlate event 1 and event 2 ::cisco::eem::attribute tag 1 occurs 1 ::cisco::eem::attribute tag 2 occurs 1 fts_get_stamp Vuelve el período de tiempo transcurrió puesto que el inicio del último software. Utilice esta extensión del comando Tcl para volver el número de nanosegundos puesto que inicio en un arsenal “nanosegundo nnnn” donde está el número el nnnn de nanosegundos. Sintaxis fts_get_stamp Argumentos Ninguno Cadena de Resultado nsec %d Donde está el número el nanosegundo de nanosegundos puesto que inicio. Ajuste _cerrno No register_counter Registra un contador y vuelve un ID de evento contrario. Esta extensión del comando Tcl es utilizada por un editor contrario para realizar este registro antes de usar el ID de evento para manipular el contador. Sintaxis register_counter name ? Argumentos nombre (Obligatorio) el nombre del en dirección contraria se manipule. Cadena de Resultado event_id %d event_spec_id %d Donde está el ID de evento el event_id contrario para el contador especificado; puede ser utilizado para manipular el contador por las Extensiones unregister_counter counter_modify o del comando Tcl. El argumento del event_spec_id es la especificación ID del evento para el contador especificado. Ajuste _cerrno Sí (_cerr_sub_err = 2) FH_ESYSERR (generic/unknown error from OS/system) Este error significa que el sistema operativo notificó un error. El valor de POSIX errno que se comunica con el error se debe utilizar para determinar la causa del error del sistema operativo. (_cerr_sub_err = 4) FH_EINITONCE (Init() is not yet done, or done twice.) Este error significa que la solicitud para registrar el evento específico se hizo antes de que el detector de eventos EEM hubiera terminado su inicialización. (_cerr_sub_err = 6) FH_EBADEVENTTYPE (unknown EEM event type) Este error significa que el tipo de evento especificado en la especificación del evento interno no era válido. (_cerr_sub_err = 9) FH_EMEMORY (insufficient memory for request) Este error significa que ha fallado una solicitud interna de memoria procedente de EEM. (_cerr_sub_err = 10) FH_ECORRUPT (internal EEM API context is corrupt) Este error significa que la estructura interna del contexto API de EEM está corrupta. (_cerr_sub_err = 11) FH_ENOSUCHESID (unknown event specification ID) Este error significa que no se pudo hacer coincidir el ID de especificación de evento al registrar el evento o que la estructura de evento interna del detector de eventos está dañada. (_cerr_sub_err = 12) FH_ENOSUCHEID (unknown event ID) Este error significa que el ID de evento no podría ser asociado cuando el acontecimiento se estuviera registrando, o que una estructura de eventos interna del detector de eventos está dañada. (_cerr_sub_err = 16) FH_EBADFMPPTR (bad ptr to fh_p data structure) Este error significa que el puntero de contexto que se utiliza en cada llamada a la API de EEM es incorrecto. (_cerr_sub_err = 17) FH_EBADADDRESS (bad API control block address) Este error significa que una dirección de bloqueo de control que transmitida a EEM API era incorrecta. (_cerr_sub_err = 22) FH_ENULLPTR (event detector internal error - ptr is null) Este error significa que un puntero interno del detector de eventos de EEM era nulo cuando debía contener un valor. (_cerr_sub_err = 25) FH_ESUBSEXCEED (number of subscribers exceeded) Este error significa que el número de suscriptores del temporizador o del contador excedió el máximo. (_cerr_sub_err = 26) FH_ESUBSIDXINV (invalid subscriber index) Este error significa que el índice del suscriptor no era válido. (_cerr_sub_err = 54) FH_EFDUNAVAIL (connection to event detector unavailable) Este error significa que el detector de eventos no estaba disponible. (_cerr_sub_err = 56) FH_EFDCONNERR (event detector connection error) Este error significa que el detector de eventos EEM que gestiona esta solicitud no está disponible. register_timer Registra un temporizador y vuelve un evento de temporización ID. Esta extensión del comando Tcl es utilizada por un editor del temporizador para realizar este registro antes de usar el ID de evento para manipular el temporizador si no utiliza event_register_timer la extensión del comando para registrarse como editor y suscriptor. Sintaxis register_timer watchdog|countdown|absolute|cron name ? Argumentos nombre (Obligatorio) el nombre del temporizador que se manipulará. Cadena de Resultado event_id %u Donde está el event_id el evento de temporización ID para el temporizador especificado (puede ser utilizado para manipular el temporizador por timer_arm o timer_cancel las Extensiones del comando). Ajuste _cerrno Sí (_cerr_sub_err = 2) FH_ESYSERR (generic/unknown error from OS/system) Este error significa que el sistema operativo notificó un error. El valor de POSIX errno que se comunica con el error se debe utilizar para determinar la causa del error del sistema operativo. (_cerr_sub_err = 4) FH_EINITONCE (Init() is not yet done, or done twice.) Este error significa que la solicitud para registrar el evento específico se hizo antes de que el detector de eventos EEM hubiera terminado su inicialización. (_cerr_sub_err = 6) FH_EBADEVENTTYPE (unknown EEM event type) Este error significa que el tipo de evento especificado en la especificación del evento interno no era válido. (_cerr_sub_err = 9) FH_EMEMORY (insufficient memory for request) Este error significa que ha fallado una solicitud interna de memoria procedente de EEM. (_cerr_sub_err = 10) FH_ECORRUPT (internal EEM API context is corrupt) Este error significa que la estructura interna del contexto API de EEM está corrupta. (_cerr_sub_err = 11) FH_ENOSUCHESID (unknown event specification ID) Este error significa que no se pudo hacer coincidir el ID de especificación de evento al registrar el evento o que la estructura de evento interna del detector de eventos está dañada. (_cerr_sub_err = 16) FH_EBADFMPPTR (bad ptr to fh_p data structure) Este error significa que el puntero de contexto que se utiliza en cada llamada a la API de EEM es incorrecto. (_cerr_sub_err = 17) FH_EBADADDRESS (bad API control block address) Este error significa que una dirección de bloqueo de control que transmitida a EEM API era incorrecta. (_cerr_sub_err = 22) FH_ENULLPTR (event detector internal error - ptr is null) Este error significa que un puntero interno del detector de eventos de EEM era nulo cuando debía contener un valor. (_cerr_sub_err = 25) FH_ESUBSEXCEED (number of subscribers exceeded) Este error significa que el número de suscriptores del temporizador o del contador excedió el máximo. (_cerr_sub_err = 26) FH_ESUBSIDXINV (invalid subscriber index) Este error significa que el índice del suscriptor no era válido. (_cerr_sub_err = 54) FH_EFDUNAVAIL (connection to event detector unavailable) Este error significa que el detector de eventos no estaba disponible. (_cerr_sub_err = 56) FH_EFDCONNERR (event detector connection error) Este error significa que el detector de eventos EEM que gestiona esta solicitud no está disponible. timer_arm Arma un temporizador. El tipo podría ser CRON, perro guardián, cuenta descendiente, o absoluto. Sintaxis timer_arm event_id ? cron_entry ?|time ? Argumentos event_id (Obligatorio) el evento de temporización ID volvió por register_timer la extensión del comando. Debe ser un número entero entre 0 y 4294967295, ambos inclusive. cron_entry (Obligatorio) debe existir si el tipo del temporizador es CRON. Necesidad no existir para otros tipos de temporizador. La especificación del temporizador CRON utiliza el formato de la entrada de tabla CRON. hora (Obligatorio) debe existir si el tipo del temporizador no es CRON. Necesidad no existir si el tipo del temporizador es CRON. Para los temporizadores de watchdog y cuenta atrás, el número de segundos y milisegundos hasta que el temporizador caduca; para un temporizador absoluto, la época del calendario del vencimiento (especificado en el formato del [.MMM] SSSSSSSSSS, donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 4294967295, inclusivo, y donde el MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Una fecha de vencimiento absoluta es el número de segundos y milisegundos desde el 1 de enero de 1970. Si la fecha especificada ya ha pasado, el temporizador caduca inmediatamente. Cadena de Resultado sec_remain %ld msec_remain %ld Donde sec_remain y msec_remain indican el tiempo restante antes de la siguiente caducidad del temporizador. Observeel valor A de 0 será vuelto para los argumentos del sec_remain y del msec_remain si el tipo del temporizador es CRON. Ajuste _cerrno Sí (_cerr_sub_err = 2) FH_ESYSERR (generic/unknown error from OS/system) Este error significa que el sistema operativo notificó un error. El valor de POSIX errno que se comunica con el error se debe utilizar para determinar la causa del error del sistema operativo. (_cerr_sub_err = 6) FH_EBADEVENTTYPE (unknown EEM event type) Este error significa que el tipo de evento especificado en la especificación del evento interno no era válido. (_cerr_sub_err = 9) FH_EMEMORY (insufficient memory for request) Este error significa que ha fallado una solicitud interna de memoria procedente de EEM. (_cerr_sub_err = 11) FH_ENOSUCHESID (unknown event specification ID) Este error significa que no se pudo hacer coincidir el ID de especificación de evento al registrar el evento o que la estructura de evento interna del detector de eventos está dañada. (_cerr_sub_err = 12) FH_ENOSUCHEID (unknown event ID) Este error significa que el ID de evento no podría ser asociado cuando el acontecimiento se estuviera registrando, o que una estructura de eventos interna del detector de eventos está dañada. (_cerr_sub_err = 22) FH_ENULLPTR (event detector internal error - ptr is null) Este error significa que un puntero interno del detector de eventos de EEM era nulo cuando debía contener un valor. (_cerr_sub_err = 27) FH_ETMDELAYZR (zero delay time) Este error significa que el tiempo especificado para armar un temporizador era cero. (_cerr_sub_err = 42) FH_ENOTREGISTERED (request for event spec that is unregistered) Este error significa que el evento no fue registrado. (_cerr_sub_err = 54) FH_EFDUNAVAIL (connection to event detector unavailable) Este error significa que el detector de eventos no estaba disponible. (_cerr_sub_err = 56) FH_EFDCONNERR (event detector connection error) Este error significa que el detector de eventos EEM que gestiona esta solicitud no está disponible. timer_cancel Cancela un temporizador. Sintaxis timer_cancel event_id ? Argumentos event_id (Obligatorio) el evento de temporización ID volvió por register_timer la extensión del comando. Debe ser un número entero entre 0 y 4294967295, ambos inclusive. Cadena de Resultado sec_remain %ld msec_remain %ld Donde sec_remain y msec_remain indican el tiempo restante antes de la siguiente caducidad del temporizador. Observeel valor A de 0 será vuelto para el sec_remain y el msec_remain si el tipo del temporizador es CRON. Ajuste _cerrno Sí (_cerr_sub_err = 2) FH_ESYSERR (generic/unknown error from OS/system) Este error significa que el sistema operativo notificó un error. El valor de POSIX errno que se comunica con el error se debe utilizar para determinar la causa del error del sistema operativo. (_cerr_sub_err = 6) FH_EBADEVENTTYPE (unknown EEM event type) Este error significa que el tipo de evento especificado en la especificación del evento interno no era válido. (_cerr_sub_err = 7) FH_ENOSUCHKEY (could not find key) Este error significa que no se encontró la llave de info. u otro ID del detector de eventos de la aplicación. (_cerr_sub_err = 11) FH_ENOSUCHESID (unknown event specification ID) Este error significa que no se pudo hacer coincidir el ID de especificación de evento al registrar el evento o que la estructura de evento interna del detector de eventos está dañada. (_cerr_sub_err = 12) FH_ENOSUCHEID (unknown event ID) Este error significa que el ID de evento no podría ser asociado cuando el acontecimiento se estuviera registrando, o que una estructura de eventos interna del detector de eventos está dañada. (_cerr_sub_err = 22) FH_ENULLPTR (event detector internal error - ptr is null) Este error significa que un puntero interno del detector de eventos de EEM era nulo cuando debía contener un valor. (_cerr_sub_err = 54) FH_EFDUNAVAIL (connection to event detector unavailable) Este error significa que el detector de eventos no estaba disponible. (_cerr_sub_err = 56) FH_EFDCONNERR (event detector connection error) Este error significa que el detector de eventos EEM que gestiona esta solicitud no está disponible. unregister_counter Desregistra un contador. Esta extensión del comando Tcl es utilizada por un editor contrario para desregistrar un contador que fue registrado previamente con register_counter la extensión del comando Tcl. Sintaxis unregister_counter event_id ? event_spec_id ? Argumentos event_id (Obligatorio) contradiga el ID de evento vuelto por register_counter la extensión del comando. Debe ser un número entero entre 0 y 4294967295, ambos inclusive. event_spec_id (Obligatorio) contradiga la especificación ID del evento para el contador especificado vuelto por register_counter la extensión del comando. Debe ser un número entero entre 0 y 4294967295, ambos inclusive. Cadena de Resultado Ninguno Ajuste _cerrno Sí (_cerr_sub_err = 2) FH_ESYSERR (generic/unknown error from OS/system) Este error significa que el sistema operativo notificó un error. El valor de POSIX errno que se comunica con el error se debe utilizar para determinar la causa del error del sistema operativo. (_cerr_sub_err = 9) FH_EMEMORY (insufficient memory for request) Este error significa que ha fallado una solicitud interna de memoria procedente de EEM. (_cerr_sub_err = 11) FH_ENOSUCHESID (unknown event specification ID) Este error significa que no se pudo hacer coincidir el ID de especificación de evento al registrar el evento o que la estructura de evento interna del detector de eventos está dañada. (_cerr_sub_err = 22) FH_ENULLPTR (event detector internal error - ptr is null) Este error significa que un puntero interno del detector de eventos de EEM era nulo cuando debía contener un valor. (_cerr_sub_err = 26) FH_ESUBSIDXINV (invalid subscriber index) Este error significa que el índice del suscriptor no era válido. (_cerr_sub_err = 54) FH_EFDUNAVAIL (connection to event detector unavailable) Este error significa que el detector de eventos no estaba disponible. (_cerr_sub_err = 56) FH_EFDCONNERR (event detector connection error) Este error significa que el detector de eventos EEM que gestiona esta solicitud no está disponible. Extensiones del Comando Tcl de Información del Sistema EEM • sys_reqinfo_cli_freq • sys_reqinfo_cli_history • sys_reqinfo_cpu_all • sys_reqinfo_crash_history • sys_reqinfo_mem_all • sys_reqinfo_proc • sys_reqinfo_proc_all • sys_reqinfo_routername • sys_reqinfo_snmp • sys_reqinfo_syslog_freq • sys_reqinfo_syslog_history Observetodos los comandos de la información del sistema EEMsys_reqinfo_xxx — — tienen la sección del _cerrno del conjunto fijada a sí. sys_reqinfo_cli_freq Pregunta la información de la frecuencia de todos los eventos de comando line interface(cli). Sintaxis sys_reqinfo_cli_freq Argumentos Ninguno Cadena de Resultado rec_list {{CLI frequency string 0},{CLI frequency str 1}, ...} Donde está cada cadena de la frecuencia CLI: el %u del raise_count del %u del match_count del time_msec %ld del time_sec %ld ocurre el period_sec %ld del %u modelo del period_msec %ld {%s} rec_list Marca el comienzo de la lista de frecuencia del evento CLI. time_sec time_msec Última vez en que este evento CLI fue aumentado. cuenta de la coincidencia La cantidad de veces que un comando CLI hace juego el modelo especificó por esta especificación del evento CLI. raise_count Cantidad de veces que este evento CLI fue aumentado. Los campos siguientes son información sobre la especificación del evento CLI: • sincronice — Un Sí significa que el evento publica se debe realizar sychronously. El detector de evento será notificado cuando el servidor del administrador del evento ha completado publicando el evento. El servidor del administrador del evento volverá un código que indique independientemente de si el comando CLI debe ser ejecutado. • salto — Un Sí significa que el comando CLI no debe ser ejecutado si el indicador del sincronizar no se fija. ocurre El número de acontecimientos antes de un evento se aumenta; si este argumento no se especifica, un evento se aumenta en el primer acontecimiento. period_sec period_msec El número de acontecimientos debe ocurrir dentro de este número de unidades del temporizador POSIX para aumentar el evento; si este argumento no se especifica, no se aplica. modelo Expresión normal usada para realizar las coincidencias de patrones del comando CLI. Ajuste _cerrno Sí sys_reqinfo_cli_history Pregunta el historial de los comandos del comando line interface(cli). Sintaxis sys_reqinfo_cli_history Argumentos Ninguno Cadena de Resultado rec_list {{CLI history string 0}, {CLI history str 1},...} Donde está cada cadena del historial CLI: time_sec %ld time_msec %ld cmd {%s} rec_list Marca el comienzo de la lista de historial del comando CLI. time_msec del time_sec Tiempo en que funcionaron con al comando CLI. cmd Texto del comando CLI. Ajuste _cerrno Sí sys_reqinfo_cpu_all Pregunta la utilización de la CPU de los procesos superiores (los procesos y los procesos IOS POSIX) durante un periodo de tiempo especificado y en una orden especificada. Esta extensión del comando Tcl se soporta solamente en las imágenes de Software Modularity. Sintaxis sys_reqinfo_cpu_all order cpu_used [sec ?] [msec ?] [num ?] Argumentos orden Orden (obligatoria) usada para clasificar la utilización de la CPU de los procesos. cpu_used (Obligatorio) especifica que la utilización de la CPU media, para la ventana del tiempo especificado, será clasificada en el orden descendente. sec (Opcional) el período de tiempo, en los segundos y los milisegundos, durante los cuales milisegundo se calcula la utilización de la CPU media. Deben ser enteros en el rango de 0 a 4294967295. Si no especificado, o si el sec y el milisegundo se especifican como 0, se utiliza la muestra más reciente CPU. numérico (Opcional) Número de entradas desde la parte superior de la lista ordenada de procesos que se van a mostrar. Debe ser un número entero en el rango de 1 a 4294967295. El valor predeterminado es 5. Cadena de Resultado rec_list {{process CPU info string 0},{process CPU info string 1}, ...} Donde está cada cadena de la información del proceso CPU: pid %u name {%s} cpu_used %u rec_list Marca el comienzo de la lista de la información del proceso CPU. pid ID del proceso. nombre Nombre del proceso. cpu_used Especifica que si el sec y el milisegundo se especifican con un número mayor de cero, el porcentaje medio está calculado de la utilización de la CPU de proceso durante el periodo de tiempo especificado. Si el sec y el milisegundo son ambo cero o no especificado, el porcentaje medio se calcula de la utilización de la CPU de proceso en la última muestra. Ajuste _cerrno Sí sys_reqinfo_crash_history Pregunta la información del desperfecto de todos los procesos que han causado un crash nunca. Esta extensión del comando Tcl se soporta solamente en las imágenes de Software Modularity. Sintaxis sys_reqinfo_crash_history Argumentos Ninguno Cadena de Resultado rec_list {{crash info string 0},{crash info string 1}, ...} Where each crash info string is: job_id %u name {%s} respawn_count %u fail_count %u dump_count %u inst_id %d exit_status 0x%x exit_type %d proc_state {%s} component_id 0x%x crash_time_sec %ld crash_time_msec %ld job_id ID de trabajo asignado por el administrador del sistema para el proceso. Un número entero entre 1 y 4.294.967.295, inclusive. nombre Nombre del proceso. respawn_count Número total de reinicios para el proceso. fail_count Número de intentos de reinicio del proceso. Esta cuenta se restablece a cero cuando el proceso se reinicia con éxito. dump_count Número de vaciados de memoria realizados. inst_id ID de instancia de proceso. exit_status El estado de salida más más reciente del proceso. exit_type El tipo de salida más reciente. proc_state Estados del proceso Sysmgr. Uno del siguiente: error, forced_stop, hold, init, ready_to_run, run, run_rnode, stop, waitEOltimer, wait_rnode, wait_spawntimer, wait_tpl. component_id ID de componente asignado por el administrador de versiones al componente al que pertenece el proceso. crash_time_sec Los segundos y los milisegundos desde el 1 de enero, 1970, que representan la crash_time_msec última vez el proceso causó un crash. Ajuste _cerrno Sí sys_reqinfo_mem_all Pregunta el uso de la memoria de los procesos superiores (POSIX y IOS) durante un periodo de tiempo especificado y en una orden especificada. Esta extensión del comando Tcl se soporta solamente en las imágenes de Software Modularity. Sintaxis sys_reqinfo_mem_all order allocates|increase|used [sec ?] [msec ?] [num ?] Argumentos orden Orden (obligatoria) usada para clasificar el uso de la memoria de los procesos. afecta un aparato (Obligatorio) especifica que el uso de la memoria es clasificado por el número de asignaciones de proceso durante la ventana del tiempo especificado, y en el orden descendente. aumente (Obligatorio) especifica que el uso de la memoria es clasificado por el porcentaje del incremento de memoria de proceso durante la ventana del tiempo especificado, y en el orden descendente. utilizado (Obligatorio) especifica que el uso de la memoria es clasificado por la memoria actual usada por el proceso. sec (Opcional) el período de tiempo, en los segundos y los milisegundos, durante los milisegundo cuales se calcula el uso de la memoria de proceso. Deben ser enteros en el rango de 0 a 4294967295. Si el sec y el milisegundo se especifican y son no-cero, el número de asignaciones es la diferencia entre el número de asignaciones en las muestras más viejas y últimas recogidas en el período de tiempo. El porcentaje se calcula como el diferencia del porcentaje entre la memoria usada en las muestras más viejas y últimas recogidas en el período de tiempo. Si no especificado, o si el sec y el milisegundo se especifican como 0, la primera muestra recogida nunca se utiliza como la muestra más vieja; es decir, el período de tiempo se fija para ser el tiempo del lanzamiento hasta el momento actual. numérico (Opcional) Número de entradas desde la parte superior de la lista ordenada de procesos que se van a mostrar. Debe ser un número entero en el rango de 1 a 4294967295. El valor predeterminado es 5. Cadena de Resultado rec_list {{process mem info string 0},{process mem info string 1}, ...} Donde está cada cadena de proceso de la información del mem: pid %u name {%s} delta_allocs %d initial_alloc %u current_alloc %u percent_increase %d rec_list Marca el comienzo de la lista de proceso de la información del uso de la memoria. pid ID del proceso. nombre Nombre del proceso. delta_allocs Especifica la diferencia entre el número de asignaciones en las muestras más viejas y últimas recogidas en el período de tiempo. initial_alloc Especifica la cantidad de memoria, en los kilobytes, usados por el proceso al inicio del período de tiempo. current_alloc Especifica la cantidad de memoria, en los kilobytes, usados actualmente por el proceso. percent_increase Especifica la diferencia del porcentaje entre la memoria usada en las muestras más viejas y últimas recogidas en el período de tiempo. La diferencia del porcentaje se puede expresar como current_alloc menos los tiempos del initial_alloc 100 y dividir por el initial_alloc. Ajuste _cerrno Sí sys_reqinfo_proc Pregunta la información sobre un solo proceso POSIX. Esta extensión del comando Tcl se soporta solamente en las imágenes de Software Modularity. Sintaxis sys_reqinfo_proc job_id ? Argumentos job_id El administrador del sistema (obligatorio) asignó el trabajo ID para el proceso. Debe ser un número entero entre 1 y 4294967295, ambos inclusive. Cadena de Resultado job_id %u component_id 0x%x name {%s} helper_name {%s} helper_path {%s} path {%s} node_name {%s} is_respawn %u is_mandatory %u is_hold %u dump_option %d max_dump_count %u respawn_count %u fail_count %u dump_count %u last_respawn_sec %ld last_respawn_msec %ld inst_id %u proc_state %s level %d exit_status 0x%x exit_type %d job_id ID de trabajo asignado por el administrador del sistema para el proceso. Un número entero entre 1 y 4.294.967.295, inclusive. component_id ID de componente asignado por el administrador de versiones al componente al que pertenece el proceso. nombre Nombre del proceso. helper_name Nombre del proceso del ayudante. helper_path Trayecto ejecutable del proceso del ayudante. trayectoria Trayecto ejecutable del proceso. node_name El administrador del sistema asignó el Nombre del nodo para el nodo al cual el proceso pertenece. is_respawn Señale por medio de una bandera que especifica que el proceso puede respawned. is_mandatory Señale por medio de una bandera que especifica que el proceso debe estar vivo. is_hold Señale por medio de una bandera que especifica que el proceso es spawn/generado hasta llamado por el API. dump_option Base que vacia las opciones. max_dump_count Número máximo de base que vacia permitido. respawn_count Número total de reinicios para el proceso. fail_count Número de intentos de reinicio del proceso. Esta cuenta se restablece a cero cuando el proceso se reinicia con éxito. dump_count Número de vaciados de memoria realizados. last_respawn_sec Los segundos y los milisegundos en las unidades del temporizador POSIX last_respawn_msec desde el 1 de enero, 1970, que representan la última vez el proceso fue comenzado. inst_id ID de instancia de proceso. proc_state Estados del proceso Sysmgr. Uno del siguiente: error, forced_stop, hold, init, ready_to_run, run, run_rnode, stop, waitEOltimer, wait_rnode, wait_spawntimer, wait_tpl. nivel Nivel del funcionamiento del proceso. exit_status El estado de salida más más reciente del proceso. exit_type El tipo de salida más reciente. Ajuste _cerrno Sí sys_reqinfo_proc_all Pregunta la información de todos los procesos POSIX. Esta extensión del comando Tcl se soporta solamente en las imágenes de Software Modularity. Sintaxis sys_reqinfo_proc_all Argumentos Ninguno Cadena de Resultado rec_list {{process info string 0}, {process info string 1},...} Donde está lo mismo cada cadena de la información de proceso que la cadena del resultado sysreq_info_proc de la extensión del comando Tcl. Ajuste _cerrno Sí sys_reqinfo_routername Pregunta el nombre del router. Sintaxis sys_reqinfo_routername Argumentos Ninguno Cadena de Resultado routername %s Donde está el nombre el routername del router. Ajuste _cerrno Sí sys_reqinfo_snmp Pregunta el valor de la entidad especificado por una identificación de objeto del Simple Network Management Protocol (SNMP) Sintaxis sys_reqinfo_snmp oid ? get_type exact|next Argumentos oid SNMP (obligatorio) OID en la notación del punto (por ejemplo, 1.3.6.1.2.1.2.1.0). get_type El tipo (obligatorio) de SNMP consigue la operación que necesita ser aplicada al oid especificado. Si el get_type es “exacto,” el valor del oid especificado se extrae; si el get_type está “después,” el valor del sucesor lexicográfico al oid especificado se extrae. Cadena de Resultado oid {%s} value {%s} oid SNMP OID. valor Cadena del valor del elemento de datos SNMP asociado. Ajuste _cerrno Sí (_cerr_sub_err = 2) FH_ESYSERR (generic/unknown error from OS/system) Este error significa que el sistema operativo notificó un error. El valor de POSIX errno que se comunica con el error se debe utilizar para determinar la causa del error del sistema operativo. (_cerr_sub_err = 22) FH_ENULLPTR (event detector internal error - ptr is null) Este error significa que un puntero interno del detector de eventos de EEM era nulo cuando debía contener un valor. (_cerr_sub_err = 37) FH_ENOSNMPDATA (can't retrieve data from SNMP) Este error significa que no había datos para el tipo de objeto SNMP. (_cerr_sub_err = 51) FH_ESTATSTYP (invalid statistics data type) Este error significa que el tipo de datos de las estadísticas SNMP era inválido. (_cerr_sub_err = 54) FH_EFDUNAVAIL (connection to event detector unavailable) Este error significa que el detector de eventos no estaba disponible. sys_reqinfo_syslog_freq Pregunta la información de la frecuencia de todos los eventos de syslog. Sintaxis sys_reqinfo_syslog_freq Argumentos Ninguno Cadena de Resultado rec_list {{event frequency string 0}, {log freq str 1}, ...} Donde está cada cadena de la frecuencia del evento: time_sec %ld time_msec %ld match_count %u raise_count %u occurs %u period_sec %ld period_msec %ld pattern {%s} time_sec time_msec Los segundos y los milisegundos en las unidades del temporizador POSIX desde el 1 de enero, 1970, que representan el tiempo el evento más reciente fue aumentado. match_count La cantidad de veces que un mensaje de Syslog hace juego el modelo especificó por esta especificación del evento de syslog desde el registro del evento. raise_count Cantidad de veces que este evento de syslog fue aumentado. ocurre El número de acontecimientos necesitó para aumentar el evento; si no se especifica, el evento se produce en la primera aparición. period_sec El número de acontecimientos debe ocurrir dentro de este número de unidades del period_msec temporizador POSIX para aumentar el evento; si no especificado, el control del período no se aplica. modelo Expresión normal usada para realizar las coincidencias de patrones del mensaje de Syslog. Ajuste _cerrno Sí (_cerr_sub_err = 2) FH_ESYSERR (generic/unknown error from OS/system) Este error significa que el sistema operativo notificó un error. El valor de POSIX errno que se comunica con el error se debe utilizar para determinar la causa del error del sistema operativo. (_cerr_sub_err = 9) FH_EMEMORY (insufficient memory for request) Este error significa que ha fallado una solicitud interna de memoria procedente de EEM. (_cerr_sub_err = 22) FH_ENULLPTR (event detector internal error - ptr is null) Este error significa que un puntero interno del detector de eventos de EEM era nulo cuando debía contener un valor. (_cerr_sub_err = 45) FH_ESEQNUM (sequence or workset number out of sync) Este error significa que la secuencia del detector de eventos o el número de workset era inválido. (_cerr_sub_err = 46) FH_EREGEMPTY (registration list is empty) Este error significa que la lista del registro del detector de evento estaba vacía. (_cerr_sub_err = 54) FH_EFDUNAVAIL (connection to event detector unavailable) Este error significa que el detector de eventos no estaba disponible. sys_reqinfo_syslog_history Pregunta el historial del mensaje de Syslog especificado. Sintaxis sys_reqinfo_syslog_history Argumentos Ninguno Cadena de Resultado rec_list {{log hist string 0}, {log hist str 1}, ...} Donde está cada cadena del hist del registro: time_sec %ld time_msec %ld msg {%s} time_sec Los segundos y los milisegundos desde el 1 de enero, 1970, que representan el tiempo time_msec el mensaje fue registrado. msg Mensaje de Syslog. Ajuste _cerrno Sí (_cerr_sub_err = 2) FH_ESYSERR (generic/unknown error from OS/system) Este error significa que el sistema operativo notificó un error. El valor de POSIX errno que se comunica con el error se debe utilizar para determinar la causa del error del sistema operativo. (_cerr_sub_err = 22) FH_ENULLPTR (event detector internal error - ptr is null) Este error significa que un puntero interno del detector de eventos de EEM era nulo cuando debía contener un valor. (_cerr_sub_err = 44) FH_EHISTEMPTY (history list is empty) Este error significa que la lista de historial estaba vacía. (_cerr_sub_err = 45) FH_ESEQNUM (sequence or workset number out of sync) Este error significa que la secuencia del detector de eventos o el número de workset era inválido. (_cerr_sub_err = 54) FH_EFDUNAVAIL (connection to event detector unavailable) Este error significa que el detector de eventos no estaba disponible. Extensiones del Comando Debug de la Biblioteca EEM • cli_debug • smtp_debug cli_debug Imprime una declaración del debug del comando line interface(cli) al Syslog. Esta extensión del comando Tcl se utiliza para imprimir una declaración del debug CLI al Syslog si debug event manager tcl cli_library el comando del Cisco IOS CLI está en efecto. Sintaxis cli_debug spec_string debug_string Argumentos el spec_string (Obligatorio) El argumento spec_string se usa para indicar el tipo de sentencia de debug. el debug_string (Obligatorio) El argumento debug_string se utiliza para indicar el texto de debugging. Cadena de Resultado Ninguno Ajuste _cerrno No smtp_debug Imprime una declaración del debug del Simple Mail Transfer Protocol (SMTP) al Syslog. Esta extensión del comando Tcl imprime una declaración del debug S TP al Syslog si debug event manager tcl smtp_library el comando line interface (cli) del Cisco IOS está en efecto. Sintaxis smtp_debug spec_string debug_string Argumentos el spec_string (Obligatorio) El argumento spec_string se usa para indicar el tipo de sentencia de debug. el debug_string (Obligatorio) El argumento debug_string se utiliza para indicar el texto de debugging. Cadena de Resultado Ninguno Ajuste _cerrno No Extensiones de Comando de la Biblioteca SMTP Todas las Extensiones del comando de la biblioteca del Simple Mail Transfer Protocol (SMTP) pertenecen al:: Cisco:: namespace de la liberación. Para utilizar esta biblioteca, el usuario necesita proporcionar un archivo de plantilla del email. El archivo de plantilla puede incluir las variables globales Tcl para poder configurar el servicio de email y el texto del email a través event manager environment Cisco IOS del comando configuration del comando line interface(cli). Hay comandos en esta biblioteca de substituir las variables globales en el archivo de plantilla del email y de enviar el contexto deseado del email con para dirigir, direccionamiento del CC, del direccionamiento, y de los asuntos configurados correctamente usando el servidor configurado del email. Plantilla del email El archivo de plantilla del email tiene el formato siguiente: Observebasado en el RFC 2554, el email S TP Nombre del servidor — Mailservername — puede estar en de los formatos siguientes de la plantilla: nombre de usuario: password@host, username@host, o host. Mailservername:<space><the list of candidate SMTP server addresses> From:<space><the e-mail address of sender> To:<space><the list of e-mail addresses of recipients> Cc:<space><the list of e-mail addresses that the e-mail will be copied to> Sourceaddr:<space><the IP addresses of the recipients> Subject:<subject line> <a blank line> <body> Observela nota que la plantilla incluye normalmente las variables globales Tcl que se configurarán. Abajo está un archivo de plantilla del email de la muestra: Mailservername: $_email_server From: $_email_from To: $_email_to Cc: $_email_cc Sourceaddr: $_email_ipaddr Subject: From router $routername: Process terminated process name: $process_name subsystem: $sub_system exit status: $exit_status respawn count: $respawn_count Extensiones de comando de Tcl Exportadas • smtp_send_email • smtp_subst smtp_send_email Dado el texto de un archivo de plantilla del email con todas las variables globales substituido ya, manda el email usando el Simple Mail Transfer Protocol (SMTP). La plantilla del email especifica los direccionamientos del mail server del candidato, a los direccionamientos, a los direccionamientos del CC, del direccionamiento, de los asuntos, y del cuerpo del correo electrónico. Observela lista A de candidato que los servidores del email pueden ser proporcionados de modo que la biblioteca intente conectar los servidores en la lista uno por uno hasta que pueda conectar con éxito con uno de ellos. Sintaxis smtp_send_email text Argumento texto (Obligatorio) el texto de un archivo de plantilla del email con todas las variables globales substituido ya. s Cadena de Resultado Ninguno Ajuste _cerrno • Perjudique el 1r formato de línea — Mailservername: lista de nombres de servidor. • Perjudique el 2do formato de línea — De: de-direccionamiento. • Perjudique el 3ro formato de línea — A: lista de a-direccionamientos. • Perjudique el 4to formato de línea — CC: lista de cc-direccionamientos. • Error al conectar con el servidor de correo: — $sock cerrado por el servidor remoto (donde $sock es el nombre del socket abierto al servidor de mail). • Error al conectar con el servidor de correo: — el código de la contestación $sock es $k en vez del saludo listo del servicio (donde está el nombre $sock del socket abierto en el mail server; $k es el código de la contestación de $sock). • Error al conectar con el servidor de correo: — no puede conectar con todos los servidores del correo del candidato. • Error que desconecta del mail server: — $sock cerrado por el servidor remoto (donde $sock es el nombre del socket abierto al servidor de mail). Secuencias de comandos de ejemplo Después de todo las variables globales necesarias en la plantilla del email se definen: if [catch {smtp_subst [file join $tcl_library email_template_sm]} result] { puts stderr $result exit 1 } if [catch {smtp_send_email $result} result] { puts stderr $result exit 1 } smtp_subst Dado un e-mail_template del archivo de plantilla del email, substituye cada variable global en el archivo por su valor definido por el usuario. Vuelve el texto del archivo después de la substitución. Sintaxis smtp_subst e-mail_template Argumento eNombre (obligatorio) de un archivo de plantilla del email en el cual las variables mail_template globales necesitan ser substituidas por un valor definido por el usuario. Un nombre de fichero del ejemplo podría ser /disk0://example.template que representa un archivo nombrado example.template en un directorio a nivel superior en un disco Flash ATA en el slot0. s Cadena de Resultado El texto del archivo de plantilla del email con todas las variables globales substituido. Ajuste _cerrno • no puede abrir el archivo de plantilla del email • no puede cerrar el archivo de plantilla del email Extensiones de Comando de la Biblioteca CLI Todas las Extensiones del comando de la biblioteca de comando line interface(cli) pertenecen al :: Cisco:: eem. Esta biblioteca proporciona a los usuarios la capacidad de funcionar con los comandos CLI y de conseguir la salida de los comandos en el Tcl. Los usuarios pueden utilizar los comandos en esta biblioteca de spawn/generar un ejecutivo y abrir un canal del Terminal virtual en él, escriba el comando de ejecutar al canal de modo que el comando sea ejecutado por el ejecutivo, y de releer la salida del comando. Hay dos tipos de comandos CLI: comandos interactivos y comandos no interactivos. Para los comandos interactivos, después de que el comando se ingrese, habrá una fase del “Q&A” en la cual el router pedirá diversa Opción del usuario, y suponen al usuario ingresar la respuesta para cada pregunta. Solamente después de todo las preguntas se han contestado correctamente el comando funcionado con según las opciones de usuario hasta la realización. Para los comandos no interactivos, una vez que se ingresa el comando, el comando se ejecutará a la realización. Para funcionar con diversos tipos de comandos usando un script EEM, diversas secuencias de comandos de la biblioteca CLI deben ser utilizadas, que se documentan en “usando la biblioteca CLI para funcionar con la sección de un comando no interactivo” y en “usando la biblioteca CLI para funcionar con la sección de un comando interactivo”. Las líneas del vty se afectan un aparato del pool de las líneas del vty que se configuran usando line vty el comando de configuración CLI. EEM utilizará una línea del vty cuando una línea del vty no está siendo utilizada por EEM y hay líneas disponibles del vty. EEM también utilizará una línea del vty cuando EEM está utilizando ya una línea del vty y hay tres o más líneas del vty disponibles. Sea consciente que la conexión fallará cuando más poco de tres líneas del vty están disponibles, preservando el vty restante alinea para el uso de Telnet. En el Cisco IOS Release 12.4(22)T, y posterior las versiones, soporte XML-PI fueron introducidas. Para más información sobre el soporte XML-PI, las nuevas Extensiones del comando de la biblioteca CLI, y algunos ejemplos de cómo implementar XML-PI, consideran “la sección del soporte de la biblioteca XML-PI CLI”. Extensiones de comando de Tcl Exportadas • cli_close • cli_exec • cli_get_ttyname • cli_open • cli_read • cli_read_drain • cli_read_line • cli_read_pattern • cli_run • cli_run_interactive • cli_write cli_close Cierra el proceso del ejecutivo y libera el vty y al programa piloto del canal especificado conectados con el comando line interface(cli). Sintaxis cli_close fd tty_id Argumentos fd (Obligatorio) Handler del canal CLI. tty_id (Obligatorio) El TTY ID volvió cli_open de la extensión del comando. Cadena de Resultado Ninguno Ajuste _cerrno No puede cerrar el canal. cli_exec Escribe el comando al programa piloto del canal especificado de ejecutar el comando. Después lee la salida del comando del canal y vuelve la salida. Sintaxis cli_exec fd cmd Argumentos fd (Obligatorio) el programa piloto del canal de comando line interface(cli). cmd (Obligatorio) El comando CLI que se va a ejecutar. Cadena de Resultado La salida del comando CLI ejecutado. Ajuste _cerrno Error de lectura el canal. cli_get_ttyname Vuelve los nombres reales y pseudo TTY para una identificación dada TTY Sintaxis cli_get_ttyname tty_id Argumento tty_id (Obligatorio) El TTY ID volvió cli_open de la extensión del comando. s Cadena de Resultado pty %s tty %s Ajuste _cerrno Ninguno cli_open Afecta un aparato un vty, crea una sesión del comando line interface(cli) del EXEC, y conecta el vty con un programa piloto del canal. Vuelve un arsenal incluyendo el programa piloto del canal. Observecada llamada a cli_open inicia a una sesión EXEC del Cisco IOS que afecte un aparato una línea del vty del Cisco IOS. El vty sigue siendo funcionando hasta que cli_close se llame la rutina. Las líneas del vty se afectan un aparato del pool de las líneas del vty que se configuran usando line vty el comando de configuración CLI. EEM utilizará una línea del vty cuando una línea del vty no está siendo utilizada por EEM y hay líneas disponibles del vty. EEM también utilizará una línea del vty cuando EEM está utilizando ya una línea del vty y hay tres o más líneas del vty disponibles. Sea consciente que la conexión fallará cuando más poco de tres líneas del vty están disponibles, preservando el vty restante alinea para el uso de Telnet Sintaxis cli_open Argumentos Ninguno Cadena de Resultado "tty_id {%s} pty {%d} tty {%d} fd {%d}" Tipo de Evento Descripción tty_id IDENTIFICACIÓN TTY pty Nombre del dispositivo PTY. tty Nombre del dispositivo TTY. fd Programa piloto del canal CLI. Ajuste _cerrno • No puede conseguir el pty para el EXEC. • No puede crear a una sesión CLI del EXEC. • Error de lectura el primer prompt. cli_read Lee la salida de comando del programa piloto especificado del canal de comando line interface(cli) hasta que el modelo del prompt de router ocurra en el contenido leído. Devuelve todo el contenido leído hasta la coincidencia. Sintaxis cli_read fd Argumentos fd (Obligatorio) Handler del canal CLI. Cadena de Resultado Todo el contenido leído. Ajuste _cerrno No puede conseguir el nombre del router. Observeesta extensión del comando Tcl bloqueará esperar el prompt de router para aparecer en el contenido leído. cli_read_drain Lee y drena la salida de comando del programa piloto especificado del canal de comando line interface(cli). Vuelve todo el contenido leído. Sintaxis cli_read_drain fd Argumentos fd (Obligatorio) Handler del canal CLI. Cadena de Resultado Todo el contenido leído. Ajuste _cerrno Ninguno cli_read_line Lee una línea de la salida de comando del programa piloto especificado del canal de comando line interface(cli). Vuelve la línea leída. Sintaxis cli_read_line fd Argumentos fd (Obligatorio) Handler del canal CLI. Cadena de Resultado La línea leída. Ajuste _cerrno Ninguno Observeesta extensión del comando Tcl bloqueará esperar el fin de la línea para aparecer en el contenido leído. cli_read_pattern Lee la salida de comando del programa piloto especificado del canal de comando line interface(cli) hasta que el modelo que debe para ser correspondido con ocurra en el contenido leído. Devuelve todo el contenido leído hasta la coincidencia. Observela lógica de las coincidencias de patrones intenta una coincidencia mirando los datos de salida de comando como se entrega del comando cisco ios. La coincidencia se hace siempre en los caracteres más recientes 256 del búfer de salida a menos que haya menos caracteres disponibles, en este caso la coincidencia se hace en menos caracteres. Si más que los caracteres 256 en el búfer de salida se requieren para que la coincidencia tenga éxito, el modelo no hará juego. Sintaxis cli_read_pattern fd ptn Argumentos fd (Obligatorio) Handler del canal CLI. ptn (Obligatorio) el modelo que se corresponderá con al leer la salida de comando del canal. Cadena de Resultado Todo el contenido leído. Ajuste _cerrno Ninguno Observeesta extensión del comando Tcl bloqueará esperar el modelo especificado para aparecer en el contenido leído. cli_run Itera sobre los elementos en el clist y asume que cada uno es comando line interface (cli) de ser ejecutado en el enable mode. En el éxito, vuelve la salida de todos los comandos ejecutados y en el error, error de las devoluciones del error. Sintaxis cli_run clist Argumentos clist (Obligatorio) la lista de comandos de ser ejecutado. Cadena de Resultado Salida de todos los comandos se ejecutan que o de un mensaje de error. Ajuste _cerrno Ninguno. Ejemplo de Uso El siguiente ejemplo muestra cómo utilizar cli_run la extensión del comando. set clist [list {sh run} {sh ver} {sh event man pol reg}] cli_run { clist } cli_run_interactive Proporciona una sublista al clist que tiene cuatro elementos. En el éxito, vuelve la salida de todos los comandos ejecutados y en el error, error de las devoluciones del error. También utiliza los vectses cuando es posible mientras que una manera de hacer las cosas más fáciles leer más adelante guardando espera y contesta separado. Sintaxis cli_run_interactive clist Argumentos clist La sublista (obligatoria) que tiene cuatro elementos y cada elemento tiene cuatro subitems: • comando – espere – una pregunta prevista – contestación – contestación a esta pregunta • un comando de ejecutarse – espere – una pregunta prevista – contestación – contestación a esta pregunta • respuestas – espere – una pregunta prevista – contestación – contestación a esta pregunta • una lista qué a esperar y qué a contestar. – espere – una pregunta prevista – contestación – contestación a esta pregunta Cadena de Resultado Salida de todos los comandos se ejecutan que o de un mensaje de error. Ajuste _cerrno Ninguno. Ejemplo de Uso El siguiente ejemplo muestra cómo utilizar la extensión interactiva del comando del cli_ru_. set cmd1 "first command" set cmd1_exp1 {[confirm]} set cmd1_rep1 {y} set cmd1_response [list [list expect $cmd1_exp1 reply $cmd1_rep1]] set cmd2 "second command" set cmd2_exp1 {save config} set cmd2_rep1 {no} set cmd2_exp2 {[confirm]} set cmd2_rep2 {y} set cmd2_response [list [list expect $cmd2_exp1 reply $cmd2_rep1] [list expect $cmd2_exp2 reply $cmd2_rep2]] set cmd3 "third command" set cmd3_exp1 {are you sure} set cmd3_rep1 {yes} set cmd3_exp2 {destination file} set cmd3_rep2 {test.txt} set cmd2_response [list [list expect $cmd3_exp1 reply $cmd3_rep1] [list expect $cmd3_exp2 reply $cmd3_rep2]] set clist [list " command $cmd1 responses $cmd1_response" " command $cmd2 responses $cmd2_response" " command $cmd3 responses $cmd3_response"] cli_run_interactive { clist } cli_write Escribe el comando que debe ser ejecutado al programa piloto especificado del canal CLI. El programa piloto del canal CLI ejecuta el comando. Sintaxis cli_write fd cmd Argumentos fd (Obligatorio) Handler del canal CLI. cmd (Obligatorio) El comando CLI que se va a ejecutar. Cadena de Resultado Ninguno Ajuste _cerrno Ninguno Ejemplo de Uso Como un ejemplo, comandos CLI de la configuración del uso de sacar a colación la interfaz de Ethernet 1/0: if [catch {cli_open} result] { puts stderr $result exit 1 } else { array set cli1 $result } if [catch {cli_exec $cli1(fd) "en"} result] { puts stderr $result exit 1 } if [catch {cli_exec $cli1(fd) "config t"} result] { puts stderr $result exit 1 } if [catch {cli_exec $cli1(fd) "interface Ethernet1/0"} result] { puts stderr $result exit 1 } if [catch {cli_exec $cli1(fd) "no shut"} result] { puts stderr $result exit 1 } if [catch {cli_exec $cli1(fd) "end"} result] { puts stderr $result exit 1 } if [catch {cli_close $cli1(fd) $cli1(tty_id)} } result] { puts stderr $result exit 1 Usando la biblioteca CLI para funcionar con un comando no interactivo Para funcionar con un comando no interactivo, utilice cli_exec la extensión del comando para publicar el comando, y después espere el resultado completo y el prompt de router. Por ejemplo, las demostraciones siguientes el uso de los comandos CLI de la configuración de sacar a colación la interfaz de Ethernet 1/0: if [catch {cli_open} result] { error $result $errorInfo } else { set fd $result } if [catch {cli_exec $fd "en"} result] { error $result $errorInfo } if [catch {cli_exec $fd "config t"} result] { error $result $errorInfo } if [catch {cli_exec $fd "interface Ethernet1/0"} result] { error $result $errorInfo } if [catch {cli_exec $fd "no shut"} result] { error $result $errorInfo } if [catch {cli_exec $fd "end"} result] { error $result $errorInfo } if [catch {cli_close $fd} result] { error $result $errorInfo } Usando la biblioteca CLI para funcionar con un comando interactivo Para funcionar con los comandos interactivos, tres fases son necesarias: • Fase 1: Publique el comando usando cli_write la extensión del comando. • Fase 2: Fase del Q&A. Utilice cli_read_pattern la extensión del comando para leer la pregunta (el modelo regular que se especifica para hacer juego el texto de la pregunta) y cli_write la extensión del comando para contestar las respuestas alternativamente. • Fase 3: Fase no interactiva. Se han contestado todas las preguntas, y el comando se ejecutará a la realización. Utilice cli_read la extensión del comando para esperar el resultado completo del comando y del prompt de router. Por ejemplo, comandos CLI del uso de hacer el bootflash del apretón: y salve la salida de este comando en el cmd_output de la variable Tcl. if [catch {cli_open} result] { error $result $errorInfo } else { array set cli1 $result } if [catch {cli_exec $cli1(fd) "en"} result] { error $result $errorInfo } # Phase 1: issue the command if [catch {cli_write $cli1(fd) "squeeze bootflash:"} result] { error $result $errorInfo } # Phase 2: Q&A phase # wait for prompted question: # All deleted files will be removed. Continue? [confirm] if [catch {cli_read_pattern $cli1(fd) "All deleted"} result] { error $result $errorInfo } # write a newline character if [catch {cli_write $cli1(fd) "\n"} result] { error $result $errorInfo } # wait for prompted question: # Squeeze operation may take a while. Continue? [confirm] if [catch {cli_read_pattern $cli1(fd) "Squeeze operation"} result] { error $result $errorInfo } # write a newline character if [catch {cli_write $cli1(fd) "\n"} result] { error $result $errorInfo } # Phase 3: noninteractive phase # wait for command to complete and the router prompt if [catch {cli_read $cli1(fd) } result] { error $result $errorInfo } else { set cmd_output $result } if [catch {cli_close $cli1(fd) $cli1(tty_id)} result] { error $result $errorInfo } El siguiente ejemplo hace a un router ser recargado usando el comando CLI reload . Observe que el comando action_reload EEM logra el mismo resultado de una manera más eficiente, pero este ejemplo se presenta para ilustrar la flexibilidad de la biblioteca CLI para la ejecución interactiva del comando. # 1. execute the reload command if [catch {cli_open} result] { error $result $errorInfo } else { array set cli1 $result } if [catch {cli_exec $cli1(fd) "en"} result] { error $result $errorInfo } if [catch {cli_write $cli1(fd) "reload"} result] { error $result $errorInfo } else { set cmd_output $result } if [catch {cli_read_pattern $cli1(fd) ".*(System configuration has been modified. Save\\\? \\\[yes/no\\\]: )"} result] { error $result $errorInfo } else { set cmd_output $result } if [catch {cli_write $cli1(fd) "no"} result] { error $result $errorInfo } else { set cmd_output $result } if [catch {cli_read_pattern $cli1(fd) ".*(Proceed with reload\\\? \\\[confirm\\\])"} result] { error $result $errorInfo } else { set cmd_output $result } if [catch {cli_write $cli1(fd) "y"} result] { error $result $errorInfo } else { set cmd_output $result } if [catch {cli_close $cli1(fd) $cli1(tty_id)} result] { error $result $errorInfo } Soporte de la biblioteca XML-PI CLI La interfaz programática XML (XML-PI) fue introducida en el Cisco IOS Release 12.4(22)T. XML-PI proporciona una interfaz programable que encapsule los comandos show del comando line interface(cli) IOS en el formato XML en una manera coherente a través de diversos Productos Cisco. Los clientes que usan XML-PI podrán analizar la salida del comando show IOS dentro del Scripts TCL usando las palabras claves bien conocidas en vez de tener que depender del uso de la salida del “pantalla-rascado” del soporte de la expresión normal. La ventaja de usar las Extensiones del comando XML-PI es facilitar la extracción de la información específica de la salida que se genera usando un comando CLI show . La mayoría de los comandos show vuelven muchos campos dentro de la salida y una expresión normal tiene que ser utilizada actualmente para extraer la información específica de la información que puede aparecer en el medio de una línea. El soporte XML-PI proporciona un conjunto de las funciones de biblioteca Tcl para facilitar el análisis de la salida IOS CLI de la extensión del formato bajo la forma de: show <show-command> | format {spec-file} donde está una concatenación un SPEC-ARCHIVO de todas las entradas de archivo espec. (SFE) para cada show comando soportado actualmente. Como parte del proyecto XML-PI un SPEC-ARCHIVO predeterminado será incluido en las imágenes de la versión del IOS 12.4(22)T. El spec-ARCHIVO predeterminado tendrá un pequeño conjunto de comandos y el SFE para los comandos tendrá un subconjunto de las etiquetas posibles. Si no se proporciona ningún SPEC-ARCHIVO el comando format, se utiliza el SPEC-ARCHIVO predeterminado. Por ejemplos de implementar la característica XML-PI, vea “uso de la muestra la sección de la característica XML-PI”. Para detalles más generales sobre XML-PI, vea el módulo “XML-PI”. The following Tcl command extensions were introduced to support XML-PI: • xml_pi_exec • xml_pi_parse • xml_pi_read • xml_pi_write xml_pi_exec Escribe el comando XML-PI especificado usando el argumento del cmd al canal cuyo especifican a programa piloto usando el argumento fd y el SPEC-ARCHIVO especificados por el argumento spec_file para ejecutar el comando. Los datos de salida sin procesar XML del comando entonces se leen en el canal y se vuelve la salida XML. Sintaxis xml_pi_show fd cmd [spec_file] Argumentos fd (Obligatorio) El descriptor de archivo de la biblioteca de CLI obtenido de cli_open. cmd (Obligatorio) Comando show de IOS. spec_file (Opcional) spec_file del comando show de la CLI de IOS. Cadena de Resultado Resultado del comando show IOS en el formato XML. Ajuste _cerrno Error posible aumentado: 1. error de lectura el canal xml_pi_parse Procesa la salida sin procesar del comando show XML pasajera en esta función como xml_data y extrae esos campos que sean especificados por el xml_tags_list. El proceso siguiente ocurre: Paso 1: La lista de la etiqueta XML se valida como lista Tcl. Una etiqueta XML se puede especificar como el nombre de la etiqueta del bajo orden XML o pues un nombre calificado completamente de la etiqueta XML en caso de que el nombre de orden inferior sea ambiguo para un comando dado. Etiquetas del ejemplo: <interface> <ShowIpInterfaceBrief><IPInterfaces><entry><Interface> Paso 2: El xml_data se valida como XML válido y se analiza en un árbol de análisis XML. Paso 3: Un paseo se hace a través del árbol de análisis XML y cada etiqueta se compara con las entradas en la lista de la etiqueta XML. Cuando ocurre un emparejamiento se determina si el nombre de la etiqueta corresponde con un procedimiento Tcl definido dentro del alcance actual Tcl. Si es así ese procedimiento Tcl será llamado con el resultado actual. Si no, el nombre de la etiqueta y los datos asociados a ese nombre de la etiqueta serán añadidos al final del fichero al resultado actual. Sintaxis xml_pi_parse fd xml_show_cmd_output xml_tags_list Argumentos fd (Obligatorio) El descriptor de archivo de la biblioteca de CLI obtenido de cli_open. xml_show_cmd_output Salida (obligatoria) de la extensión del comando del xml_pi_show en el formato del xml. xml_tags_list Lista (obligatoria) de etiquetas interesantes. Cadena de Resultado Los datos en un arsenal Tcl puesto en un índice por el XML marcan el nombre con etiqueta. Observeel resultado actual se reajusta después de las llamadas de procedimiento Tcl. Ajuste _cerrno Posibles errores generados: 1. el error que parte el XML marca la lista con etiqueta 2. lista nula de la etiqueta XML especificada 3. El árbol de la etiqueta XML excede 20 niveles 4. el procedimiento llamado Tcl volvió un error 5. falla de asignación de memoria 6. El XML analiza el error 7. no podido crear el dominio XML xml_pi_read Lee la salida de comando XML-PI (del comando show especificado) del canal CLI cuyo la descripción del archivo da programa piloto hasta que el modelo del prompt de router ocurra en el contenido se lee que. Vuelve todo el contenido leído hasta la coincidencia en el formato XML. Sintaxis xml_pi_read fd Argumentos fd (Obligatorio) El descriptor de archivo de la biblioteca de CLI obtenido de cli_open. Cadena de Resultado Todo el contenido que es adentro leído formato XML. Ajuste _cerrno Posibles errores generados: 1. no puede conseguir el nombre del router 2. comando error xml_pi_write Escribe el comando XML-PI especificado usando el argumento del cmd al canal cuyo el archivo especificado espec. por el argumento spec_file da programa piloto el argumento fd y. Sintaxis xml_pi_write fd cmd spec_file Argumentos fd (Obligatorio) El descriptor de archivo de la biblioteca de CLI obtenido de cli_open. cmd (Obligatorio) Comando show de IOS. spec_file (Opcional) spec_file del comando show de la CLI de IOS. Cadena de Resultado Ninguno Ajuste _cerrno Ninguno Uso de la muestra de la característica XML-PI La directiva siguiente EEM (sample.tcl) presenta un ejemplo que ilustre cinco diversas implementaciones de las nuevas funciones EEM XML-PI. El spec-ARCHIVO odm (requerido por ejemplo 2) sigue esta directiva. ::cisco::eem::event_register_none maxrun 60 namespace import ::cisco::eem::* namespace import ::cisco::lib::* # open the cli_lib.tcl channel if [catch {cli_open} result] { error $result $errorInfo } else { array set cli1 $result } # enter "enable" privilege mode if [catch {cli_exec $cli1(fd) "en"} result] { error $result $errorInfo } # Example 1: # # Detect if XML-PI is present in this image # Invoke xml_pi_exec with the default spec file for the "show inventory" # command. After the command executes $result contains the raw XML data if # the command is successful. if [catch {xml_pi_exec $cli1(fd) "show inventory" ""} result] { puts "Example 1: XML-PI support is not present in this image - exiting" exit } else { puts "Example 1: XML-PI support is present in this image" } # Example 2: # # In the next example we demonstrate how to extract two data elements # from the "show version" command using the specified XML-PI spec file. # The raw output from this command is as follows: # # router#show version | format disk2:speceemtest.odm # <?xml version="1.0" encoding="UTF-8"?> # <ShowVersion> # <Version>12.4(20071029:194217)</Version> # <Compiled>Thu 08-Nov-07 11:28</Compiled> # <ROM>System Bootstrap, Version 12.2(20030826:190624) [BLD-npeg1_rommon_r11 102], DEVELOPMENT</ROM> # <uptime>17 minutes</uptime> # <processor>NPE-G1</processor> # <bytesofmemory>983040K/65536K</bytesofmemory> # <CPU>700MHz</CPU> # <L2Cache>0.2</L2Cache> # <GigabitEthernetinterfaces>3</GigabitEthernetinterfaces> # <bytesofNVRAM>509K</bytesofNVRAM> # <bytesofATAPCMCIAcard>125952K</bytesofATAPCMCIAcard> # <Sectorsize>512 bytes</Sectorsize> # <bytesofFlashinternalSIMM>16384K</bytesofFlashinternalSIMM> # <Configurationregister>0x2100</Configurationregister> # </ShowVersion> # # Invoke xml_pi_exec with the spec file "disk2:speceemtest.odm" for the # "show version" command. After the command executes $result contains # the raw XML data. if [catch {xml_pi_exec $cli1(fd) "show version" "disk2:speceemtest.odm"} result] { error $result $errorInfo } else { # Pass the raw XML data to the xml_pi_parse routine to extract fields # of interest: # we ask that only the <processor> and <CPU> fields be returned. array set xml_result [xml_pi_parse $cli1(fd) $result "<processor> <CPU>"] puts "Example 2: Processor is $xml_result(<processor>) CPU is $xml_result(<CPU>)" } # Example 3: # # In the next example we demonstrate how to extract two data elements # from the multi-record "show inventory" command using the default built-in # XML-PI spec file. Sample raw output from this command is as follows: # # router#show inventory | format # <?xml version="1.0" encoding="UTF-8"?> # <ShowInventory> # <SpecVersion>built-in</SpecVersion> # <InventoryEntry> # <ChassisName>&quot;Chassis&quot;</ChassisName> # <Description>&quot;Cisco 7206VXR, 6-slot chassis&quot;</Description> # <PID>CISCO7206VXR</PID> # <VID> # </VID> # <SN>31413378 </SN> # </InventoryEntry> # <InventoryEntry> # <ChassisName>&quot;NPE-G1 0&quot;</ChassisName> # <Description>&quot;Cisco 7200 Series Network Processing Engine NPE-G1&quot;</Description> # <PID>NPE-G1</PID> # <VID> # </VID> # <SN>31493825 </SN> # </InventoryEntry> # <InventoryEntry> # <ChassisName>&quot;disk2&quot;</ChassisName> # <Description>&quot;128MB Compact Flash Disk for NPE-G1&quot;</Description> # <PID>MEM-NPE-G1-FLD128</PID> # <VID> # </VID> # <SN>NAME: &quot;module 1&quot;</SN> # </InventoryEntry> # <InventoryEntry> # <ChassisName>&quot;module 1&quot;</ChassisName> # <Description>&quot;Dual Port FastEthernet (RJ45)&quot;</Description> # <PID>PA-2FE-TX</PID> # <VID> # </VID> # <SN>JAE0827NGKX</SN> # </InventoryEntry> # <InventoryEntry> # <ChassisName>&quot;Power Supply 2&quot;</ChassisName> # <Description>&quot;Cisco 7200 AC Power Supply&quot;</Description> # <PID>PWR-7200-AC</PID> # <VID> # </VID> # </InventoryEntry> # </ShowInventory> # # Define a procedure to be called every time the <InventoryEntry> tag # is processed. Since this tag precedes each new output record, the data # that is passed into this procedure contains the fields that have been # requested via xml_pi_parse since the previous time this procedure was # called. proc <InventoryEntry> {xml_line} { global num # The first time that this function is called there is no data and # xml_line will be null. if [string length $xml_line] { array set xml_result $xml_line incr num set output [format "Example 3: Item %2d %-18s %s" \ $num $xml_result(<PID>) $xml_result(<Description>)] puts $output } } set num 0 # Invoke xml_pi_exec with the default built-in spec file for the # "show inventory" command. After the command executes $result contains # the raw XML data. if [catch {xml_pi_exec $cli1(fd) "show inventory"} result] { error $result $errorInfo } else { # Pass the raw XML data to the xml_pi_parse routine to extract fields # of interest: # we ask that only the <PID> and <Description> fields be returned. # If an XML tag name is requested and a Tcl proc exists with that name, # the Tcl proc will be called every time that tag is encountered in the # output data. Specify the <InventoryEntry> tag and define the proc # before executing the xml_pi_parse statement. array set xml_result [xml_pi_parse $cli1(fd) $result \ "<InventoryEntry> <PID> <Description>"] # Display the data from the last record. incr num set output [format "Example 3: Item %2d %-18s %s" \ $num $xml_result(<PID>) $xml_result(<Description>)] puts $output } # Example 4: # # In the next example we demonstrate how to extract two data elements # from the multi-record "show ip interface brief" command using the default # built-in XML-PI spec file. Sample raw output from this command is as # follows: # # router#show ip interface brief | format # <?xml version="1.0" encoding="UTF-8"?> # <ShowIpInterfaceBrief> # <SpecVersion>built-in</SpecVersion> # <IPInterfaces> # <entry> # <Interface>GigabitEthernet0/1</Interface> # <IP-Address>172.19.209.34</IP-Address> # <OK>YES</OK> # <Method>NVRAM</Method> # <Status>up</Status> # <Protocol>up</Protocol> # </entry> # <entry> # <Interface>GigabitEthernet0/2</Interface> # <IP-Address>unassigned</IP-Address> # <OK>YES</OK> # <Method>NVRAM</Method> # <Status>administratively down</Status> # <Protocol>down</Protocol> # </entry> # <entry> # <Interface>GigabitEthernet0/3</Interface> # <IP-Address>unassigned</IP-Address> # <OK>YES</OK> # <Method>NVRAM</Method> # <Status>administratively down</Status> # <Protocol>down</Protocol> # </entry> # <entry> # <Interface>FastEthernet1/0</Interface> # <IP-Address>unassigned</IP-Address> # <OK>YES</OK> # <Method>NVRAM</Method> # <Status>administratively down</Status> # <Protocol>down</Protocol> # </entry> # <entry> # <Interface>FastEthernet1/1</Interface> # <IP-Address>unassigned</IP-Address> # <OK>YES</OK> # <Method>NVRAM</Method> # <Status>administratively down</Status> # <Protocol>down</Protocol> # </entry> # </IPInterfaces> # </ShowIpInterfaceBrief> # # Define a procedure to be called every time the fully qualified name # <ShowIpInterfaceBrief><IPInterfaces><entry> tag is processed. Since # this tag precedes each new output record, the data that is passed into # this procedure contains the fields that have been requested via # xml_pi_parse since the previous time this procedure was called. proc <ShowIpInterfaceBrief><IPInterfaces><entry> {xml_line} { global num # The first time that this function is called there is no data and # xml_line will be null. if [string length $xml_line] { array set xml_result $xml_line incr num set output [format "Example 4: Interface %2d %-30s %s" \ $num $xml_result(<Interface>) $xml_result(<Status>)] puts $output } else { puts "Example 4: Display All Interfaces" } } set num 0 # Invoke xml_pi_exec with the default built-in spec file for the # "show ip interface brief" command. After the command executes $result # contains the raw XML data. if [catch {xml_pi_exec $cli1(fd) "show ip interface brief"} result] { error $result $errorInfo } else { # Pass the raw XML data to the xml_pi_parse routine to extract fields # of interest: # we ask that only the <Interface> and <Status> fields be returned. # If an XML tag name is requested and a Tcl proc exists with that name, # the Tcl proc will be called every time that tag is encountered in the # output data. Specify the <entry> tag and define the proc # before executing the xml_pi_parse statement. array set xml_result [xml_pi_parse $cli1(fd) $result \ "<ShowIpInterfaceBrief><IPInterfaces><entry> <Interface> <Status>"] # Display the data from the last record. incr num set output [format "Example 4: Interface %2d %-30s %s" \ $num $xml_result(<Interface>) $xml_result(<Status>)] puts $output } # Example 5: # # In the next example we demonstrate how to extract two data elements # from the multi-record "show ip interface brief" command using the default # built-in XML-PI spec file. Sample raw output from this command is as # follows: # # router#show ip interface brief | format # <?xml version="1.0" encoding="UTF-8"?> # <ShowIpInterfaceBrief> # <SpecVersion>built-in</SpecVersion> # <IPInterfaces> # <entry> # <Interface>GigabitEthernet0/1</Interface> # <IP-Address>172.19.209.34</IP-Address> # <OK>YES</OK> # <Method>NVRAM</Method> # <Status>up</Status> # <Protocol>up</Protocol> # </entry> # <entry> # <Interface>GigabitEthernet0/2</Interface> # <IP-Address>unassigned</IP-Address> # <OK>YES</OK> # <Method>NVRAM</Method> # <Status>administratively down</Status> # <Protocol>down</Protocol> # </entry> # <entry> # <Interface>GigabitEthernet0/3</Interface> # <IP-Address>unassigned</IP-Address> # <OK>YES</OK> # <Method>NVRAM</Method> # <Status>administratively down</Status> # <Protocol>down</Protocol> # </entry> # <entry> # <Interface>FastEthernet1/0</Interface> # <IP-Address>unassigned</IP-Address> # <OK>YES</OK> # <Method>NVRAM</Method> # <Status>administratively down</Status> # <Protocol>down</Protocol> # </entry> # <entry> # <Interface>FastEthernet1/1</Interface> # <IP-Address>unassigned</IP-Address> # <OK>YES</OK> # <Method>NVRAM</Method> # <Status>administratively down</Status> # <Protocol>down</Protocol> # </entry> # </IPInterfaces> # </ShowIpInterfaceBrief> # # Note: This example is the same as Example 4 with the exception that # the new record procedure is called by the un-qualified tag name. The # ability to specify the un-qualified tag names is simplier but only works # if the un-qualified name is used once per Tcl program. In this example # the unqualified new record tag name is "<entry>" which is a very # common name in the Cisco spec file. # Define a procedure to be called every time the <entry> tag # is processed. Since this tag precedes each new output record, the data # that is passed into this procedure contains the fields that have been # requested via xml_pi_parse since the previous time this procedure was # called. proc <entry> {xml_line} { global num # The first time that this function is called there is no data and # xml_line will be null. if [string length $xml_line] { array set xml_result $xml_line incr num if ([string equal $xml_result(<Status>) "up"]) { set output [format "Example 5: Interface %2d %-30s %s" \ $num $xml_result(<Interface>) $xml_result(<Status>)] puts $output } } else { puts "Example 5: Display All Interfaces That Are Up" } } set num 0 # Invoke xml_pi_exec with the default built-in spec file for the # "show ip interface brief" command. After the command executes $result # contains the raw XML data. if [catch {xml_pi_exec $cli1(fd) "show ip interface brief"} result] { error $result $errorInfo } else { # Pass the raw XML data to the xml_pi_parse routine to extract fields # of interest: # we ask that only the <Interface> and <Status> fields be returned. # If an XML tag name is requested and a Tcl proc exists with that name, # the Tcl proc will be called every time that tag is encountered in the # output data. Specify the <entry> tag and define the proc # before executing the xml_pi_parse statement. array set xml_result [xml_pi_parse $cli1(fd) $result \ "<entry> <Interface> <Status>"] # Display the data from the last record. incr num if ([string equal $xml_result(<Status>) "up"]) { set output [format "Example 5: Interface %2d %-30s %s" \ $num $xml_result(<Interface>) $xml_result(<Status>)] puts $output } } Archivo espec. eemtest.odm ODM de la muestra XML-PI: ### show version <?xml version='1.0' encoding='utf-8'?> <ODMSpec> <Command> <Name>show version</Name> </Command> <OS>ios</OS> <DataModel> <Container name="ShowVersion"> <Property name="Version" distance = "1.0" length = "1" type = "IpAddress"/> <Property name="Technical Support" distance = "1.0" length = "1" type = "IpAddress"/> <Property name="Compiled" distance = "1.0" length = "3" type = "String"/> <Property name="ROM" distance = "1.0" length = "7" type = "IpAddress"/> <Property name="uptime" distance = "2" length = "8" type = "String"/> <Property name="image" distance = "4" length = "1" type = "IpAddress"/> <Property name="processor" distance = "-1" length = "1" type = "String"/> <Property name="bytes of memory" distance = "-1" length = "1" type = "Port"/> <Property name="CPU" distance = "2" length = "1" end-delimiter = "," type = "String"/> <Property name="L2 Cache" distance = "-2" length = "1" end-delimiter = "," type = "String"/> <Property name="Gigabit Ethernet interfaces" distance = "-1" length = "1" type = "Integer"/> <Property name="bytes of NVRAM" distance = "-1" length = "1" type = "String"/> <Property name="bytes of ATA PCMCIA card" distance = "-1" length = "1" type = "String"/> <Property name="Sector size" distance = "1.0" length = "2" end-delimiter = ")" type = "String"/> <Property name="bytes of Flash internal SIMM" distance = "-1" length = "1" type = "String"/> <Property name="Configuration register" distance = "2" length = "1" type = "String"/> </Container> </DataModel> </ODMSpec> Ejemplo sample.tcl funcionado con: router#config t Enter configuration commands, one per line. End with CNTL/Z. router(config)#event manager policy sample.tcl router(config)#end router# Oct 10 20:21:26: %SYS-5-CONFIG_I: Configured from console by console router#event manager run sample.tcl Example 1: XML-PI support is present in this image Example 2: Processor is NPE-G1 CPU is 700MHz Example 3: Item 1 CISCO7206VXR "Cisco 7206VXR, 6-slot chassis" Example 3: Item 2 NPE-G1 "Cisco 7200 Series Network Processing Engine NPE-G1" Example 3: Item 3 MEM-NPE-G1-FLD128 "128MB Compact Flash Disk for NPE-G1" Example 3: Item 4 PA-2FE-TX "Dual Port FastEthernet (RJ45)" Example 3: Item 5 PWR-7200-AC "Cisco 7200 AC Power Supply" Example 4: Display All Interfaces Example 4: Interface 1 GigabitEthernet0/1 up Example 4: Interface 2 GigabitEthernet0/2 administratively down Example 4: Interface 3 GigabitEthernet0/3 administratively down Example 4: Interface 4 FastEthernet1/0 administratively down Example 4: Interface 5 FastEthernet1/1 administratively down Example 4: Interface 6 SSLVPN-VIF0 up Example 5: Display All Interfaces That Are Up Example 5: Interface 1 GigabitEthernet0/1 up Example 5: Interface 6 SSLVPN-VIF0 up Extensiones de Comando de la Biblioteca de Contexto Tcl Todas las Extensiones del comando de la biblioteca del contexto Tcl pertenecen al:: Cisco:: eem. Comandos exportados • context_retrieve • context_save context_retrieve Extrae las variables Tcl identificadas por el nombre del contexto dado, y posiblemente el nombre de variable scalar, el nombre de variable de arsenal, y el índice del arsenal. La información extraída se borra automáticamente. Observela información una vez guardada se extrae, él se borra automáticamente. Si esa información es necesitada por otra directiva, la directiva que la extrae (usando context_retrieve la extensión del comando) debe también salvarla otra vez (usando context_save la extensión del comando). Sintaxis context_retrieve ctxt [var] [index_if_array] Argumentos ctxt (Obligatorio) Nombre del contexto. var Nombre de variable scalar o nombre de variable (opcional) de arsenal. Omite una cadena nula si este argumento no se especifica. index_if_array (Opcional) el índice del arsenal. Observeel argumento index_if_array será ignorado cuando el argumento var es una variable scalar. Si el var está sin especificar, extrae la Tabla de variable entera guardada en el contexto. Si se especifica var y no se especifica index_if_array, o bien si se especifica if index_if_array pero var es una variable escalar, recupera el valor de var. Si se especifica el var, e index_if_array se especifica, y el var es una variable de arsenal, extrae el valor del elemento de matriz especificado. Cadena de Resultado Reajusta las variables globales Tcl al estado que estaban en cuando la salvaguardia fue realizada. Ajuste _cerrno • Una cadena que visualiza el _cerrno, _cerr_sub_num, _cerr_sub_err, _cerr_posix_err, _cerr_str debido al error del appl_reqinfo. • La variable no está en el contexto. Ejemplo de Uso Los siguientes ejemplos muestran cómo utilizar context_save y context_retrieve las funciones de la extensión del comando para salvar y para extraer los datos. Los ejemplos se muestran en la salvaguardia y extraen los pares. Ejemplo 1: Guardar Si el var está sin especificar o si un modelo si está especificado, guarda las variables múltiples al contexto. ::cisco::eem::event_register_none namespace import ::cisco::eem::* namespace import ::cisco::lib::* set testvara 123 set testvarb 345 set testvarc 789 if {[catch {context_save TESTCTX "testvar*"} errmsg]} { action_syslog msg "context_save failed: $errmsg" } else { action_syslog msg "context_save succeeded" } Ejemplo 1: Extraiga Si el var está sin especificar, extrae las variables múltiples del contexto. ::cisco::eem::event_register_none namespace import ::cisco::eem::* namespace import ::cisco::lib::* if {[catch {foreach {var value} [context_retrieve TESTCTX] {set $var $value}} errmsg]} { action_syslog msg "context_retrieve failed: $errmsg" } else { action_syslog msg "context_retrieve succeeded" } if {[info exists testvara]} { action_syslog msg "testvara exists and is $testvara" } else { action_syslog msg "testvara does not exist" } if {[info exists testvarb]} { action_syslog msg "testvarb exists and is $testvarb" } else { action_syslog msg "testvarb does not exist" } if {[info exists testvarc]} { action_syslog msg "testvarc exists and is $testvarc" } else { action_syslog msg "testvarc does not exist" } Ejemplo 2: Guardar Si se especifica el var, guarda el valor de las variedades. ::cisco::eem::event_register_none namespace import ::cisco::eem::* namespace import ::cisco::lib::* set testvar 123 if {[catch {context_save TESTCTX testvar} errmsg]} { action_syslog msg "context_save failed: $errmsg" } else { action_syslog msg "context_save succeeded" } Ejemplo 2: Extraiga Si se especifica var y no se especifica index_if_array, o bien si se especifica if index_if_array pero var es una variable escalar, recupera el valor de var. ::cisco::eem::event_register_none namespace import ::cisco::eem::* namespace import ::cisco::lib::* if {[catch {set testvar [context_retrieve TESTCTX testvar]} errmsg]} { action_syslog msg "context_retrieve failed: $errmsg" } else { action_syslog msg "context_retrieve succeeded" } if {[info exists testvar]} { action_syslog msg "testvar exists and is $testvar" } else { action_syslog msg "testvar does not exist" } Ejemplo 3: Guardar Si se especifica var, guarda el valor de var aunque sea una matriz. ::cisco::eem::event_register_none namespace import ::cisco::eem::* namespace import ::cisco::lib::* array set testvar "testvar1 ok testvar2 not_ok" if {[catch {context_save TESTCTX testvar} errmsg]} { action_syslog msg "context_save failed: $errmsg" } else { action_syslog msg "context_save succeeded" } Ejemplo 3: Extraiga Si se especifica el var, e index_if_array no se especifica, y el var es una variable de arsenal, extrae el arsenal entero. ::cisco::eem::event_register_none namespace import ::cisco::eem::* namespace import ::cisco::lib::* if {[catch {array set testvar [context_retrieve TESTCTX testvar]} errmsg]} { action_syslog msg "context_retrieve failed: $errmsg" } else { action_syslog msg "context_retrieve succeeded" } if {[info exists testvar]} { action_syslog msg "testvar exists and is [array get testvar]" } else { action_syslog msg "testvar does not exist" } Ejemplo 4: Guardar Si se especifica var, guarda el valor de var aunque sea una matriz. ::cisco::eem::event_register_none namespace import ::cisco::eem::* namespace import ::cisco::lib::* array set testvar "testvar1 ok testvar2 not_ok" if {[catch {context_save TESTCTX testvar} errmsg]} { action_syslog msg "context_save failed: $errmsg" } else { action_syslog msg "context_save succeeded" } Ejemplo 4: Extraiga Si se especifica el var, e index_if_array se especifica, y el var es una variable de arsenal, extrae el valor especificado del elemento de matriz. ::cisco::eem::event_register_none namespace import ::cisco::eem::* namespace import ::cisco::lib::* if {[catch {set testvar [context_retrieve TESTCTX testvar testvar1]} errmsg]} { action_syslog msg "context_retrieve failed: $errmsg" } else { action_syslog msg "context_retrieve succeeded" } if {[info exists testvar]} { action_syslog msg "testvar exists and is $testvar" } else { action_syslog msg "testvar doesn't exist" } context_save Guarda las variables Tcl que hacen juego un modelo dado en la corriente y los espacios de nombres globales con el nombre del contexto dado como identificación. Utilice esta extensión del comando Tcl para salvar la información fuera de una directiva. La información guardada se puede extraer por una diversa directiva usando context_retrieve la extensión del comando. Observela información una vez guardada se extrae, él se borra automáticamente. Si esa información es necesitada por otra directiva, la directiva que la extrae (usando context_retrieve la extensión del comando) debe también salvarla otra vez (usando context_save la extensión del comando). Sintaxis context_save ctxt [pattern] Argumentos ctxt (Obligatorio) Nombre del contexto. modelo (Opcional) el modelo del glob-estilo según lo utilizado por string match el comando Tcl. Si este argumento no se especifica, el modelo omite el comodín *. Hay tres construcciones usadas en los modelos del glob: • * = todos los caracteres • ¿? = 1 carácter • [abc] = coincidencia una de un conjunto de los caracteres Cadena de Resultado Ninguno Ajuste _cerrno Una cadena que visualiza el _cerrno, _cerr_sub_num, _cerr_sub_err, _cerr_posix_err, _cerr_str debido al error del appl_setinfo. Ejemplo de Uso Por los ejemplos que muestran cómo utilizar context_save y context_retrieve las funciones de la extensión del comando para salvar y para extraer los datos, vea “la sección del uso de la muestra”. Extensiones del comando Tcl del registro del evento para EEM 3,2 • event_register_identity • event_register_mat • event_register_neighbhor_discovery event_register_identity Registros para un evento de la identidad. Utilice esta extensión del comando Tcl para generar un evento cuando la autenticación AAA o la autorización es acertada o el error o después de que el tráfico del usuario normal en el puerto se permita fluir. Sintaxis event_register_identity [tag ?] interface ? [aaa-attribute ?] [authc {all | fail | success}] [authz {all | fail | success}] [authz-complete] [mac-address ?] [queue_priority {normal | low | high | last}] [maxrun ?] [nice {0 | 1}] Argumentos etiqueta (Opcional) Cadena que identifica una etiqueta que se puede utilizar con la extensión de comando Tcl del desencadenado para soportar múltiples declaraciones de eventos dentro de un script Tcl. interfaz Un patrón de expresión normal a hacer juego contra los nombres de la interfaz. AAA-atributo La expresión normal (opcional) A que se puede utilizar para filtrar los eventos por el AAA específico atribuye. authc (Opcional) acciona los eventos en acertado, fallado o acertado y la autenticación fallida. authz (Opcional) acciona los eventos en acertado, fallado o acertado y la autorización fallida. authzcompleto (Opcional) acciona los eventos una vez que el dispositivo conectado con la interfaz se autentica completamente, autorizados y el tráfico normal ha comenzado a fluir en esa interfaz. MAC address Patrón de expresión normal (opcional) A que se puede utilizar para filtrar los eventos por los direccionamientos del mac del dispositivo remoto. maxrun (Opcional) El tiempo de ejecución máximo del script (especificado en el formato SSSSSSSSSS[,MMM], donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 31536000, inclusive, y MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza el límite de tiempo de ejecución predeterminado de 20 segundos. queue_priority (Opcional) Nivel de prioridad en el que se podrá en cola el script: • queue_priority low: especifica que el script debe ponerse en cola en el más bajo de los tres niveles de prioridad. • queue_priority normal: especifica que el script debe ser puesto en cola en un nivel de prioridad mayor que la prioridad baja pero menos que la prioridad alta. • queue_priority high: especifica que el script debe ponerse en cola en el más alto de los tres niveles de prioridad. • queue_priority last: especifica que el script debe ponerse en cola en el nivel de prioridad más bajo. Si se registra más de un script con el argumento "queue_priority_last" establecido, estos scripts se ejecutarán en el orden en que se publiquen los eventos. El argumento del queue_priority especifica la prioridad de envío a cola, pero no la prioridad de ejecución, del script que es registrado. Si este argumento no se especifica, la prioridad de envío a cola predeterminada es normal. agradable (Opcional) Configuración de la prioridad del tiempo de ejecución de la política. Cuando el argumento nice se establece en 1, la política se ejecuta con una prioridad de tiempo de ejecución menor que la prioridad predeterminada. El valor predeterminado es 0. Cadena de Resultado Ninguno Ajuste _cerrno No Event_reqinfo para EEM_EVENT_IDENTITY "event_id %u event_type %u event_type_string {%s} event_pub_sec %u event_pub_msec %u event_severity %u identity_stage %u identity_status %u interface %u identity_mac %u identity_<attribute> {%s}" Tipo de Evento Descripción event_id Número único que indica el ID para este evento publicado. Se puede ejecutar múltiples políticas para el mismo evento, y cada política tendrá el mismo event_id. event_type Tipo de evento. event_type_string Una cadena ASCII que representa el nombre de evento de este tipo de evento. event_pub_sec event_pub_msec El tiempo, en los segundos y los milisegundos, en los cuales el evento fue publicado al EEM. event_severity La gravedad del evento. identity_stage Uno entre la autenticación, el autherization o las etapas autherizationcompletas. identity_status Éxito o uno de estos tipos de falla: fail_authc, fail_aaa_server, fail_no_response, fail_timeout, fail_authz. Para autherization-completo es siempre éxito. interface La interfaz para el evento. identity_mac La dirección MAC del dispositivo remoto para el evento. identity_<attribute> Para cada atributo AAA, un conjunto una variable dinámica al valor correspondiente a ese atributo AAA en la lista del atributo o de valor. event_register_mat Registros para un evento MAT. Utilice esta extensión del comando Tcl para generar un evento cuando un MAC address se aprende en el mac-address-table. Sintaxis event_register_identity [tag ?] interface ? [mac-address ?] [type {add | delete}] [hold-down ?] [maxrun ?] Argumentos etiqueta (Opcional) Cadena que identifica una etiqueta que se puede utilizar con la extensión de comando Tcl del desencadenado para soportar múltiples declaraciones de eventos dentro de un script Tcl. interfaz Un patrón de expresión normal a hacer juego contra los nombres de la interfaz. MAC address Obligatorio si el parámetro de la interfaz no se especifica. Un patrón de expresión normal que se puede utilizar para filtrar los eventos por los direccionamientos del mac del dispositivo remoto. tipo El filtro (opcional) basado en un tipo de evento del mac-address-table de agrega o borra. Si no especificado, no utilizan al tipo de evento en determinar si el evento debe ser accionado. asentamiento (Opcional) cuando viene un evento del mac-address-table adentro, el temporizador del asentamiento se puede fijar para hacer el evento para esperar entre 1 y 4294967295 segundos antes de procesar la directiva. Si no fije entonces la directiva no se retrasa en el proceso. maxrun (Opcional) El tiempo de ejecución máximo del script (especificado en el formato SSSSSSSSSS[,MMM], donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 31536000, inclusive, y MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza el límite de tiempo de ejecución predeterminado de 20 segundos. Cadena de Resultado Ninguno Ajuste _cerrno No Event_reqinfo para EEM_EVENT_MAT "event_id %u event_type %u event_type_string {%s} event_pub_sec %u event_pub_msec %u event_severity %u notification %u intf_name %u mac_address {%s}" Tipo de Evento Descripción event_id Número único que indica el ID para este evento publicado. Se puede ejecutar múltiples políticas para el mismo evento, y cada política tendrá el mismo event_id. event_type Tipo de evento. event_type_string Una cadena ASCII que representa el nombre de evento de este tipo de evento. event_pub_sec El tiempo, en los segundos y los milisegundos, en los cuales el evento fue event_pub_msec publicado al EEM. event_severity La gravedad del evento. notification Tipo de notificación — agregue o borre. intf_name El nombre de la interfaz para la entrada de tabla del direccionamiento. mac_address El MAC address para la entrada de tabla del direccionamiento. event_register_neighbhor_discovery Los registros para un vecino descubren el evento. Utilice esta extensión del comando Tcl para generar un evento cuando un Cisco Discovery Protocol (CDP) o una entrada de caché del Discovery Protocol de la capa de link (LLDP) o un estado de link de la interfaz cambia. Sintaxis event_register_neighbhor_discovery [tag ?] interface ? [cdp {add | update | delete | all}] [lldp {add | update | delete | all}] [link-event] [line-event] [queue_priority {normal | low | high | last}] [maxrun ?] [nice {0 | 1}] Argumentos etiqueta (Opcional) Cadena que identifica una etiqueta que se puede utilizar con la extensión de comando Tcl del desencadenado para soportar múltiples declaraciones de eventos dentro de un script Tcl. interfaz Un patrón de expresión normal a hacer juego contra los nombres de la interfaz. cdp Accione un evento cuando ocurre un evento CDP que corresponde con. Una de las opciones siguientes debe ser especificado. • agregue — Accione los eventos solamente cuando una nueva entrada de la memoria caché CDP se crea en la tabla CDP. • todos — Accione un evento cuando una entrada de la memoria caché CDP se agrega o se borra de la tabla de la memoria caché CDP y cuando un dispositivo del telecontrol CDP envía un keepalive para poner al día la entrada de la memoria caché CDP. • cancelación — accione los eventos solamente cuando una entrada de la memoria caché CDP se borra de la tabla CDP. • actualización — accione un evento cuando una entrada de la memoria caché CDP se agrega a la tabla CDP o cuando el dispositivo del telecontrol CDP envía un keepalive CDP para poner al día la entrada de la memoria caché CDP. lldp Accione un evento cuando ocurre un evento del lldp que corresponde con. Una de las opciones siguientes debe ser especificado. • agregue — Accione los eventos solamente cuando una nueva entrada de caché cdp se crea en la tabla cdp. • todos — Accione un evento cuando una entrada de caché cdp se agrega o se borra de la tabla de caché cdp y cuando un dispositivo cdp del telecontrol envía un keepalive para poner al día la entrada de caché cdp. • cancelación — accione los eventos solamente cuando una entrada de caché cdp se borra de la tabla cdp. • actualización — accione un evento cuando una entrada de caché cdp se agrega a la tabla cdp o cuando el dispositivo cdp del telecontrol envía un keepalive cdp para poner al día la entrada de caché cdp. línea-evento Accione un evento cuando el estado del Line Protocol de la interfaz cambia. link-evento Accione un evento cuando el estado de link de la interfaz cambia. queue_priority (Opcional) Nivel de prioridad en el que se podrá en cola el script: • queue_priority low: especifica que el script debe ponerse en cola en el más bajo de los tres niveles de prioridad. • queue_priority normal: especifica que el script debe ser puesto en cola en un nivel de prioridad mayor que la prioridad baja pero menos que la prioridad alta. • queue_priority high: especifica que el script debe ponerse en cola en el más alto de los tres niveles de prioridad. • queue_priority last: especifica que el script debe ponerse en cola en el nivel de prioridad más bajo. Si se registra más de un script con el argumento "queue_priority_last" establecido, estos scripts se ejecutarán en el orden en que se publiquen los eventos. El argumento del queue_priority especifica la prioridad de envío a cola, pero no la prioridad de ejecución, del script que es registrado. Si este argumento no se especifica, la prioridad de envío a cola predeterminada es normal. maxrun (Opcional) El tiempo de ejecución máximo del script (especificado en el formato SSSSSSSSSS[,MMM], donde SSSSSSSSSS debe ser un número entero que representa los segundos entre 0 y 31536000, inclusive, y MMM debe ser un número entero que representa los milisegundos entre 0 y 999). Si no se especifica este argumento, se utiliza el límite de tiempo de ejecución predeterminado de 20 segundos. agradable (Opcional) Configuración de la prioridad del tiempo de ejecución de la política. Cuando el argumento nice se establece en 1, la política se ejecuta con una prioridad de tiempo de ejecución menor que la prioridad predeterminada. El valor predeterminado es 0. Cadena de Resultado Ninguno Ajuste _cerrno No Event_reqinfo para EEM_EVENT_NEIGHBOR_DISCOVERY "event_id %u event_type %u event_type_string {%s} event_pub_sec %u event_pub_msec %u event_severity %u nd_notification {%s}" Tipo de Evento Descripción event_id Número único que indica el ID para este evento publicado. Se puede ejecutar múltiples políticas para el mismo evento, y cada política tendrá el mismo event_id. event_type Tipo de evento. event_type_string Una cadena ASCII que representa el nombre de evento de este tipo de evento. event_pub_sec event_pub_msec El tiempo, en los segundos y los milisegundos, en los cuales el evento fue publicado al EEM. event_severity La gravedad del evento. Event_Reqinfo común nd_notification El Tipo de notificación — CDP-agregue, CDP-actualización, CDP-cancelación, lldp-agregan, lldp-actualización, lldpcancelación, link, línea. nd_intf_linkstatus El estado de link actual de la interfaz, hacia arriba o hacia abajo. nd_intf_linestatus La línea actual estatus de la interfaz, abajo, goingdown, init, prueba, encima de, restauración, admindown, borrado. nd_local_intf_name El nombre de la interfaz local para el evento. nd_short_local_intf_name El nombre corto de la interfaz local para el evento. nd_port_id El ID del puerto según lo identificado por el cdp o el protocolo del lldp. Esto no se fija para los eventos del link o del Line Protocol. Event_reqinfo CDP-específico nd_protocol Identifica qué protocolo accionó el evento, porque CDP será fijado siempre al cdp. nd_proto_notif Identifica que el tipo de evento del protocolo accionó el evento, agrega, se pone al día o borra. nd_proto_new_entry Si estuvo fijado a 1, el evento fue accionado porque la entrada de caché es nueva, si no será fijada a 0. nd_cdp_entry_name El nombre de la entrada de caché cdp en la tabla cdp. nd_cdp_hold_time El tiempo que permanece hasta que la entrada de caché cdp expire y se borre de la tabla cdp. Esta hora será reajustada a un cierto máximo por una actualización del vecino cdp. Se fija generalmente a 0 para las nuevas entradas. nd_cdp_mgmt_domain El dominio de administración CDP VTP. nd_cdp_platform El Nombre de la plataforma señalado por el dispositivo remoto. nd_cdp_version La versión del código que se ejecuta en el dispositivo remoto. nd_cdp_capabilities_string El contenido de las capacidades de CDP coloca en un formato de la cadena: El router, Transporte-Bridge, SourceRoute Bridge, Switch, host, IGMP, repetidor, teléfono, Alejado-manejó el dispositivo, el puerto telefónico CVTA, la retransmisión cuadripola del mac o cualquier combinación de éstos separados por las comas. nd_cdp_capabilities_bits Los bits de las capacidades de CDP en un número hexadecimal precedido con 0x. nd_cdp_capabilities_bit_[0-31] Una serie de valores que serán fijados a los YE si ese bit en el campo de las capacidades se fija o NINGÚN si no se fija. Event_reqinfo LLDP-específico nd_protocol Identifica qué protocolo accionó el evento, porque LLDP será fijado siempre al lldp. nd_proto_notif Identifica que el tipo de evento del protocolo accionó el evento, agrega, se pone al día o borra. nd_proto_new_entry Si estuvo fijado a 1, el evento fue accionado porque la entrada de caché es nueva, si no será fijada a 0. nd_lldp_chassis_id El campo identificación del chasis de la entrada de caché LLDP. nd_lldp_system_name El nombre del sistema de la entrada de caché LLDP. nd_lldp_system_description El campo de Descripción del sistema de la entrada de caché LLDP. nd_lldp_ttl El campo del Time to Live LLDP de la entrada de caché LLDP. nd_lldp_port_description El campo Description (Descripción) del puerto de la entrada de caché LLDP. nd_lldp_system_capabilities_string Las capacidades de sistema LLDP colocan de la entrada de caché LLDP. Con tal que como cadena que puede contener O, P, B, W, R, T, el C, S o cualquier combinación de éstos se separaran por las comas. nd_lldp_enabled_capabilities_string El LLDP habilitó las capacidades de sistema coloca de la entrada de caché LLDP. Con tal que como cadena que puede contener O, P, B, W, R, T, el C, S o cualquier combinación de éstos se separaran por las comas. nd_lldp_system_capabilities_bits Los bits de las capacidades de sistema LLDP colocan de la entrada de caché LLDP. Con tal que como número hexadecimal precedido por 0x. nd_lldp_enabled_capabilities_bits El LLDP habilitó las capacidades que los bits colocan de la entrada de caché LLDP. Con tal que como número hexadecimal precedido por 0x. nd_lldp_capabilities_bits Los bits de las capacidades LLDP colocan de la entrada de caché LLDP. Con tal que como número hexadecimal precedido por 0x. nd_lldp_capabilities_bit_[0-31] Una serie de valores que serán fijados a los YE si ese bit en el campo de las capacidades se fija o NINGÚN si no se fija. Información sobre Funciones para Escribir Políticas de Embedded Event Manager con Tcl El cuadro 18 enumera las características en este módulo y proporciona los links a la información de la configuración específica. Solamente las características que fueron introducidas o modificadas en los Cisco IOS Release 12.3(14)T, 12.2(25)S, 12.0(26)S, 12.2(18)SXF4, 12.2(28)SB, 12.2(33)SRA, 12.2(33)SXH, 12.2(33)SXI, 12.4(20)T, 12.4(22)T, el 15.0(1)M, 12.2(33)SRE o una versión posterior aparecen en la tabla. Puede que no estén disponibles todos los comandos en su versión de software de Cisco IOS. Para la información de versión sobre un comando específico, vea la documentación de referencia de comandos. Utilice el Cisco Feature Navigator para encontrar la información sobre el soporte del Soporte de la plataforma y de la imagen del software. Cisco Feature Navigator le permite determinar qué imágenes de Cisco IOS y Catalyst OS Software soportan una versión de software, un conjunto de funciones o una plataforma específica. Para acceder a Cisco Feature Navigator, vaya a http://www.cisco.com/go/cfn. Una cuenta en el cisco.com no se requiere. Observelas listas del cuadro 18 solamente la versión de Cisco IOS Software que introdujo el soporte para una característica dada en un tren de versión del Cisco IOS Software dado. A menos que se indique lo contrario, las versiones posteriores de dicha serie de versiones de software de Cisco IOS también soportan esa función. Nombre de la función Versiones Información de la Configuración de la Función Embedded 12.2(18)SXF5 Event Manager 12.2(28)SB 2.1 12.2(33)SRA 12.3(14)T Este documento fue introducido para soportar la capacidad de crear las directivas usando el Tool Command Language (Tcl) que fue introducida en la característica integrada del 2.1 del administrador del evento en el Cisco IOS Release 12.3(14)T. Embedded Event Manager 2.1 (Modularidad del Software) El 2.1 EEM para las imágenes de la modularidad del software introdujo el ORO, administrador del sistema, y los detectores de evento de WDSysMon (perro guardián de la modularidad del Cisco IOS Software) y la capacidad de visualizar los procesos de la modularidad del Cisco IOS Software y la matriz de proceso. Seis nuevas directivas de la muestra también fueron introducidas. imágenes de la modularidad del Cisco IOS Software 12.2(18)SXF4 Las secciones siguientes proporcionan información acerca de esta función: • Categorías de Extensiones de Comando de Tcl de Políticas de EEM • Visualización de la Métrica de la Confiabilidad del Proceso de Modularidad de Software mediante EEM • Modificación de las Políticas de EEM de Ejemplo Los siguientes comandos fueron introducidos por esta función: event gold event process show event manager metric process. Observeel 2.1 EEM para las imágenes de la modularidad del software también soporta el recurso y los detectores de evento RF introducidos en EEM 2,2, pero no soporta el detector de evento aumentado del Rastreo de objetos o las acciones para leer y para fijar los objetos seguidos. Embedded 12.2(31)SB3 Event Manager 12.2(33)SRB 2.2 12.4(2)T EEM 2.2 introdujo el seguimiento de objetos, recursos y los detectores de eventos RF mejorados. También se insertaron las acciones de leer y definir el estado de un objeto de seguimiento. Las siguientes secciones proporcionan información sobre esta función: • Categorías de Extensiones de Comando de Tcl de Políticas de EEM • Modificación de las Políticas de EEM de Ejemplo Los siguientes comandos fueron introducidos o modificados por esta característica: action track read action track set defaultstate event resource event rf event track show track track stub-object. Variable de entorno1 del delta del detector de evento SNMP 12.4(11)T Embedded 12.2(33)SB Event Manager 12.2(33)SXH 2.3 Una nueva variable de entorno del detector de evento SNMP, delta_val, fue introducida. EEM 2.3 introdujo algunas funciones nuevas en relación con el Detector de Eventos de Diagnósticos en Línea Genéricos (GOLD) en Cisco Catalyst 6500 Series Switches. event gold El comando fue aumentado además de las palabras claves Tclaction-notify — testing-type test-name test-id consecutive-failure platform-action, y maxrun— para la reacción mejorada a las fallas de prueba y a las condiciones del ORO. Las actualizaciones siguientes fueron hechas event gold al comando: • Los argumentos optativos fueron agregados event_register_gold a la extensión del comando Tcl del registro del evento EEM para soportar las opciones de configuración de evento adicionales. • Agregaron a los tipos de evento bajo event_reqinfo extensión del comando Tcl de la Información del evento EEM para proporcionar el acceso a la información de política plataforma-ancha y prueba-específica del ORO EEM Tcl para un evento detectado. Embedded 12.2(33)SRE Event Manager 12.2(33)SXI 2.4 12.4(20)T EEM 2.4 se soporta en Cisco IOS Release 12.4(20)T y versiones posteriores, e introdujo varias funciones nuevas. Las secciones siguientes eran actualizadas: • Categorías de Extensiones de Comando de Tcl de Políticas de EEM • Modificación de las Políticas de EEM de Ejemplo Los siguientes comandos fueron introducidos por esta función: attribute (EEM) correlate event manager detector rpc event manager directory user repository event manager update user policy event manager scheduler clear event manager update user policy event owner event rpc event snmpnotification show event manager detector show event manager version trigger (EEM). Embedded 12.2(33)SRE Event Manager 12.4(22)T 3.0 EEM 3.0 se soporta en Cisco IOS Release 12.4(22)T y versiones posteriores, e introdujo varias funciones nuevas. Las secciones siguientes proporcionan información acerca de esta función: • Categorías de Extensiones de Comando de Tcl de Políticas de EEM • Modificación de las Políticas de EEM de Ejemplo Los siguientes comandos fueron introducidos o modificados por esta característica: action add action append action break action comment action context retrieve action context save action continue action decrement action divide action else action elseif action end action exit action foreach action gets action if action if goto action increment action info type interfacenames action info type snmp getid action info type snmp inform action info type snmp oid action info type snmp trap action info type snmp var action multiply action puts action regexp action set (EEM) action string compare action string equal action string first action string index action string last action string length action string match action string range action string replace action string tolower action string toupper action string trim action string trimleft action string trimright action subtract action while event cli event ipsla event manager detector routing event manager scheduler event manager scheduler clear event manager scheduler hold event manager scheduler modify event manager scheduler release event nf event routing show event manager policy active show event manager policy pending, y show event manager scheduler. Administrador del evento integrado 3,1 el 15.0(1)M EEM 3,1 se soporta en las versiones del Cisco IOS Release 15.0(1)M y Posterior, e introdujo varias nuevas funciones. Las secciones siguientes proporcionan información acerca de esta función: • Categorías de Extensiones de Comando de Tcl de Políticas de EEM • Modificación de las Políticas de EEM de Ejemplo Los siguientes comandos fueron introducidos o modificados por esta característica: action syslog description event manager applet event manager policy event snmp-notification event snmp-object show event manager policy registered, y show event manager policy available. 1 esto es una mejora de menor importancia. Las mejoras de menor importancia no se suelen enumerar en Feature Navigator. Cisco and the Cisco Logo are trademarks of Cisco Systems, Inc. and/or its affiliates in the U.S. and other countries. A listing of Cisco's trademarks can be found at www.cisco.com/go/trademarks. Third party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a partnership relationship between Cisco and any other company. (1005R) Any Internet Protocol (IP) addresses and phone numbers used in this document are not intended to be actual addresses and phone numbers. Any examples, command display output, network topology diagrams, and other figures included in the document are shown for illustrative purposes only. Any use of actual IP addresses or phone numbers in illustrative content is unintentional and coincidental. © 2005-2010 Cisco Systems, Inc. All rights reserved. © 1992-2013 Cisco Systems Inc. Todos los Derechos Reservados. Fecha de Generación del PDF: 2 Agosto 2013 http://www.cisco.com/cisco/web/support/LA/107/1073/1073589_nm_eem_policy_tcl_ps6922_TSD_Products_Configuration_Guide_Chapter.html