Contenido

Introducción

Prerequisites

Requirements

Componentes Utilizados

Convenciones

Antecedentes

Troubleshoot

EEM para capturar datos en caso de pico de CPU en 2960X.

Alertas de correo electrónico

Agregar salida a archivo local

Agregar salida a archivo local y quitar script

Recopilar resultados y escribir en un archivo local

Monitoreo del Uso de CPU en IOS Modular

Eliminar script

Información Relacionada

Introducción

Este documento describe cómo utilizar el subsistema Cisco IOS® Embedded Event Manager (EEM) para monitorear el uso elevado de la CPU en los switches de la serie Cisco Catalyst.

Prerequisites

Requirements

Este documento asume que el usuario tiene conocimiento de Cisco IOS Embedded Event Manager (EEM).

Componentes Utilizados

La información de este documento se basa en los switches de la serie Cisco Catalyst.

The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.

Convenciones

Consulte Convenciones de Consejos Técnicos de Cisco para obtener información sobre las convenciones sobre documentos.

Antecedentes

EEM es una herramienta muy útil para resolver problemas de picos esporádicos de CPU que son de corta duración y difíciles de resolver manualmente con la interfaz de línea de comandos. Este es un ejemplo de picos de CPU:

Switch#show process cpu history

<snip>

11111822511   11 111277711111 124111  11 1211111112161116

143342171209994090111878458239607111981270283361362429475

100

90

80      *               ***

70      *               ***                                *

60      *               ***                            *   *

50      *  *            ***        *                   *   *

40      *  *            ***        *                   *   *

30      * **            ***        *                   *   *

20      ****           **** **   ***         **  *  ** ** **

10 *********************************************************

0....5....1....1....2....2....3....3....4....4....5....5....6....6....7.

0    5    0    5    0    5    0    5    0    5    0    5    0

CPU% per hour (last 72 hours)

* = maximum CPU%   # = average CPU%

Troubleshoot

Esta sección incluye varios ejemplos del uso de scripts EEM para monitorear el uso de la CPU. Los switches Catalyst 2960 y 3750 permiten a EEM utilizar RAM no volátil (NVRAM); Los switches Catalyst 4500 permiten que EEM escriba en bootflash; y los switches Catalyst 6500 permiten a EEM utilizar disk0 y sup-bootdisk.

Nota: Use la Command Lookup Tool (clientes registrados solamente) para obtener más información sobre los comandos usados en esta sección.

EEM para capturar datos en caso de pico de CPU en 2960X.

Catalyst 2960X no admite la adición a la memoria flash. EEM a continuación redireccionaría los datos capturados en los archivos respectivos en flash:/TAC desde la última ejecución del EEM.

logging buffered 8192 informational

process cpu threshold type total rising 80 interval 5

!

event manager applet High_CPU authorization bypass

event syslog pattern "CPURISINGTHRESHOLD"

action 001 syslog msg "EEM: HIGH CPU detected. Writing info to flash:"

action 002 cli command "enable"

action 003 cli command "term exec prompt timestamp"

action 004 cli command "term len 0"

action 005 cli command "mkdir TAC" pattern "Create.*"

action 006 cli command "TAC" pattern "Create.*"

action 007 cli command " "

action 008 cli command "show process cpu sorted | redirect flash:TAC/TAC_CPU.txt"

action 009 cli command "show buffers | redirect flash:TAC/TAC_Buffers.txt"

action 010 cli command "show interfaces summary | redirect flash:TAC/TAC_IntSumm.txt"

action 011 cli command "show interfaces stats | redirect flash:TAC/TAC_IntStat.txt"

action 012 cli command "show ip traffic | redirect flash:TAC/TAC_IPTraffic.txt"

action 013 cli command "show ip cef switching statistics | redirect flash:TAC/TAC_IPCef.txt"

action 014 cli command "show controllers cpu-interface | redirect flash:TAC/TAC_Controllers.txt"

action 015 cli command "show platform port-asic stats drop | redirect flash:TAC/TAC_Port-Asic.txt"

action 016 cli command "show platform ip unicast statistics | redirect flash:TAC/TAC_UnicastStats.txt"

action 017 cli command "show platform ip unicast counts | redirect flash:TAC/TAC_UnicastCounts.txt"

action 018 cli command "show platform tcam utilization | redirect flash:TAC/TAC_TCAM.txt"

action 019 syslog msg "EEM: Self-removing applet from configuration..."

action 020 cli command "configure terminal"

action 021 cli command "no event manager applet High_CPU"

action 022 syslog msg "EEM: Finished removing from configuration!"

action 023 cli command "end"

Alertas de correo electrónico

Este script envía por correo electrónico una alerta cuando la utilización de la CPU supera el 50%. El cuerpo del correo electrónico es el resultado del comando show process cpu clasificado.

event manager applet highcpu

event snmp oid 1.3.6.1.4.1.9.9.109.1.1.1.1.3.1 get-type exact entry-op ge entry-val 50 poll-interval 0.5

action 1.0 cli command "enable"

action 2.0 cli command "show proc cpu sorted"

