Inhalt

Einführung

Was ist EEM?

Wann sollte EEM verwendet werden?

EEM-Beispielskripts

Ausführen von Befehlen alle 30 Sekunden in Flash

Verwenden Sie einen Watchdog, um das Routerprotokoll alle X Sekunden auf einen FTP-Server oder Flash zu ducken.

Debuggen beim Starten des Routers aktivieren

Debugger nach einer bestimmten Nachricht deaktivieren

Fehlerbehebung

Fehlerbehebung bei VPN-Problemen

Fehlerbehebung bei hoher CPU-Auslastung

Zugehörige Informationen

Einführung

Dieses Dokument beschreibt die Verwendung des EEM-Tools (Embedded Event Manager) zur Behebung von Problemen im Netzwerk, die ansonsten schwer feststellbar sind oder nicht über eine reguläre Häufigkeit verfügen, die eine normale Fehlerbehebung ermöglicht.

Was ist EEM?

EEM ist ein flexibles System zur Anpassung von Cisco IOS®, XR und NX-OS. Mit EEM können Sie Aufgaben automatisieren, kleinere Verbesserungen durchführen und Workarounds erstellen.

Wann sollte EEM verwendet werden?

EEM-Skripts haben zwei Zwecke:

- Um bei der Fehlerbehebung zu helfen - Wenn Sie Probleme zeitweiliger Natur beheben müssen, können EEM-Skripts besonders nützlich sein. Sie ermöglichen Ihnen die Automatisierung des Auflistungsprozesses von show-Befehlsausgaben und Debug-Befehlen, mit denen Sie Daten erfassen können, die ansonsten sehr schwer zu erfassen wären.

- Unterstützung bei der Bereitstellung einer Lösung: Wenn eine vorübergehende Lösung erforderlich ist, während das Technical Assistance Center (TAC) eine Ursachenanalyse durchführt. Nehmen wir z. B. eine Situation, in der das Problem nur gelegentlich auftritt, das Problem jedoch durch das Zurücksetzen einer Schnittstelle behoben wird. EEM-Skripts können verwendet werden, um diese Aktion zu starten, sobald das Problem auftritt.

In beiden Fällen müssen Sie zur Verwendung von EEM-Skripts ein Triggerereignis identifizieren, das Sie dann zum Auslösen des Skripts verwenden können.

EEM-Beispielskripts

EEM-Beispielskripts zur Fehlerbehebung sind in diesem Abschnitt enthalten.

Ausführen von Befehlen alle 30 Sekunden in Flash

Führen Sie alle 30 Sekunden Befehle für die Datei im Flash-Speicher aus. show-Befehle können an das angepasst werden, was Sie ausführen möchten:

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"

Hinweis: Einige Flash-Dateisysteme (z. B. Bootflash oder SteckplatzX) unterstützen den angefügten Vorgang nicht. Dies ist keine EEM-Einschränkung, sondern eine Einschränkung für lineare Flash-Dateisysteme. Dateisysteme mit wahlfreiem Zugriff wie diskX oder der Flash-Speicher auf Desktop-Switches (3560, 3750 usw.) unterstützen das Anfügen an eine Datei.

Hinweis: Wenn das Gerät für die Befehlsautorisierung Authentication, Authorization, and Accounting (AAA) konfiguriert ist, muss der EEM mit einem Benutzernamen konfiguriert werden, der zum Ausführen aller CLI-Befehle in allen konfigurierten EEM-Richtlinien autorisiert ist.  Geben Sie dazu den Benutzernamen USER für die Sitzung des Veranstaltungsmanagers ein, wobei der BENUTZER der entsprechende AAA-Benutzer ist.

Verwenden Sie einen Watchdog, um das Routerprotokoll alle X Sekunden auf einen FTP-Server oder Flash zu ducken.

Ebenso können Sie mit einem Überwachungs-Tool das Routerprotokoll alle X Sekunden auf einen FTP-Server oder einen Flash-Speicher auslesen:

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"

Sie können auch ein Expect-Skript auf einem UNIX-Gerät in einem Cronjob verwenden, um das Protokoll alle X Minuten abzurufen. Anstatt es mit EEM zu drücken, Ersetzen Sie Benutzername und Kennwort durch die richtigen Zeichenfolgen für Anmeldeberechtigungen:

> 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

Debuggen beim Starten des Routers aktivieren

Aktivieren von Debuggen beim Booten des Routers; Ändern Sie die Debugging-Einstellungen auf das, was Sie aktivieren möchten:

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"

Debugger nach einer bestimmten Nachricht deaktivieren

Deaktivieren Sie Debugger, nachdem eine bestimmte Debugmeldung erkannt wurde, um das Auffüllen des Protokolls zu verhindern. Deaktivieren Sie anschließend das EEM-Skript (selbst). Ändern Sie das Muster so, dass es Ihrer Situation entspricht:

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"

Fehlerbehebung

Fehlerbehebung bei VPN-Problemen

Während die meisten VPN-Probleme im Allgemeinen kein EEM erfordern, um eine Fehlerbehebung vorzunehmen, kann das Problem in einigen Fällen vorübergehend sein, wodurch es schwierig wird, die erforderlichen Informationen zu erhalten. Zu den relevanten Fällen gehören:

- EEM zur Fehlerbehebung bei IGP-Flaps/Ausfällen über VPN verwenden

- EEM-Skripte zur Fehlerbehebung bei Tunnelzugriffen, die durch ungültige Sicherheitsparameterindizes verursacht werden

- Syslog "%CRYPTO-4-RECVD_PKT_MAC_ERR:" Fehlermeldung mit Ping Loss Over IPsec Tunnel Troubleshooting

Fehlerbehebung bei hoher CPU-Auslastung

Es wird in der Regel festgestellt, dass die CPU-Auslastung manchmal für einen sehr kurzen Zeitraum und zu unbestimmten Zeiten ansteigt. Daher wird es sehr schwierig, Befehle auszuführen, die bei hoher CPU-Auslastung ausgeführt werden müssen. In diesem Fall kann ein EEM-Skript sehr nützlich sein. Legen Sie die CPU-Werte fest, bei denen sie ausgelöst werden soll, und es ruft die Befehlsausgaben ab.

Dies ist ein Beispielskript und sollte an Ihre Anforderungen angepasst werden:

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"

Das oben aufgeführte Skript erkennt nicht nur die CPU-Auslastung und führt die Befehle aus, sondern fügt die Ausgaben auch dem Flash-Speicher hinzu: oder an einem anderen Standort beliebiger Wahl. Sie wird ausgelöst, wenn die CPU-Auslastung über 60 % liegt. Dies sollte an Ihre Anforderungen angepasst werden. Es ist jedoch Vorsicht geboten, den freien Speicherplatz im Dateisystem zu berücksichtigen, bevor Sie das Skript bereitstellen.

Zugehörige Informationen

- Befehlsreferenz zur Cisco IOS-Netzwerkverwaltung

- Cisco Support Community - EEM-Scripting

- Technischer Support und Dokumentation - Cisco Systems