Einleitung
Dieses Dokument beschreibt die Überwachung der CPU-Auslastung, um eine hohe CPU-Auslastung auf dem SNMP-Prozess zu beheben.
Voraussetzungen
Anforderungen
Cisco empfiehlt, dass Sie über Grundkenntnisse der Cisco IOS®-XE WLC Serie 9800 verfügen.
Verwendete Komponenten
Die Informationen in diesem Dokument basieren auf den Hardwareversionen der Cisco IOS®-XE WLC Serie 9800 und sind nicht auf bestimmte Softwareversionen beschränkt.
Die Informationen in diesem Dokument beziehen sich auf Geräte in einer speziell eingerichteten Testumgebung. Alle Geräte, die in diesem Dokument benutzt wurden, begannen mit einer gelöschten (Nichterfüllungs) Konfiguration. Wenn Ihr Netzwerk in Betrieb ist, stellen Sie sicher, dass Sie die möglichen Auswirkungen aller Befehle kennen.
Hintergrund Informationen
Wir müssen bestätigen, ob SNMP diejenige mit höherer Auslastung ist. Erfassen Sie diese Protokolle außerhalb der Geschäftszeiten, wenn das Problem auftritt, um weitere Untersuchungen anzustellen, da sie die Leistung beeinträchtigen können.
Überwachung
Beispiel:
ID Laufzeit(ms) Aufgerufen Sekunden 5 s 1 Minute 5 Minuten TTY Prozess
736 6846005 11045858 619 88,09% 9,15% 3,28% 0 SNMP ENGINE
Fehlerbehebung
Öffnen Sie zwei WLC-CLI-Sitzungen, um die folgenden Protokolle abzurufen:
Session-1: show snmp stats hosts
Debug snmp packet Debug snmp detail terminal monitor
Session-2: Diese Statistiken zeigen die Ausgabe für ein Intervall an und aktivieren den internen Dienst, um dies auszuführen.
Conf t Service internal end wr test snmp cpu-stats start show snmp cpu-stats test snmp cpu-stats stop
Überprüfen Sie außerdem die MIB, die für das Polling auf dem SNMP-Server verwendet wird, wenn das Problem erkannt wird.
EEM-Skript
Befolgen Sie die Schritte für die Zeiten, die nicht in der Produktion sind.
Schritt 1: Führen Sie diese Befehle aus.
Conf t
Service intern
end
wr
Schritt 2: Aktivieren Sie das EEM-Skript für SNMP-Statistiken (kopieren Sie dieses Skript, und fügen Sie es in die CLI des Controllers ein):
Conf t
no event manager applet snmp-1
Ereignismanager-Applet-SNMP-1
Veranstaltung keine maxrun 2000
action 10 cli-Befehl "enable"
action 11 cli-Befehl "terminal leng 0"
Aktion 11.1 setzt "Skriptstarts"
action 12 cli-Befehl "debug snmp packet"
action 13 cli-Befehl "debug snmp detail"
action 14 cli-Befehl "debug snmp request"
action 20.1 cli-Befehl "show clock"
action 21 regexp "(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ([1-9]|0[1-9]|[1-2][0-9]|3[0-1]) (20[1-9][0-9])" "$_cli_result" Zeit2 Monat Tag Jahr
Aktion 22 setzt "$time2"
Aktion 23 setzt "$month"
Aktion 24 setzt "$day"
Aktion 25 bringt "$year"
action 26 cli-Befehl "show clock | Flash anhängen:/snmp-cpu-logs-$jahr$Monat$tag.txt"
action 27 cli-Befehl "show snmp stats hosts" | Flash anhängen:/snmp-cpu-logs-$jahr$Monat$tag.txt"
action 30 cli-Befehl "test snmp cpu-stats start"
Aktion 35 Ebene 1 setzen
Aktion 36 während $iter le 6
action 40 cli-Befehl "show snmp cpu-stats" | Flash anhängen:/snmp-cpu-logs-$jahr$Monat$tag.txt"
Aktion 40.1 setzt "Iterator:$iter"
Aktion 41 warten 300
action 43 cli-Befehl "show clock | Flash anhängen:/snmp-cpu-logs-$jahr$Monat$tag.txt"
Aktion 44 Inkrement-Element 1
Aktion 45 Ende
action 50 cli-Befehl "test snmp cpu-stats stop"
action 55 cli-Befehl "no debug snmp packet"
action 56 cli-Befehl "no debug snmp detail"
action 57 cli-Befehl "no debug snmp request"
Aktion 58 beendet das Skript
end
wr
Schritt 3: Das vorherige Skript mit dem folgenden Befehl ausführen: #event manager run snmp-1
Hinweis: Aktivieren Sie außerhalb der Geschäftszeiten, wenn ein Problem auftritt, das Skript mithilfe des folgenden Befehls:
Warten Sie, bis das Skript die Eingabeaufforderung in der CLI beendet. Es dauert normalerweise 30 Minuten.
Schritt 4: Die Ausführung des vorherigen Skripts würde maximal 30-40 Minuten dauern, und es würde eine "Script ends"-Meldung angezeigt.
Es gibt "Iterator" zu vervollständigen, nachdem Sie die Nachricht "Script endet" sehen
Wenn das Skript beendet ist, gehen Sie zu GUI > Administration > File Manager > Bootflash. Klicken Sie mit der rechten Maustaste auf das Protokoll snmp-cpu-logs.txt, um es herunterzuladen und mit dem TAC zu teilen.
Schritt 5: Überprüfen Sie die MIB-Datei, die zum Abrufen des WLC während des Problems verwendet wird.
Eine Beispielreferenzausgabe kann wie folgt aussehen:
DR 5 Sek.% 1 Min.% 5 Min.% Laufzeit(ms) Zeit(usecs) aufgerufene OID
556272A00320 0,00 6,03 3,30 59 59408 44 vmMitgliedschaftZusammenfassungEintrag.2
556272A00320 50,48 9,68 4,09 59 59659 44 vmMembershipSummaryEntry.3
556272A00320 0,23 1,60 2,23 0 8333 6 clcCdpApCacheApName
556272A00320 0,19 1,62 2,24 2 6999 5 bsnDot11EssMacFiltering
556272A00320 0,23 1,60 2,23 2 3792 24 bsnDot11ESSadminStatus
556272A00320 0,23 1,60 2,23 2 4000 2 bsnDot11EssSicherheitAuthTyp
556272A00320 0,23 1,60 2,23 2 3541 24 bsnDot11EssRowStatus
556272A00320 0,23 1,60 2,23 2 3500 2 bsnDot11ESSwmePolicySet
Die SNMP-Nutzung für C9800-40 beträgt über 70-90 % und ist normal.
Schlussfolgerung
Wenn verschiedene OIDs über SNMP abgefragt werden, muss die CLI als Best Practice konfiguriert werden, um die möglichen Auswirkungen auf die C9800-CPU zu reduzieren: C9800config)#snmp-server Subagent Cache
Mit diesem Befehl wird der Cache nach 60 Sekunden gelöscht. Verwenden Sie zum Ändern des Intervalls folgende CLI:
C9800(config)#snmp-server subagent cache timeout ?
Zeitüberschreitungsintervall für <1-100> Cache (Standard: 60 Sekunden)
Wenn der Kern für den SNMP-Prozess nicht weiter verwendet werden soll, begrenzen Sie das SNMP Polling vom Server, der die MIB verwendet. Deaktivieren Sie die Zeitobjekt-ID der hohen Warteschlange von SNMP MIB/-Server.
Ein SNMP-Objekt mit hoher Warteschlange aus der MIB kann deaktiviert oder entfernt werden.
Im Folgenden finden Sie eine Liste mit Verweisen, die bei Bedarf deaktiviert werden können:
clcCdpAppCacheAppName
bsnDot11EssMac-Filterung
bsnDot11ESSadminStatus
bsnDot11ESSicherheitsauthentifizierungstyp
bsnDot11EssZeilenstatus
bsnDot11ESSwmeRichtlinieneinstellung
bsnMobilstationIP-Adresse
bsnMobilstationBenutzername
bsnMobilstationAPMacAddr
bsnMobileStationAPIfSlotId
bsnMobileStationEssIndex
bsnMobilstationSsid
bsnMobilstationAID
bsnMobileStationStatus
bsnAPIfDot11BeaconPeriod
bsnGlobalDot11DatenschutzoptionImplementiert
bsnGlobalDot11MultiDomainCapabilityImplementiert
bsnGlobalDot11MultiDomainCapabilityEnabled
bsnGlobalDot11Länderindex
bsnGlobalDot11Lastenausgleich
bsnGlobalDot11bDot11gUnterstützung
Für das Objekt "bsn station" auf SNMP würde die Warteschlangenzeit benötigt, um zusätzliche Details abzurufen.
Tipp: Als Best Practice empfiehlt es sich, das Abfrageintervall basierend auf der Anzahl der Knoten im Netzwerk zu reduzieren und nicht benötigte MIBs zu entfernen.
Zugehörige Informationen
Weitere Informationen zu SNMP auf C9800 finden Sie unter diesem Link: