In diesem Dokument wird die Konfiguration des Simple Network Management Protocol (SNMP) zur Überwachung des Cisco 9800 Wireless LAN Controllers (WLC) beschrieben.
Alle Tests wurden unter MacOS 10.14 und einem 9800-CL WLC mit Image-Version 17.5.1 durchgeführt. Einige der in diesem Artikel erwähnten OIDs existieren nicht für ältere Image-Versionen.
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.
Ältere AireOS-WLCs nutzen SNMP als Hauptprotokoll zur Überwachung. Die meisten relevanten Informationen wie Client-Anzahl, Anzahl der verbundenen Access Points, Prozessor- und Speichernutzung können über SNMP-Abfragen vom Tool abgerufen werden, das den WLC überwacht.
Beim 9800 WLC liegt der Schwerpunkt auf Telemetrie. Die Telemetrie funktioniert in einem "Push"-Modell, bei dem der WLC relevante Informationen an den Server sendet, ohne dass eine Abfrage erforderlich ist. Der Catalyst 9800 bietet weiterhin SNMP für Legacy-Zwecke. Einige Informationen können ausschließlich für die Telemetrie verwendet werden, und einige der zuvor bei AireOS verfügbaren OIDs sind für den 9800 noch nicht verfügbar.
Ab Cisco IOS XE® Bengaluru 17.6.1 wird der Ethernet Service Port (Management Interface VRF/GigabitEthernet 0) vom Cisco Catalyst Wireless Controller der Serie 9800 unterstützt.
Vor dieser Version kann der Catalyst 9800 WLC nur mit SNMP über seine Wireless-Management-Schnittstelle oder über eine Redundanz-Management-Schnittstelle überwacht werden (bei einem Standby-WLC im HA-Cluster auf Version 17.5.1 und höher).
SNMPv2c ist eine auf der Community basierende Version von SNMP, und die gesamte Kommunikation zwischen den Geräten erfolgt in Klartext. SNMPv3 ist die sicherste Version, die Integritätsprüfungen, Authentifizierung und Verschlüsselung von Paketen ermöglicht. SNMPv1 ist veraltet, existiert aber noch, um die Kompatibilität mit älterer Software zu gewährleisten. Es wird in diesem Artikel nicht erwähnt.
1. Melden Sie sich bei der Webschnittstelle des 9800 WLC an. Wählen Sie unter Administration > Management > SNMP aus, und stellen Sie sicher, dass SNMP global aktiviert ist. Unter Community Strings werden alle aktuell konfigurierten Communities und ihre Berechtigungsstufe angezeigt:

2. Bevor ein SNMP V3-Benutzer erstellt wird, muss eine SNMP V3-Gruppe definiert werden. Um eine Gruppe von Benutzern mit Lese- und Schreibberechtigung zu erstellen, setzen Sie die Lese- und Schreib-Ansicht auf v1default. Lassen Sie das Feld für die schreibgeschützte Gruppe Schreibansicht leer:

3. Auf der Registerkarte SNMP v3-Benutzer werden alle konfigurierten Benutzer sowie deren Berechtigungen und Protokolle angezeigt, die für die Authentifizierung und Verschlüsselung verwendet werden. Mit der Schaltfläche Neu können Sie einen neuen Benutzer erstellen.
Es stehen drei Sicherheitsmodi zur Verfügung:
4. Wählen Sie SHA als Authentifizierungsprotokoll und mindestens AES-128 als Datenschutzprotokoll.

