Contents

Introduction

Prerequisites

Requirements

Componentes Utilizados

Conventions

Informações de Apoio

Troubleshoot

EEM para capturar dados em caso de pico de CPU em 2960X.

Alertas por e-mail

Acrescentar saída ao arquivo local

Acrescentar saída ao arquivo local e remover script

Coletar Saída e Gravar no Arquivo Local

Monitorar a utilização da CPU no IOS modular

Remover script

Informações Relacionadas

Introduction

Este documento descreve como usar o subsistema Cisco IOS® Embedded Event Manager (EEM) para monitorar a alta utilização da CPU em switches Cisco Catalyst Series.

Prerequisites

Requirements

Este documento pressupõe que o usuário tem conhecimento do Cisco IOS Embedded Event Manager (EEM).

Componentes Utilizados

As informações neste documento são baseadas nos Cisco Catalyst Series Switches.

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.

Conventions

Consulte as Convenções de Dicas Técnicas da Cisco para obter informações sobre convenções de documentos.

Informações de Apoio

O EEM é uma ferramenta muito útil para solucionar problemas de picos ocasionais e esporádicos de CPU que são de curta duração e difíceis de solucionar manualmente com a interface de linha de comando. Este é um exemplo 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 seção inclui vários exemplos do uso de scripts EEM para monitorar a utilização da CPU. Os switches Catalyst 2960 e 3750 permitem que o EEM use RAM não volátil (NVRAM); Os switches Catalyst 4500 permitem que o EEM grave em flash de inicialização; e os switches Catalyst 6500 permitem que o EEM use disk0 e sup-bootdisk.

Note: Use a Command Lookup Tool ( somente clientes registrados) para obter mais informações sobre os comandos usados nesta seção.

EEM para capturar dados em caso de pico de CPU em 2960X.

O Catalyst 2960X não suporta acréscimo à memória flash. O EEM abaixo redirecionaria os dados capturados nos respectivos arquivos em flash:/TAC da última execução do 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 por e-mail

Este script envia um alerta por e-mail quando a utilização da CPU excede 50%. O corpo do e-mail é a saída do comando show process cpu sorted.

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"

As definições das variáveis em itálico são:

- Highcpu - nome do aplicativo do gerenciador de eventos

- let/script

- 1.3.6.1.4.1.9.9.109.1.1.1.1.3.1 - Identificador de objeto (OID) para polling da utilização total da CPU do processador de rota (RP)

- 50 - Utilização da CPU que aciona o script

- poll-interval 0.5 - Frequência (a cada 0,5 segundos) que o script monitora a CPU

- 192.169.1.1 - IP do servidor de email

Acrescentar saída ao arquivo local

Este script anexa as saídas necessárias a um arquivo no sistema de arquivos local. Substitua o sistema de arquivos pelo sistema de arquivos apropriado no 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"

Acrescentar saída ao arquivo local e remover script

Este script adiciona a saída do comando show process cpu sorted a um arquivo no sistema de arquivos local e, em seguida, remove a si mesmo quando concluído. Substitua o sistema de arquivos pelo sistema de arquivos apropriado no 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"

Coletar Saída e Gravar no Arquivo Local

Este script usa um disparador baseado em syslog para executar e coletar as saídas necessárias e gravar essas saídas no sistema de arquivos local. Substitua o sistema de arquivos pelo sistema de arquivos apropriado no 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"

Monitorar a utilização da CPU no IOS modular

O Cisco EEM também pode ser usado para monitorar a utilização da CPU no IOS modular. Devido às diferenças na forma como a CPU é monitorada no IOS modular, você pode usar o OID do Protocolo de Gerenciamento de Rede Simples (SNMP - Simple Network Management Protocol) (1.3.6.1.4.1.9.9.109.1.1.1.3.1) para verificar a utilização da CPU pelo processo base do IOS.

Este script usa o OID como um gatilho e grava as saídas necessárias no sistema de arquivos local. Substitua o sistema de arquivos pelo sistema de arquivos apropriado no 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"

Remover script

Insira este comando para remover um script EEM:

Switch(config)#no event manager applet applet name

Informações Relacionadas

- Suporte Técnico e Documentação - Cisco Systems