Sommario

Introduzione

Che cos'è EEM?

Quando utilizzare EEM?

Script EEM di esempio

Esecuzione di comandi ogni 30 secondi per il file in Flash

Utilizzare un watchdog per scaricare il log del router ogni X secondi su un server FTP o Flash

Abilitazione dei debug all'avvio del router

Disabilita debug dopo un messaggio specifico

Risoluzione dei problemi

Risoluzione dei problemi VPN

Risoluzione dei problemi di utilizzo elevato della CPU

Informazioni correlate

Introduzione

In questo documento viene descritto come utilizzare lo strumento Embedded Event Manager (EEM) per risolvere i problemi della rete che altrimenti sarebbero difficili da individuare o non avrebbero una frequenza regolare che consente la normale risoluzione dei problemi.

Che cos'è EEM?

EEM è un sistema flessibile progettato per personalizzare Cisco IOS®, XR e NX-OS. EEM consente di automatizzare le attività, eseguire piccoli miglioramenti e creare soluzioni alternative.

Quando utilizzare EEM?

Gli script EEM hanno due finalità:

- Per facilitare la risoluzione di un problema - Quando è necessario risolvere problemi di natura intermittente, gli script EEM possono essere particolarmente utili. Consentono di automatizzare il processo di raccolta degli output del comando show e dei comandi di debug, consentendo di acquisire dati altrimenti molto difficili da raccogliere.

- Per fornire una soluzione - Nei casi in cui è necessaria una soluzione temporanea mentre il Technical Assistance Center (TAC) esegue un'analisi della causa principale. Si supponga ad esempio che il problema sia intermittente, ma che la reimpostazione di un'interfaccia risolva il problema. Gli script EEM possono essere utilizzati per attivare questa azione non appena il problema inizia.

In entrambi i casi, per poter utilizzare gli script EEM è necessario identificare un evento trigger che può essere utilizzato per attivare lo script.

Script EEM di esempio

In questa sezione sono inclusi script EEM di esempio per la risoluzione dei problemi.

Esecuzione di comandi ogni 30 secondi per il file in Flash

Eseguire comandi ogni 30 secondi per il file in flash; i comandi show possono essere adattati a qualsiasi operazione si desideri eseguire:

event manager applet show-rtp-streams

event timer watchdog name timer time 30

action 0.5 cli command "enable"

action 1.0 cli command "show clock | append flash:filename.txt"

action 2.0 cli command "show ip cache flow | append flash:filename.txt"

action 3.0 cli command "show voip rtp conn" | append flash:filename.txt"

action 4.0 cli command "show call active voice br" | append flash:filename.txt"

Nota: Alcuni file system flash (ad esempio bootflash o slotX) non supportano l'operazione di aggiunta. Non si tratta di una limitazione EEM, bensì di una limitazione dei file system flash lineari. I file system ad accesso casuale, ad esempio diskX o la memoria flash sugli switch desktop (3560, 3750 e così via) supportano l'aggiunta di un file.

Nota: Se il dispositivo è configurato per l'autorizzazione dei comandi di autenticazione, autorizzazione e accounting (AAA), EEM deve essere configurato con un nome utente autorizzato a eseguire tutti i comandi CLI in tutti i criteri EEM configurati.  A tale scopo, immettere event manager session cli username USER dove USER è l'utente AAA appropriato.

Utilizzare un watchdog per scaricare il log del router ogni X secondi su un server FTP o Flash

Analogamente, è possibile usare un watchdog per scaricare il log del router ogni X secondi su un server FTP o su un flash:

event manager applet dump-log

event timer watchdog name timer time 1800

action 0.5 cli command "enable"

action 1.0 cli command "show log | append ftp://user:pass@10.1.1.1/debugs.txt"

È inoltre possibile utilizzare uno script Expect in un dispositivo UNIX all'interno di un cronjob per estrarre il log ogni X minuti. Invece di spingerla con l'EEM; sostituire il nome utente e la password con le stringhe appropriate per le credenziali di accesso:

> dhcp-64-102-154-159:Desktop sholl$ cat login-script

> #!/usr/bin/expect

>

> set timeout 60

> spawn telnet -N 10.1.1.1

>

> # Uncomment these if you are prompted for a username by the router

> # expect "login:"