SNMP kann auch über die Befehlszeilenschnittstelle (Command Line Interface, CLI) konfiguriert werden. CLI bietet zusätzliche Konfigurationsparameter wie die Möglichkeit, einer v2-Community oder v3-Benutzern eine Zugriffsliste zuzuweisen. Eine Beispielkonfiguration einer v2-Community mit Lese- und Schreibzugriff, einer v3-Gruppe mit Lese- und Schreibzugriff und eines v3-Benutzers, der zu dieser Gruppe gehört:
snmp-server manager
snmp-server community <community-name> RW <access-list-number>
snmp-server community <community-name> RO <access-list-number>
snmp-server group <v3-group-name> v3 auth write v1default
snmp-server user <v3-user-name> <v3-group-name> v3 auth sha <auth-password> priv aes 128 <encryption-password> access <access-list-number>
Dies ist ein Beispiel für eine Zugriffsliste, die dem Gerät nur die Verwendung einer IP-Adresse von ermöglicht: 192.168.10.10. So fragen Sie die WLC v2-Community "ReadWriteCommunity" ab:
ip access-list standard 50
10 permit 192.168.10.10
20 deny any
snmp-server manager
snmp-server community ReadWriteCommunity RW 50
Objekt-IDs, kurz OIDs, sind eindeutige Bezeichner, die eine bestimmte Variable oder ein bestimmtes Objekt darstellen. So wird beispielsweise die aktuelle Prozessornutzung als variabel betrachtet, welche Werte mit dem Aufruf nach ihrer Objekt-ID abgerufen werden können. Jede OID ist eindeutig, und es können keine zwei OIDs identisch sein. Dies ähnelt einer MAC-Adresse.
Diese Bezeichner sind mit einer Baumhierarchie ausgerichtet, und jede OID kann bis zu ihrem Ursprung zurückverfolgt werden. Jeder Anbieter hat seine eigene Zweigstelle mit einem gemeinsamen Stamm. Eine Analogie kann eine Privatadresse sein, deren Ursprung das Land oder der Staat ist, mit ihrer Stadt, Postleitzahl, Straße und schließlich der Hausnummer.
Die mit einem Punkt nachgestellten Zahlen stellen jeden Schritt dar, der erforderlich ist, um zu einem bestimmten Punkt in diesem Baum oder Zweig zu gelangen.

Alle diese Werte werden in einer Management Information Base oder kurz MIB in jedem Netzwerkgerät gespeichert. Jeder Bezeichner hat einen Namen und eine Definition (Bereich möglicher Werte, Typ usw.).
Es ist nicht erforderlich, eine MIB in das SNMP-Überwachungstool zu laden, um SNMP zum Abfragen eines Geräts zu verwenden. Solange eine gültige OID bekannt ist, antwortet das Gerät mit dem Wert, der in der Variablen gespeichert ist, die die OID darstellt. Wenn Sie die MIB jedoch in das Abfrage-Tool laden, bietet dies den Vorteil, dass die Objektnamen in ihre IDs übersetzt werden, und erläutert ihre Beschreibung.
In diesem Beispiel fragt das SNMP-Tool den SNMP-Agenten eines Geräts unter Verwendung der OID 1.3.6.1.2.1.1.1.0 nach seiner Systembeschreibung ab.

Cisco bietet MIBs für 9800 WLCs an. Es ist nicht leicht lesbar, jedoch enthält MIB alle verfügbaren Objektnamen und deren Beschreibungen.
Alle 9800-Modelle (9800-80, 9800-40, 9800-L, 9800-CL, EWC) verwenden dieselbe MIB, die Sie über den Cisco Feature Navigator herunterladen können. Das aktuellste Datum ist das neueste, nicht das mit dem höheren Code-Versionsnamen.
Die heruntergeladenen Archivdateien enthalten mehrere .my-Textdateien, die entweder in einen SNMP-Server eines Drittanbieters importiert oder einfach mit einem Texteditor geöffnet werden können. Um die OID eines bestimmten Objektnamens zu finden, müssen Sie zuerst die exakte Datei suchen, die diesen Namen enthält.
Beispielsweise befinden sich alle Objekte, die mit der Überwachung des physischen Status der Geräte (wie CPU und Speicher) zusammenhängen, innerhalb einer MIB namens CISCO-PROCESS-MIB.my.
"cpmCPUMemoryUsed" ist der Objektname, der verwendet wird, um die vom WLC verwendete Speichermenge in Byte bereitzustellen. MIB-Dateien sind alle an einer ähnlichen Syntax ausgerichtet. Die Informationen zum verwendeten Speicherobjekt sehen wie folgt aus:
cpmCPUMemoryUsed OBJECT-TYPE
SYNTAX Gauge32
UNITS "kilo-bytes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The overall CPU wide system memory which is currently
under use."
::= { cpmCPUTotalEntry 12 }
Die meisten zu überwachenden Drittanbietersoftware basieren auf OIDs und nicht auf Objektnamen. Die Umwandlung zwischen Objektname und Objekt-ID kann mithilfe des Cisco SNMP Object Navigator-Tools erfolgen.
Um dieses Tool zu verwenden, geben Sie den Objektnamen in die Suchleiste ein und die Ausgabe liefert die OID und eine kurze Beschreibung. Außerdem kann das gleiche Tool verwendet werden, um den Objektnamen der angegebenen OID zu finden.