action 3.0 mail server "192.168.1.1" to "user-to@domain.com" from "user-from@domain.com" subject "High CPU Alert" body "$_cli_result"

Las definiciones de las variables en cursiva son:

- highcpu - nombre de la aplicación del administrador de eventos

- let/script

- 1.3.6.1.4.1.9.9.109.1.1.1.3.1 - Identificador de objeto (OID) para sondear el uso total de la CPU del procesador de routing (RP)

- 50: utilización de la CPU que activa el script

- poll-interval 0.5 - Frecuencia (cada 0.5 segundos) el script monitorea la CPU

- 192.169.1.1 - IP del servidor de correo

Agregar salida a archivo local

Esta secuencia de comandos agrega los resultados necesarios a un archivo del sistema de archivos local. Reemplace el sistema de archivos por el sistema de archivos apropiado en el switch.

event manager scheduler script thread class default number 1

event manager applet High_CPU

event snmp oid 1.3.6.1.4.1.9.9.109.1.1.1.1.3.1 get-type exact entry-op ge entry-val 50 poll-interval 0.5

action 0.0 syslog msg "High CPU DETECTED. Please wait - logging Information to file system:high_cpu.txt"

action 0.1 cli command "enable"

action 0.2 cli command "show clock | append file system:high_cpu.txt"

action 1.2 cli command "term length 0"

action 1.3 cli command "show process cpu sorted | append file system:high_cpu.txt"

action 1.4 cli command "show log | append file system:high_cpu.txt"

action 1.5 cli command "show interfaces | append file system:high_cpu.txt"

action 1.6 cli command "term length 24"

Agregar salida a archivo local y quitar script

Esta secuencia de comandos agrega el resultado del comando show process cpu clasificado a un archivo en el sistema de archivos local y luego se elimina una vez completado. Reemplace el sistema de archivos por el sistema de archivos apropiado en el switch.

event manager scheduler script thread class default number 1

event manager applet High_CPU

event snmp oid 1.3.6.1.4.1.9.9.109.1.1.1.1.3.1 get-type exact entry-op gt entry-val 50 poll-interval 0.5

action 0.0 syslog msg "High CPU DETECTED. Please wait - logging Information to flash:high_cpu.txt"

action 0.1 cli command "enable"

action 0.2 cli command "term exec prompt timestamp"

action 1.3 cli command "show process cpu sorted | append file system:high_cpu.txt"

action 1.4 cli command "show process cpu sorted | append file system:high_cpu.txt"

action 1.4 cli command "show process cpu sorted | append file system:high_cpu.txt"

action 5.1 syslog msg "Finished logging information to file system:high_cpu.txt..."

action 5.1 syslog msg "Self-removing applet from configuration..."

action 5.2 cli command "term no exec prompt timestamp"

action 9.1 cli command "configure terminal"

action 9.2 cli command "no event manager applet High_CPU"

action 9.3 cli command "end"

Recopilar resultados y escribir en un archivo local

Esta secuencia de comandos utiliza un disparador basado en syslog para ejecutar y recopilar los resultados requeridos y escribir esos resultados en el sistema de archivos local. Reemplace el sistema de archivos por el sistema de archivos apropiado en el switch.

process cpu threshold type total rising 70 interval 15

event manager applet DETECT_CPU

event syslog pattern ".*SYS-1-CPURISINGTHRESHOLD.*"

action 1 cli command "en"

action 2 cli command "show clock | append file system:cpuinfo"

action 3 cli command "show proc cpu sort | append file system:cpuinfo"

action 4 cli command "show line | append file system:cpuinfo"

Monitoreo del Uso de CPU en IOS Modular

Cisco EEM también se puede utilizar para supervisar el uso de la CPU en el IOS modular. Debido a las diferencias en cómo se monitorea la CPU en el IOS modular, puede utilizar el OID del protocolo simple de administración de red (SNMP) (1.3.6.1.4.1.9.9.109.1.1.1.1.3.1) para verificar la utilización de la CPU por el proceso base del IOS.

Esta secuencia de comandos utiliza el OID como disparador y escribe los resultados requeridos en el sistema de archivos local. Reemplace el sistema de archivos por el sistema de archivos apropiado en el switch.

event manager scheduler script thread class default number 1

event manager applet High_CPU

event snmp oid 1.3.6.1.4.1.9.9.109.1.1.1.1.10.1  get-type exact entry-op ge entry-val 50 poll-interval 0.5

action 0.0 syslog msg "High CPU DETECTED. Please wait - logging Information to file system:high_cpu.txt"

action 0.1 cli command "enable"

action 0.2 cli command "show clock | append file system:high_cpu.txt"

action 1.2 cli command "term length 0"

action 1.3 cli command "show process cpu sorted | append file system:high_cpu.txt"

action 1.4 cli command "show log | append file system:high_cpu.txt"

action 1.5 cli command "show interfaces | append file system:high_cpu.txt"

action 1.6 cli command "term length 24"

Eliminar script

Ingrese este comando para quitar un script EEM:

Switch(config)#no event manager applet applet name

Información Relacionada

- Soporte Técnico y Documentación - Cisco Systems