Inhoud

Inleiding

Voorwaarden

Vereisten

Gebruikte componenten

Conventies

Achtergrondinformatie

Problemen oplossen

EEM om gegevens in geval van een CPU-punt op 2960X op te nemen.

E-mailmeldingen

Uitvoer naar lokaal bestand toevoegen

Uitvoer naar lokaal bestand toevoegen en scripts verwijderen

Uitvoer en schrijf naar het lokale bestand

Gebruik van monitor CPU’s op modulair IOS

Script verwijderen

Gerelateerde informatie

Inleiding

Dit document beschrijft hoe u het Cisco IOS® Embedded Event Manager (EEM) subsysteem kunt gebruiken om een hoog CPU-gebruik te bewaken op Cisco Catalyst Series switches.

Voorwaarden

Vereisten

Dit document gaat ervan uit dat de gebruiker kennis heeft van Cisco IOS Embedded Event Manager (EEM).

Gebruikte componenten

De informatie in dit document is gebaseerd op de Cisco Catalyst Series switches.

De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u de potentiële impact van elke opdracht begrijpen.

Conventies

Raadpleeg Cisco Technical Tips Convention voor informatie over documentconventies.

Achtergrondinformatie

EEM is een zeer nuttig hulpmiddel om af en toe problemen op te lossen met sporadische CPU-spikes die van korte duur zijn en moeilijk handmatig in te stellen zijn met de interface van de opdrachtregel. Dit is een voorbeeld van een CPU-spikes:

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%

Problemen oplossen

Deze sectie bevat verschillende voorbeelden van het gebruik van EEM-scripts om het gebruik van CPU’s te controleren. Catalyst 2960- en 3750-switches maken het EEM mogelijk niet-vluchtige RAM (NVRAM) te gebruiken; Catalyst 4500-switches maken het EEM mogelijk om naar flitser te schrijven; en Catalyst 6500-switches maken het EEM mogelijk om disk0 en sup-bootdisk te gebruiken.

Opmerking: Gebruik de Command Lookup Tool (alleen voor geregistreerde gebruikers) voor meer informatie over de opdrachten die in deze sectie worden gebruikt.

EEM om gegevens in geval van een CPU-punt op 2960X op te nemen.

Catalyst 2960X biedt geen ondersteuning voor het toevoegen aan flitser. Het onderstaande EEM zal opgenomen gegevens in respectieve bestanden opnieuw sturen in flitser:/TAC vanaf de laatste reeks van het 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"

E-mailmeldingen

Dit script e-mailt een waarschuwing wanneer het CPU-gebruik hoger is dan 50 procent. De inhoud van de e-mail is de uitvoer van de opdracht Gsorteerde opdracht van het show proces.

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"

De definities van gecursiveerde variabelen zijn:

- highcpu - naam van de app voor eventbeheer

- let/script

- 1.3.6.1.4.1.9.9.109.1.1.1.1.3.1 - Objectidentificator (OID) voor het opvragen van het totale CPU-gebruik van de routeprocessor (RP)

- 50 - CPU-gebruik waarmee het script wordt geactiveerd

- 0,5-frequentie (elke 0,5 seconden) controleert het script de CPU

- 192.169.1.1 - IP van de mailserver

Uitvoer naar lokaal bestand toevoegen

Dit script voegt vereiste outputs toe aan een bestand in het lokale bestandssysteem. Vervang het bestandssysteem door het juiste bestandssysteem op de 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"

Uitvoer naar lokaal bestand toevoegen en scripts verwijderen

Dit script voegt de output van het show proces cpu gesorteerde opdracht toe aan een bestand in het lokale bestandsysteem en verwijdert zichzelf na voltooiing. Vervang het bestandssysteem door het juiste bestandssysteem op de 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"

Uitvoer en schrijf naar het lokale bestand

Dit script gebruikt een op syslog gebaseerde trigger om de vereiste output te verzamelen en om deze output te schrijven naar het lokale bestandssysteem. Vervang het bestandssysteem door het juiste bestandssysteem op de 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"

Gebruik van monitor CPU’s op modulair IOS

Het Cisco EEM kan ook worden gebruikt om het gebruik van CPU’s op modulaire IOS te controleren. Vanwege de verschillen in de manier waarop de CPU op modulaire IOS wordt gecontroleerd, kunt u het Simple Network Management Protocol (SNMP) OID gebruiken (1.3.6.1.4.1.9.109.1.1.1.3.1) om het CPU-gebruik door het IOS-basisproces te controleren.

Dit script gebruikt de OID als trigger en schrijft de vereiste uitgangen aan het lokale bestandssysteem. Vervang het bestandssysteem door het juiste bestandssysteem op de 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"

Script verwijderen

Typ deze opdracht om een EEM-script te verwijderen:

Switch(config)#no event manager applet applet name

Gerelateerde informatie

- Technische ondersteuning en documentatie – Cisco Systems