> # send "username\n"

> expect "Password: "

> send "password\n"

> expect ">"

> send "en\n"

> expect "Password:"

> send "password\n"

> expect "#"

> send "term len 0\n"

> expect "#"

> send "sh log\n"

> expect "#"

> send "exit\n"

> send "exit\n"

>

> dhcp-64-102-154-159:Desktop sholl$ crontab -e

>

> # min   hour    mday    month   wday    command

>    0     4       0        0       0     Desktop/login-script >> outputlog.txt

Abilitazione dei debug all'avvio del router

Abilitare i debug all'avvio del router; modificare i debug impostando quello che si desidera abilitare:

event manager applet en-debugs-at-boot

event timer cron cron-entry "@reboot"

action 1.0 cli command "enable"

action 2.0 cli command "debug isdn q931"

action 2.2 cli command "debug isdn q921"

action 2.4 cli command "debug isdn standard"

Disabilita debug dopo un messaggio specifico

Disabilitare i debug quando viene rilevato un messaggio di debug specifico per evitare che il log venga compilato. Disabilitare lo script EEM (stesso) in seguito. Modificare il modello in base alla situazione:

event manager applet disableDebugsOnError

event syslog occurs 1 pattern "Endpt not available"

action 3.0 cli command "enable"

action 3.2 cli command "un all"

action 3.3 cli command "config t"

action 3.4 cli command "no event manager applet disableDebugsOnError"

action 3.5 cli command "end"

Risoluzione dei problemi

Risoluzione dei problemi VPN

Anche se la maggior parte delle forme di problemi VPN in genere non richiedono EEM per la risoluzione dei problemi, in alcuni casi il problema può essere transitorio, il che rende difficile ottenere le informazioni necessarie. I casi pertinenti comprendono:

- Utilizzare EEM per risolvere i problemi di flap/interruzioni IGP su VPN

- Script EEM utilizzati per risolvere i problemi di flap del tunnel causati da indici di parametri di sicurezza non validi

- Syslog "%CRYPTO-4-RECVD_PKT_MAC_ERR:" Messaggio di errore con risoluzione dei problemi del tunnel Ping Loss Over IPsec

Risoluzione dei problemi di utilizzo elevato della CPU

In genere si riscontra che a volte l'utilizzo della CPU aumenta per un periodo di tempo molto breve e in tempi indeterminati. Diventa pertanto molto difficile eseguire i comandi che devono essere eseguiti al momento dell'elevato utilizzo della CPU. Questo avviene quando uno script EEM può essere molto utile. Impostare i valori della CPU a cui deve essere attivata e ottenere gli output del comando.

Si tratta di uno script di esempio che deve essere personalizzato in base alle proprie esigenze:

event manager applet capture_cpu_spike

event snmp oid 1.3.6.1.4.1.9.2.1.56 get-type next entry-op ge entry-val 60

exit-time 10 poll-interval 1

action 001 syslog msg "CPU Utilization is high"

action 002 cli command "en"

action 003 cli command "show proc cpu sort | append flash:cpuinfo"

action 004 cli command "show proc cpu sort | append flash:cpuinfo"

action 005 cli command "show stack 236 | append flash:cpuinfo"

action 006 cli command "show call active voice brief | append flash:cpuinfo"

action 007 cli command "show voip rtp connection | append flash:cpuinfo"

action 008 cli command "show isdn call-rate | append flash:cpuinfo"

action 009 cli command "show log | append flash:cpuinfo"

action 010 cli command "show mem stat his | append flash:cpuinfo"

action 011 cli command "show proc cpu his | append flash:cpuinfo"

action 012 cli command "show align | append flash:cpuinfo"

Lo script sopra riportato non solo rileva l'utilizzo della CPU ed esegue i comandi, ma aggiunge anche gli output alla memoria flash: o in qualsiasi altro luogo a scelta. Viene attivato quando l'utilizzo della CPU supera il 60 %. È consigliabile personalizzarlo in base alle proprie esigenze. È tuttavia necessario prestare attenzione a considerare lo spazio disponibile nel file system prima di distribuire lo script.

Informazioni correlate

- Guida di riferimento ai comandi di Cisco IOS Network Management

- Cisco Support Community - Script EEM

- Documentazione e supporto tecnico – Cisco Systems