Nach der Erfassung kann die OID des zu überwachenden Objekts und die erste SNMP-Abfrage ausgeführt werden. In diesem Kapitel wird beschrieben, wie Sie einen freien WLC-Speicher (OID = 1.3.6.1.4.1.9.9.48.1.1.1.5) für die SNMPv2-Community private und SNMPv3-Benutzer snmpadmin mit dem SHA-Auth-Kennwort abrufen: Cisco123# und AES-Datenschutzkennwort: Cisco123#. Die Schnittstelle für das Controller-Management befindet sich auf: 10.48.39.133.
SNMPwalk ist eine SNMP-Anwendung, die SNMP GETNEXT-Anforderungen verwendet, um eine Netzwerkentität nach einem Informationsbaum abzufragen. Es ist standardmäßig auf MacOS und den meisten Linux-Distributionen vorhanden. Für SNMPv2c entspricht der Befehl dieser Syntax:
snmpwalk -v2c -c <community_name> <WLC_management_interface_ip> <OID>
Dies ist ein weiteres Beispiel:
VAPEROVI:~ vaperovi$ snmpwalk -v2c -c private 10.48.39.133 1.3.6.1.4.1.9.9.109.1.1.1.1.12
SNMPv2-SMI::enterprises.9.9.109.1.1.1.1.12.2 = 3783236 <-------- Free Memory in Bytes
Wenn SNMPv3 verwendet wird, entspricht der Befehl der folgenden Syntax:
snmpwalk -v3 -l authPriv -u <username> -a [MD5|SHA] -A <auth_password> -x [AES|DES] -X <priv_password> <WLC_management_interface_ip> <OID>
Wählen Sie je nach Erstellung des SNMPv3-Benutzers auf dem Controller MD5/SHA und AES/DES aus. Dies ist ein weiteres Beispiel:
VAPEROVI:~ vaperovi$ snmpwalk -v3 -l authPriv -u snmpadmin -a SHA -A Cisco123# -x AES -X Cisco123# 10.48.39.133 1.3.6.1.4.1.9.9.109.1.1.1.1.12
SNMPv2-SMI::enterprises.9.9.109.1.1.1.1.12.2 = 3783236 <-------- Free Memory in Bytes
#snmpwalk output still shows v2 even though v3 is used
Codeausschnitte werden für Python 3.9 geschrieben und verwenden das pysnmp-Modul (pip install pysnmp), um SNMP-Abfragen zur Speichernutzung von Catalyst 9800-CL WLC auszuführen. In diesen Beispielen wird die gleiche SNMPv2-Community und der gleiche SNMPv3-Benutzer verwendet, die in den vorherigen Kapiteln erstellt wurden. Ersetzen Sie einfach die Variablenwerte und integrieren Sie den Code in Ihre eigenen Skripte.
SNMPv2-Beispiel:
from pysnmp.hlapi import *
communityName = 'private'
ipAddress = '10.48.39.133'
OID = '1.3.6.1.4.1.9.9.109.1.1.1.1.12'
for (errorIndication,
errorStatus,
errorIndex,
varBinds) in nextCmd(SnmpEngine(),
CommunityData(communityName),
UdpTransportTarget((ipAddress, 161)),
ContextData(),
ObjectType(ObjectIdentity(OID)),
lexicographicMode=False):
if errorIndication:
print(errorIndication)
elif errorStatus:
print('%s at %s' % (errorStatus.prettyPrint(),
errorIndex and varBinds[int(errorIndex) - 1][0] or '?'))
else:
for varBind in varBinds:
print(' = '.join([x.prettyPrint() for x in varBind]))
Ausgabe druckt aus:
SNMPv2-SMI::enterprises.9.9.109.1.1.1.1.12.2 = 3783236
SNMPv3 Beispiel:
from pysnmp.hlapi import *
username = 'snmpadmin'
ipAddress = '10.48.39.133'
OID = '1.3.6.1.4.1.9.9.109.1.1.1.1.12'
authKey = 'Cisco123#'
privKey = 'Cisco123#'
for (errorIndication,
errorStatus,
errorIndex,
varBinds) in nextCmd(SnmpEngine(),
UsmUserData(username, authKey, privKey,
authProtocol=usmHMACSHAAuthProtocol,
privProtocol=usmAesCfb128Protocol),
UdpTransportTarget((ipAddress, 161)),
ContextData(),
ObjectType(ObjectIdentity(OID)),
lexicographicMode=False):
if errorIndication:
print(errorIndication)
elif errorStatus:
print('%s at %s' % (errorStatus.prettyPrint(),
errorIndex and varBinds[int(errorIndex) - 1][0] or '?'))
else:
for varBind in varBinds:
print(' = '.join([x.prettyPrint() for x in varBind]))
Die Cisco Prime-Infrastruktur ermöglicht die einfache Überwachung und Konfiguration mehrerer Netzwerkgeräte, darunter Wireless Controller. Die Prime-Infrastruktur ist mit allen OIDs und Integrationen in den WLC vorinstalliert und beinhaltet die Hinzufügung der WLC-Anmeldedaten zu Prime. Bei 9800 WLCs benötigt Prime hauptsächlich Telemetrie, um den Großteil der Details vom WLC zu erfassen, während der kleine Teil der Informationen über SNMP abgerufen wird.
Andererseits kann der Cisco WLC zur Überwachung auch in mehrere Drittanbieterlösungen integriert werden, sofern die OIDs bekannt sind. Programme wie Grafana+Prometheus, PRTG Network Monitor und SolarWinds Server ermöglichen den Import von MIBs oder OIDs und die Anzeige der Werte in einem benutzerfreundlichen Diagramm.
Diese Integration kann einige Anpassungen auf der Seite des SNMP-Servers erfordern. In diesem Beispiel wird der PRTG-Monitorserver mit der Pro-Core-CPU-Nutzungs-OID versehen, die die Zeichenfolge "0%/1%, 1%/1%, 0%/1%, 0%/1%" zurückgibt. PRTG erwartet einen Integerwert und löst einen Fehler aus.

