In dem Dokumentationssatz für dieses Produkt wird die Verwendung inklusiver Sprache angestrebt. Für die Zwecke dieses Dokumentationssatzes wird Sprache als „inklusiv“ verstanden, wenn sie keine Diskriminierung aufgrund von Alter, körperlicher und/oder geistiger Behinderung, Geschlechtszugehörigkeit und -identität, ethnischer Identität, sexueller Orientierung, sozioökonomischem Status und Intersektionalität impliziert. Dennoch können in der Dokumentation stilistische Abweichungen von diesem Bemühen auftreten, wenn Text verwendet wird, der in Benutzeroberflächen der Produktsoftware fest codiert ist, auf RFP-Dokumentation basiert oder von einem genannten Drittanbieterprodukt verwendet wird. Hier erfahren Sie mehr darüber, wie Cisco inklusive Sprache verwendet.
Cisco hat dieses Dokument maschinell übersetzen und von einem menschlichen Übersetzer editieren und korrigieren lassen, um unseren Benutzern auf der ganzen Welt Support-Inhalte in ihrer eigenen Sprache zu bieten. Bitte beachten Sie, dass selbst die beste maschinelle Übersetzung nicht so genau ist wie eine von einem professionellen Übersetzer angefertigte. Cisco Systems, Inc. übernimmt keine Haftung für die Richtigkeit dieser Übersetzungen und empfiehlt, immer das englische Originaldokument (siehe bereitgestellter Link) heranzuziehen.
In diesem Dokument wird die Fehlerbehebung bei hoher CPU-Auslastung aufgrund von Unterbrechungen auf Cisco IOS® XE-Plattformen mit Version 16.x beschrieben.
Dieses Dokument wurde von Raymond Whiting und Yogesh Ramdoss, Cisco TAC Engineers, erstellt.
In diesem Dokument werden außerdem verschiedene neue Befehle auf dieser Plattform vorgestellt, die einen wichtigen Beitrag zur Fehlerbehebung bei Problemen mit der CPU-Auslastung leisten. Es ist wichtig zu verstehen, wie Cisco IOS XE aufgebaut ist. Mit Cisco IOS XE ist Cisco auf einen Linux-Kernel umgestiegen, und alle Subsysteme wurden in Prozesse unterteilt. Alle Subsysteme, die sich zuvor in Cisco IOS befanden, wie z. B. die Modultreiber, Hochverfügbarkeit (HA) usw., werden jetzt als Softwareprozesse innerhalb des Linux-Betriebssystems ausgeführt. Cisco IOS selbst wird als Daemon innerhalb des Linux-Betriebssystems (IOSd) ausgeführt. Cisco IOS XE bietet nicht nur dasselbe Erscheinungsbild wie das klassische Cisco IOS, sondern auch Betrieb, Support und Management.
Hier einige nützliche Definitionen:
Ein grobes Diagramm des Kommunikationspfades zwischen der Datenebene und der Kontrollebene:
In diesem Abschnitt wird ein systematischer Workflow zur Ermittlung von Problemen mit der hohen CPU auf den Switches beschrieben. Beachten Sie, dass zum Zeitpunkt der Erstellung dieses Abschnitts ein ausgewählter Prozess behandelt wird.
Der Fehlerbehebungs- und Verifizierungsprozess in diesem Abschnitt kann bei einer hohen CPU-Auslastung aufgrund von Unterbrechungen umfassend genutzt werden.
Der show process cpu Befehl wird verwendet, um den aktuellen Prozessstatus innerhalb des IOSd-Daemons anzuzeigen. Wenn Sie die Ausgabeänderung hinzufügen
| exclude 0.00, werden die derzeit inaktiven Prozesse herausgefiltert.
Aus dieser Ausgabe ergeben sich zwei wertvolle Informationen:
- CPU-Auslastung für fünf Sekunden: 91 %/30 %
- Die erste Zahl (91 %) ist die Gesamt-CPU-Auslastung des Switches
- Die zweite Zahl (30 %) ist die Auslastung, die durch Interrupts von der Datenebene verursacht wird.
- Der Address Resolution Protocol
(ARP) Input-Prozess ist derzeit der wichtigste Cisco IOS-Prozess, der die Ressourcen beansprucht:
Switch# show processes cpu sort | ex 0.00
CPU utilization for five seconds: 91%/30%; one minute: 30%; five minutes: 8%
PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process
37 14645 325 45061 59.53% 18.86% 4.38% 0 ARP Input
137 2288 115 19895 1.20% 0.14% 0.07% 0 Per-minute Jobs
373 2626 35334 74 0.15% 0.11% 0.09% 0 MMA DB TIMER
218 3123 69739 44 0.07% 0.09% 0.12% 0 IP ARP Retry Age
404 2656 35333 75 0.07% 0.09% 0.09% 0 MMA DP TIMER
Der
show processes cpu platform sorted Befehl wird verwendet, um anzuzeigen, wie die Prozessauslastung des Linux-Kernels aussieht. Aus der Ausgabe kann man beobachten, dass der FED-Prozess hoch ist, was auf die ARP-Anfragen zurückzuführen ist, die an den IOSd-Prozess gesendet wurden:
Switch# show processes cpu platform sorted CPU utilization for five seconds: 38%, one minute: 38%, five minutes: 40% Core 0: CPU utilization for five seconds: 39%, one minute: 37%, five minutes: 39% Core 1: CPU utilization for five seconds: 41%, one minute: 38%, five minutes: 40% Core 2: CPU utilization for five seconds: 30%, one minute: 38%, five minutes: 40% Core 3: CPU utilization for five seconds: 37%, one minute: 39%, five minutes: 41% Pid PPid 5Sec 1Min 5Min Status Size Name -------------------------------------------------------------------------------- 22701 22439 89% 88% 88% R 2187444224 linux_iosd-imag 11626 11064 46% 47% 48% S 2476175360 fed main event 4585 2 7% 9% 9% S 0 lsmpi-xmit 4586 2 3% 6% 6% S 0 lsmpi-rx
Schritt 2: Ermitteln Sie, warum FED Pakete auf die Kontrollebene überträgt.
Aus Schritt 1. Daraus können Sie schließen, dass der IOSd/ARP-Prozess zwar sehr umfangreich ist, aber von Datenverkehr beeinträchtigt wird, der von der Datenebene eingeführt wird. Weitere Untersuchungen, warum der FED-Prozess Datenverkehr an die CPU sendet und woher dieser Datenverkehr kommt, sind erforderlich.
Der
show platform software fed switch active punt cause summary gibt einen groben Überblick über den Grund für den Punt. Jede Zahl, die über mehrere Läufe dieses Befehls inkrementiert wird, weist auf Folgendes hin:
Switch#show platform software fed switch active punt cause summary Statistics for all causes Cause Cause Info Rcvd Dropped ------------------------------------------------------------------------------ 7 ARP request or response 18444227 0 11 For-us data 16 0 21 RP<->QFP keepalive 3367 0 24 Glean adjacency 2 0 55 For-us control 6787 0 60 IP subnet or broadcast packet 14 0 96 Layer2 control protocols 3548 0 ------------------------------------------------------------------------------
Pakete, die von FED an die Steuerungsebene gesendet werden, verwenden eine geteilte Warteschlangenstruktur, um Kontrollverkehr mit hoher Priorität zu gewährleisten. Dieser Datenverkehr geht nicht hinter Datenverkehr mit geringerer Priorität verloren, wie beim ARP. Eine allgemeine Übersicht dieser Warteschlangen kann mithilfe des
show platform software fed switch active cpu-interface angezeigt werden. Nachdem Sie diesen Befehl mehrmals ausgeführt haben, kann festgestellt werden, dass die
Forus Resolution Warteschlange (Forus - d. h. der an die CPU gerichtete Datenverkehr) schnell inkrementiert wird.
Switch#show platform software fed switch active cpu-interface queue retrieved dropped invalid hol-block ------------------------------------------------------------------------- Routing Protocol 8182 0 0 0 L2 Protocol 161 0 0 0 sw forwarding 2 0 0 0 broadcast 14 0 0 0 icmp gen 0 0 0 0 icmp redirect 0 0 0 0 logging 0 0 0 0 rpf-fail 0 0 0 0 DOT1X authentication 0 0 0 0 Forus Traffic 16 0 0 0 Forus Resolution 24097779 0 0 0 Inter FED 0 0 0 0 L2 LVX control 0 0 0 0 EWLC control 0 0 0 0 EWLC data 0 0 0 0 L2 LVX data 0 0 0 0 Learning cache 0 0 0 0 Topology control 4117 0 0 0 Proto snooping 0 0 0 0 DHCP snooping 0 0 0 0 Transit Traffic 0 0 0 0 Multi End station 0 0 0 0 Webauth 0 0 0 0 Crypto control 0 0 0 0 Exception 0 0 0 0 General Punt 0 0 0 0 NFL sampled data 0 0 0 0 Low latency 0 0 0 0 EGR exception 0 0 0 0 FSS 0 0 0 0 Multicast data 0 0 0 0 Gold packet 0 0 0 0
Die Verwendung von
show platform software fed switch active punt cpuq all bietet eine detailliertere Ansicht dieser Warteschlangen. Warteschlange 5 ist für ARP zuständig und wird erwartungsgemäß über mehrere Befehlsausführungen inkrementiert. Der
show plat soft fed sw active inject cpuq clear Befehl kann verwendet werden, um die Zähler zu löschen, um das Lesen zu erleichtern.
Switch#show platform software fed switch active punt cpuq all <snip> CPU Q Id : 5 CPU Q Name : CPU_Q_FORUS_ADDR_RESOLUTION Packets received from ASIC : 21018219 Send to IOSd total attempts : 21018219 Send to IOSd failed count : 0 RX suspend count : 0 RX unsuspend count : 0 RX unsuspend send count : 0 RX unsuspend send failed count : 0 RX consumed count : 0 RX dropped count : 0 RX non-active dropped count : 0 RX conversion failure dropped : 0 RX INTACK count : 1050215 RX packets dq'd after intack : 90 Active RxQ event : 3677400 RX spurious interrupt : 1050016 <snip>
Von hier aus gibt es eine Reihe von Optionen. ARP steht für Broadcast-Datenverkehr, sodass Sie nach Schnittstellen suchen können, die eine ungewöhnlich hohe Broadcast-Datenverkehrsrate aufweisen (auch nützlich zur Fehlerbehebung von Layer-2-Schleifen). Dieser Befehl muss mehrmals ausgeführt werden, um zu bestimmen, welche Schnittstelle aktiv inkrementiert wird.
Switch#show interfaces counters Port InOctets InUcastPkts InMcastPkts InBcastPkts Gi1/0/1 1041141009678 9 0 16267828358 Gi1/0/2 1254 11 0 1 Gi1/0/3 0 0 0 0 Gi1/0/4 0 0 0 0
Die andere Option besteht darin, das EPC-Tool (Embedded Packet Capture) zu verwenden, um eine Stichprobe der Pakete zu sammeln, die auf der Kontrollebene angezeigt werden.
Switch#monitor capture cpuCap control-plane in match any file location flash:cpuCap.pcap Switch#show monitor capture cpuCap Status Information for Capture cpuCap Target Type: Interface: Control Plane, Direction: IN Status : Inactive Filter Details: Capture all packets Buffer Details: Buffer Type: LINEAR (default) File Details: Associated file name: flash:cpuCap.pcap Limit Details: Number of Packets to capture: 0 (no limit) Packet Capture duration: 0 (no limit) Packet Size to capture: 0 (no limit) Packet sampling rate: 0 (no sampling)
Mit diesem Befehl wird eine interne Erfassung auf dem Switch konfiguriert, um den Datenverkehr zu erfassen, der an die Steuerungsebene gesendet wird. Dieser Datenverkehr wird in einer Datei im Flash-Speicher gespeichert. Dies ist eine normale
wireshark pcap Datei, die über einen Switch exportiert und zur weiteren Analyse in Wireshark geöffnet werden kann.
Starten Sie die Erfassung, lassen Sie sie einige Sekunden laufen, und stoppen Sie die Erfassung:
Switch#monitor capture cpuCap start Enabling Control plane capture may seriously impact system performance. Do you want to continue? [yes/no]: yes Started capture point : cpuCap *Jun 14 17:57:43.172: %BUFCAP-6-ENABLE: Capture Point cpuCap enabled. Switch#monitor capture cpuCap stop Capture statistics collected at software: Capture duration - 59 seconds Packets received - 215950 Packets dropped - 0 Packets oversized - 0 Bytes dropped in asic - 0 Stopped capture point : cpuCap Switch# *Jun 14 17:58:37.884: %BUFCAP-6-DISABLE: Capture Point cpuCap disabled.
Es ist auch möglich, die Erfassungsdatei auf dem Switch anzuzeigen:
Switch#show monitor capture file flash:cpuCap.pcap Starting the packet display ........ Press Ctrl + Shift + 6 to exit 1 0.000000 Xerox_d7:67:a1 -> Broadcast ARP 60 Who has 192.168.1.24? Tell 192.168.1.2 2 0.000054 Xerox_d7:67:a1 -> Broadcast ARP 60 Who has 192.168.1.24? Tell 192.168.1.2 3 0.000082 Xerox_d7:67:a1 -> Broadcast ARP 60 Who has 192.168.1.24? Tell 192.168.1.2 4 0.000109 Xerox_d7:67:a1 -> Broadcast ARP 60 Who has 192.168.1.24? Tell 192.168.1.2 5 0.000136 Xerox_d7:67:a1 -> Broadcast ARP 60 Who has 192.168.1.24? Tell 192.168.1.2 6 0.000162 Xerox_d7:67:a1 -> Broadcast ARP 60 Who has 192.168.1.24? Tell 192.168.1.2 7 0.000188 Xerox_d7:67:a1 -> Broadcast ARP 60 Who has 192.168.1.24? Tell 192.168.1.2 8 0.000214 Xerox_d7:67:a1 -> Broadcast ARP 60 Who has 192.168.1.24? Tell 192.168.1.2 9 0.000241 Xerox_d7:67:a1 -> Broadcast ARP 60 Who has 192.168.1.24? Tell 192.168.1.2
Aus dieser Ausgabe geht hervor, dass der Host 192.168.1.2 die Quelle der konstanten ARPs ist, die die hohe CPU auf dem Switch verursachen. Verwenden Sie die Befehle
show ip arp und
show mac address-table address, um den Host zu verfolgen und entweder aus dem Netzwerk zu entfernen oder die ARPs zu adressieren. Es ist auch möglich, mithilfe der Detailoption im Befehl "Capture View" vollständige Details zu jedem erfassten Paket abzurufen
show monitor capture file flash:cpuCap.pcap detail. Weitere Informationen zur Paketerfassung auf einem Catalyst Switch finden Sie in diesem Leitfaden.
Anwenderbericht 2. IP-Umleitungen mit CoPP
Catalyst Switches der neuesten Generation werden standardmäßig durch Control Plane Policing (CoPP) geschützt. CoPP wird verwendet, um die CPU vor böswilligen Angriffen und Fehlkonfigurationen zu schützen, die die Fähigkeit der Switches gefährden können, um wichtige Funktionen wie Spanning Trees und Routing-Protokolle aufrechtzuerhalten. Diese Schutzmaßnahmen können in Szenarien zum Tragen kommen, in denen der Switch nur über eine geringfügig erhöhte CPU verfügt und die Schnittstellenzähler leer sind, der Datenverkehr jedoch verloren geht, während er den Switch passiert. Es ist wichtig, die grundlegende CPU-Auslastung auf Ihrem Gerät zum Zeitpunkt des normalen Betriebs zu beachten. Die erhöhte CPU-Auslastung stellt nicht unbedingt ein Problem dar, und sie hängt von den auf dem Gerät aktivierten Funktionen ab. Wenn diese Auslastung jedoch ohne Konfigurationsänderungen zunimmt, kann dies ein Zeichen von Besorgnis sein.
Stellen Sie sich folgendes Szenario vor: Hosts, die vom Gateway-Switch abgeschaltet werden, melden langsame Download-Geschwindigkeiten und einen Ping-Verlust für das Internet. Eine allgemeine Integritätsprüfung des Switches zeigt keine Fehler an den Schnittstellen oder Ping-Verluste, wenn sie vom Gateway-Switch ausgehen.
Wenn Sie die CPU überprüfen, werden aufgrund von Unterbrechungen leicht erhöhte Werte angezeigt.
Switch#show processes cpu sorted | ex 0.00 CPU utilization for five seconds: 8%/7%; one minute: 8%; five minutes: 8% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 122 913359 1990893 458 0.39% 1.29% 1.57% 0 IOSXE-RP Punt Se 147 5823 16416 354 0.07% 0.05% 0.06% 0 PLFM-MGR IPC pro 404 13237 183032 72 0.07% 0.08% 0.07% 0 MMA DP TIMER
Wenn Sie die CPU-Schnittstelle überprüfen, stellen Sie fest, dass der Zähler für die ICMP-Umleitung aktiv erhöht wird.
Switch#show platform software fed switch active cpu-interface queue retrieved dropped invalid hol-block ------------------------------------------------------------------------- Routing Protocol 12175 0 0 0 L2 Protocol 236 0 0 0 sw forwarding 714673 0 0 0 broadcast 2 0 0 0 icmp gen 0 0 0 0 icmp redirect 2662788 0 0 0 logging 7 0 0 0 rpf-fail 0 0 0 0 DOT1X authentication 0 0 0 0 Forus Traffic 21776434 0 0 0 Forus Resolution 724021 0 0 0 Inter FED 0 0 0 0 L2 LVX control 0 0 0 0 EWLC control 0 0 0 0 EWLC data 0 0 0 0 L2 LVX data 0 0 0 0 Learning cache 0 0 0 0 Topology control 6122 0 0 0 Proto snooping 0 0 0 0 DHCP snooping 0 0 0 0 Transit Traffic 0 0 0 0
In FED wurden keine Verluste festgestellt. Wenn Sie jedoch CoPP überprüfen, können Sie in der ICMP-Umleitungswarteschlange Verluste beobachten.
Switch#show platform hardware fed switch 1 qos queue stats internal cpu policer CPU Queue Statistics ============================================================================================ (default) (set) Queue QId PlcIdx Queue Name Enabled Rate Rate Drop(Bytes) ----------------------------------------------------------------------------- 0 11 DOT1X Auth Yes 1000 1000 0 1 1 L2 Control Yes 2000 2000 0 2 14 Forus traffic Yes 4000 4000 0 3 0 ICMP GEN Yes 600 600 0 4 2 Routing Control Yes 5400 5400 0 5 14 Forus Address resolution Yes 4000 4000 0 6 0 ICMP Redirect Yes 600 600 463538463 7 16 Inter FED Traffic Yes 2000 2000 0 8 4 L2 LVX Cont Pack Yes 1000 1000 0 <snip>
CoPP ist im Wesentlichen eine QoS-Richtlinie, die auf der Kontrollebene des Geräts platziert wird. CoPP funktioniert wie jede andere QoS auf dem Switch: Wenn die Warteschlange für einen bestimmten Datenverkehr erschöpft ist, wird der Datenverkehr, der diese Warteschlange verwendet, verworfen. Von diesen Ausgaben wissen Sie, dass der Datenverkehr aufgrund von ICMP-Umleitungen per Software umgeleitet wird, und Sie wissen, dass dieser Datenverkehr aufgrund der Ratenbeschränkung in der ICMP-Umleitungswarteschlange verworfen wird. Sie können eine Erfassung auf der Kontrollebene durchführen, um zu überprüfen, ob die Pakete, die auf der Kontrollebene eintreffen, von den Benutzern stammen.
Um zu sehen, welche Übereinstimmungslogik die einzelnen Klassen verwenden, verfügen Sie über eine CLI, mit der Sie Pakettypen identifizieren können, die in eine bestimmte Warteschlange geraten sind. In diesem Beispiel erfahren Sie, was die
system-cpp-routing-control Klasse erreicht:
Switch#show platform software qos copp policy-info
Default rates of all classmaps are displayed:
policy-map system-cpp-policy
class system-cpp-police-routing-control
police rate 5400 pps
Switch#show platform software qos copp class-info
ACL representable classmap filters are displayed:
class-map match-any system-cpp-police-routing-control
description Routing control and Low Latency
match access-group name system-cpp-mac-match-routing-control
match access-group name system-cpp-ipv4-match-routing-control
match access-group name system-cpp-ipv6-match-routing-control
match access-group name system-cpp-ipv4-match-low-latency
match access-group name system-cpp-ipv6-match-low-latency
mac access-list extended system-cpp-mac-match-routing-control
permit any host 0180.C200.0014
permit any host 0900.2B00.0004
ip access-list extended system-cpp-ipv4-match-routing-control
permit udp any any eq rip
<...snip...>
ipv6 access-list system-cpp-ipv6-match-routing-control
permit ipv6 any FF02::1:FF00:0/104
permit ipv6 any host FF01::1
<...snip...>
ip access-list extended system-cpp-ipv4-match-low-latency
permit udp any any eq 3784
permit udp any any eq 3785
ipv6 access-list system-cpp-ipv6-match-low-latency
permit udp any any eq 3784
permit udp any any eq 3785
<...snip...>
Switch#monitor capture cpuSPan control-plane in match any file location flash:cpuCap.pcap Control-plane direction IN is already attached to the capture Switch#monitor capture cpuSpan start Enabling Control plane capture may seriously impact system performance. Do you want to continue? [yes/no]: yes Started capture point : cpuSpan Switch# *Jun 15 17:28:52.841: %BUFCAP-6-ENABLE: Capture Point cpuSpan enabled. Switch#monitor capture cpuSpan stop Capture statistics collected at software: Capture duration - 12 seconds Packets received - 5751 Packets dropped - 0 Packets oversized - 0 Bytes dropped in asic - 0 Stopped capture point : cpuSpan Switch# *Jun 15 17:29:02.415: %BUFCAP-6-DISABLE: Capture Point cpuSpan disabled. Switch#show monitor capture file flash:cpuCap.pcap detailed Starting the packet display ........ Press Ctrl + Shift + 6 to exit Frame 1: 60 bytes on wire (480 bits), 60 bytes captured (480 bits) on interface 0
<snip>
Ethernet II, Src: OmronTat_2c:a1:52 (00:00:0a:2c:a1:52), Dst: Cisco_8f:cb:47 (00:42:5a:8f:cb:47)
<snip>
Internet Protocol Version 4, Src: 192.168.1.10, Dst: 8.8.8.8
<snip>
Wenn dieser Host einen Ping-Befehl an 8.8.8.8 sendet, sendet er den Ping an die MAC-Adresse des Gateways, da sich die Zieladresse außerhalb des VLAN befindet. Der Gateway-Switch erkennt, dass sich der nächste Hop im selben VLAN befindet, schreibt die MAC-Zieladresse in die Firewall und leitet das Paket weiter. Dieser Prozess kann in der Hardware auftreten, aber eine Ausnahme von dieser Hardware-Weiterleitung ist der IP-Umleitungsprozess. Wenn der Switch den Ping empfängt, erkennt er, dass er Datenverkehr auf demselben VLAN weiterleitet, und sendet den Datenverkehr an die CPU, um ein Umleitungspaket zurück an den Host zu generieren. Diese Umleitungsnachricht soll den Host darüber informieren, dass es einen optimalen Pfad zum Ziel gibt. In diesem Fall ist der nächste Layer-2-Hop von der Planung und wird erwartet. Der Switch muss so konfiguriert werden, dass er die Umleitungsnachrichten nicht sendet und die Pakete nicht in der Hardware weiterleitet. Dies geschieht, wenn Sie die Umleitungen auf der VLAN-Schnittstelle deaktivieren.
interface Vlan1 ip address 192.168.1.1 255.255.255.0 no ip redirects end
Wenn die IP-Umleitung deaktiviert ist, schreibt der Switch die MAC-Adresse neu und leitet sie an die Hardware weiter.
Anwenderbericht 3. Zeitweise hohe CPU
Für den Fall, dass die hohe CPU auf dem Switch intermittierend ist, ist es möglich, ein Skript auf dem Switch einzurichten, um diese Befehle bei hohen CPU-Ereignissen automatisch auszuführen. Dies erfolgt mithilfe des Cisco IOS Embedded Event Manager (EEM).
Der Wert für entry-val wird verwendet, um zu bestimmen, wie hoch die CPU ist, bevor das Skript ausgelöst wird. Das Skript überwacht die durchschnittliche CPU-SNMP-OID von 5 Sekunden. Zwei Dateien werden in den Flash-Speicher geschrieben
tac-cpu-<timestamp>.txt, enthalten die Befehlsausgaben und
tac-cpu-<timestamp>.pcap enthalten die Erfassung des CPU-Eintritts. Diese Dateien können dann zu einem späteren Zeitpunkt überprüft werden.
config t
no event manager applet high-cpu authorization bypass
event manager applet high-cpu authorization bypass
event snmp oid 1.3.6.1.4.1.9.9.109.1.1.1.1.3.1 get-type next entry-op gt entry-val 80 poll-interval 1 ratelimit 300 maxrun 180
action 0.01 syslog msg "High CPU detected, gathering system information."
action 0.02 cli command "enable"
action 0.03 cli command "term exec prompt timestamp"
action 0.04 cli command "term length 0"
action 0.05 cli command "show clock"
action 0.06 regex "([0-9]|[0-9][0-9]):([0-9]|[0-9][0-9]):([0-9]|[0-9][0-9])" $_cli_result match match1
action 0.07 string replace "$match" 2 2 "."
action 0.08 string replace "$_string_result" 5 5 "."
action 0.09 set time $_string_result
action 1.01 cli command "show proc cpu sort | append flash:tac-cpu-$time.txt"
action 1.02 cli command "show proc cpu hist | append flash:tac-cpu-$time.txt"
action 1.03 cli command "show proc cpu platform sorted | append flash:tac-cpu-$time.txt"
action 1.04 cli command "show interface | append flash:tac-cpu-$time.txt"
action 1.05 cli command "show interface stats | append flash:tac-cpu-$time.txt"
action 1.06 cli command "show log | append flash:tac-cpu-$time.txt"
action 1.07 cli command "show ip traffic | append flash:tac-cpu-$time.txt"
action 1.08 cli command "show users | append flash:tac-cpu-$time.txt"
action 1.09 cli command "show platform software fed switch active punt cause summary | append flash:tac-cpu-$time.txt"
action 1.10 cli command "show platform software fed switch active cpu-interface | append flash:tac-cpu-$time.txt"
action 1.11 cli command "show platform software fed switch active punt cpuq all | append flash:tac-cpu-$time.txt"
action 2.08 cli command "no monitor capture tac_cpu"
action 2.09 cli command "monitor capture tac_cpu control-plane in match any file location flash:tac-cpu-$time.pcap"
action 2.10 cli command "monitor capture tac_cpu start" pattern "yes"
action 2.11 cli command "yes"
action 2.12 wait 10
action 2.13 cli command "monitor capture tac_cpu stop"
action 3.01 cli command "term default length"
action 3.02 cli command "terminal no exec prompt timestamp"
action 3.03 cli command "no monitor capture tac_cpu"
Zugehörige Informationen
- Cisco IOS XE 16 - Informationen auf einen Blick
- Catalyst Switches der 3850-Serie – Fehlerbehebung bei hoher CPU-Auslastung
- Integrierte Paketerfassung für Cisco IOS und Cisco IOS XE - Konfigurationsbeispiel
- Konfigurieren von Punt/Inject FED Packet Capture auf Catalyst-Switches mit Cisco IOS XE 16.x
- Technischer Support von Cisco und Download
Überarbeitung | Veröffentlichungsdatum | Kommentare |
---|---|---|
2.0 |
13-Mar-2024 |
Rezertifizierung |
1.0 |
08-Aug-2018 |
Erstveröffentlichung |