Cisco Unified Communications Manager (CUCM) verfügt über eine Funktion zur Wireless-Endpunktverfolgung, mit der der Client-Standort basierend auf dem AP, mit dem er verbunden ist, in etwa verfolgt werden kann. Damit diese Funktion funktioniert, muss der CUCM Informationen über SNMP-Abfragen vom WLC abrufen.
Die Tabelle enthält einige der gebräuchlichsten Objektnamen und ihre OIDs, wobei berücksichtigt wird, dass MIBs die Daten in einer nicht benutzerfreundlichen Syntax darstellen:
| Beschreibung |
Objektname |
OID |
Erwartete Antwort |
| Gesamte CPU-Auslastung in % in den letzten 5 Sekunden (entspricht "show process cpu platform") |
cpmCPUTotal5sec |
1.3.6.1.4.1.9.9.109.1.1.1.1.3 |
GANZZAHL: 5 |
| Gesamte CPU-Auslastung in % in den letzten 1 min |
cpmCPUTotal1min |
1.3.6.1.4.1.9.9.109.1.1.1.1.4 |
GANZZAHL: 5 |
| Gesamte CPU-Auslastung in % in den letzten 5 Min. |
cpmCPUTotal5min |
1.3.6.1.4.1.9.9.109.1.1.1.1.5 |
GANZZAHL: 5 |
| CPU-Auslastung in % in den letzten 5 Minuten, pro Kern |
cpmCore5min |
.1.3.6.1.4.1.9.9.109.1.1.2.1.5.5 (.0 bis .X, je nach Anzahl der Kerne) |
GANZZAHL: 5 |
| Aktuell verwendeter Speicher in Byte |
cpmCPUMemoryVerwendet |
1.3.6.1.4.1.9.9.109.1.1.1.1.12 |
GANZZAHL: 3783236 |
| Aktuell freier Speicher in Byte |
cpmCPUMemoryFree |
1.3.6.1.4.1.9.9.109.1.1.1.1.13 |
GANZZAHL: 4263578 |
| Geringster freier Speicher seit dem letzten Start in Byte |
cpmCPUMemoryNiedrigste |
1.3.6.1.4.1.9.9.109.1.1.1.1.15 |
GANZZAHL: 4251212 |
| Letzter Grund für Neuladen |
WarumNeu laden |
1.3.6.1.4.1.9.2.1.2 |
STRING: "neu laden" |
| Software-Image aller verbundenen APs |
bsnAPSoftwareVersion |
1.3.6.1.4.1.14179.2.2.1.1.8 |
STRING: "17.5.1.12" |
| Modellnummer aller verbundenen APs |
bsnAPModel |
1.3.6.1.4.1.14179.2.2.1.1.16 |
STRING: "AIR-AP1840I-E-K9" |
| Anzahl der Clients |
cLApActiveClientCount |
.1.3.6.1.4.1.9.9.513.1.1.1.1.72 |
Ganzzahl |
| Anzahl der verbundenen APs |
cLApGlobalAPConnectCount |
1.3.6.1.4.1.9.9.513.1.3.35 |
Anzeige32: 1 |
| Netzteil - Status |
ciscoEnvMonSupplyStatusTable |
.1.3.6.1.4.1.9.9.13.1.5(über CSCwb73163 hinzugefügt |
Tisch |
| Lüfterstatus |
ciscoEnvMonFanStatusTable |
.1.3.6.1.4.1.9.9.13.1.4 (über CSCwb73163 hinzugefügt |
Tisch |
Derzeit sind Erweiterungsanforderungen zur Unterstützung von OIDs verfügbar - Gesamtanzahl der Clients und Anzahl der verbundenen Access Points unter Cisco Bug-ID: CSCvu26309 - SNMP OID für Client Count not Present on 9800 (Anzahl der Clients ist auf 9800 nicht vorhanden).
Der Status der Stromversorgungseinheit (PSU) und des Lüfters werden zum Zeitpunkt dieses Artikels nicht unterstützt. Ein Erweiterungsantrag wurde geöffnet unter
Cisco Bug-ID: CSCwa23598 - 9800 WLC Enhancement/Support für PSU und Fan State SNMP OID (1.3.6.1.4.1.9.9.13).
Sie können einen Standby-WLC im Hochverfügbarkeits-Cluster ab Version 17.5.1 überwachen. Der Standby-WLC kann entweder direkt über RMI oder durch Abfrage des aktiven WLC überwacht werden.
Der Standby-WLC kann nur direkt auf WLCs überwacht werden, die vom Typ RMI + RP HA ausgeführt werden. Dies erfolgt über die Standby Redundancy Management Interface (RMI)-IP-Adresse des Standby-WLC.
In diesem Szenario werden nur OIDs von IF-MIB unterstützt, wodurch der Status aller Schnittstellen auf dem Standby-WLC überwacht werden kann. Beispielausgabe von 9800-CL WLC:
| Beschreibung |
Objektname |
OID |
Erwartete Antwort |
| Schnittstellenname |
ifDescr |
1.3.6.1.2.1.2.2.1.2 |
SNMPv2-SMI::mib-2.2.2.1.2.1 = GigabitEthernet1 |
| Schnittstellenbetriebszustand (1 = aktiv, 2 = inaktiv) |
ifOperStatus |
1.3.6.1.2.1.2.2.1.8 |
SNMPv2-SMI::mib-2.2.2.1.8.1 = 2 |
Der Standby-WLC-Zustand kann auch mit der Abfrage an den aktiven WLC überwacht werden. Nur CISCO-LWAPP-HA-MIB und CISCO-PROCESS-MIB MIBs werden offiziell unterstützt. Wenn ein aktiver WLC in HA abgefragt wird, stellt die erste Antwort den Wert des aktiven WLC dar, während die zweite Antwort den Wert des Standby-WLC darstellt.
| Beschreibung |
Objektname |
OID |
Erwartete Antwort |
| Gesamte CPU-Auslastung in % in den letzten 5 Sekunden |
cpmCPUTotal5sec |
1.3.6.1.4.1.9.9.109.1.1.1.1.3 |
SNMPv2-SMI::Unternehmen.9.9.109.1.1.1.1.3.5 = 3 |
| Gesamte CPU-Auslastung in % in den letzten 1 min |
cpmCPUTotal1min |
1.3.6.1.4.1.9.9.109.1.1.1.1.4 |
SNMPv2-SMI::Unternehmen.9.9.109.1.1.1.1.4.5 = 8 |
| Gesamte CPU-Auslastung in % in den letzten 5 Min. |
cpmCPUTotal5min |
1.3.6.1.4.1.9.9.109.1.1.1.1.5 |
SNMPv2-SMI::enterprise.9.9.109.1.1.1.1.5.5 = 10 |
| Aktuell verwendeter Speicher in Byte |
cpmCPUMemoryVerwendet |
1.3.6.1.4.1.9.9.109.1.1.1.1.12 |
SNMPv2-SMI::enterprise.9.9.109.1.1.1.1.12.5 = 4318980 |
| Aktuell freier Speicher in Byte |
cpmCPUMemoryFree |
1.3.6.1.4.1.9.9.109.1.1.1.1.13 |
SNMPv2-SMI::enterprise.9.9.109.1.1.1.1.12.5 = 4318739 |
| Geringster freier Speicher seit dem letzten Start in Byte |
cpmCPUMemoryNiedrigste |
1.3.6.1.4.1.9.9.109.1.1.1.1.15 |
SNMPv2-SMI::enterprise.9.9.109.1.1.1.1.15.5 = 3763868 |
| Status des Standby-WLC (1 = aktiv, 0 = inaktiv) |
cLHaPeerHotStandbyEreignis |
1.3.6.1.4.1.9.9.843.1.3.4 |
SNMPv2-SMI::Unternehmen.9.9.843.1.3.4.0 = 1 |
| Überarbeitung | Veröffentlichungsdatum | Kommentare |
|---|---|---|
8.0 |
27-Oct-2026
|
Aktualisierte Rechtschreibung, Grammatik, Abstände, eingefügte horizontale Linien in separaten Abschnitten zur besseren Lesbarkeit, korrigierte CCW-Warnungen und alternativer Text. |
7.0 |
01-Jul-2025
|
OIDs für Lüfter, Netzteil und Client hinzugefügt |
6.0 |
31-Mar-2025
|
Feste MIB-URL |
5.0 |
15-Nov-2023
|
Pro CPU-Core-OID hinzugefügt |
4.0 |
01-Apr-2022
|
zusätzliche OIDs erwähnt |
2.0 |
01-Oct-2021
|
Erstveröffentlichung |
1.0 |
12-Oct-2021
|
Erstveröffentlichung |