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 Artikel wird erläutert, wie die SNMP-Überwachung auf dem Cisco Wireless LAN Controller 3504 (WLC) konfiguriert, Objektnamen in Objekt-IDs übersetzt und umgekehrt. Darüber hinaus wird eine Liste der OIDs bereitgestellt, die von Cisco Kunden am häufigsten verwendet werden.
Ein Standard-SNMP-Tool auf Ihrem Betriebssystem oder die Installation eines solchen Tools.
Alle Tests wurden mit einem 3504 WLC mit Image-Version 8.9 und MacOS 10.14 durchgeführt. Die in diesem Artikel enthaltenen OIDs gelten auch für ältere AireOS-Versionen und andere Wireless Controller auf der Basis von AireOS (8540/5508/5520/2504).
SNMPv2c ist eine Community-basierte Version von SNMP, und die gesamte Kommunikation zwischen den Geräten erfolgt in einem Klartext. SNMPv3 ist die sicherste Version, die Funktionen zur Überprüfung der Nachrichtenintegrität, Authentifizierung und Verschlüsselung der Pakete bietet. SNMPv1 ist extrem überholt, bietet jedoch weiterhin Kompatibilität mit älteren Software-Versionen.
Wichtig: SNMPv2c ist standardmäßig aktiviert, wobei die Community "private" mit Lese- und Schreibberechtigungen und Community "public" mit Schreibrechten ausgestattet ist. Es empfiehlt sich, diese zu entfernen und eine neue Community mit einem anderen Namen zu erstellen.
In diesem Artikel werden nur SNMPv2c und SNMPv3 verwendet. Melden Sie sich bei der Webschnittstelle des Controllers an. Aktivieren Sie unter Management->SNMP->Allgemein die gewünschte Protokollversion.
Im Menü Communitys werden alle aktuell erstellten Communitys angezeigt.
Es empfiehlt sich, vorkonfigurierte Standard-Communitys zu entfernen und eine neue zu erstellen. IP-Adresse und Netzmaske verhalten sich wie eine Zugriffsliste. Standardmäßig werden beide auf 0.0.0.0 festgelegt, d. h. alle IP-Adressen können SNMP-Abfragen für diese Community ausführen. Das Feld für den Zugriffsmodus wird als "Schreibgeschützt" belassen, da diese Community nur zur Überwachung und nicht zur Konfiguration des WLC verwendet werden soll.
Wichtig: Alle Versionen unter 8.7.1.135 werden mit einem Fehler CSCvg61933 betroffen, bei dem die Netzmaske nicht auf 255.255.255.255 festgelegt werden darf. Führen Sie entweder ein Upgrade des Controllers auf die aktuelle empfohlene Version über 8.7.1.135 durch, oder erstellen Sie mithilfe des folgenden Befehls in der CLI eine neue Community: config snmp community ipaddr <ip_address> <netmask> <community_name>
Im Menü SNMP V3-Benutzer können Sie alle konfigurierten Benutzer, deren Berechtigungen und Protokolle sehen, die für die Authentifizierung und Verschlüsselung verwendet werden. Button New ermöglicht die Erstellung eines neuen Benutzers. Es wird empfohlen, HMAC-SHA als Authentifizierungsprotokoll und CFB-AES-128 als Datenschutzprotokoll zu wählen. Wir erstellen einen Benutzer mit dem Namen "admin" und einem auf "Cisco123Cisco123" festgelegten Authentifizierungs- und Datenschutzkennwort:
Objekt-IDs oder kurz OIDs sind eindeutige Bezeichner, die eine bestimmte Variable oder ein bestimmtes Objekt darstellen. Beispielsweise wird die aktuelle CPU-Auslastung als variabel betrachtet, welche Werte durch Aufrufen ihrer Objekt-ID abgerufen werden können. Jede OID ist eindeutig, und keine der beiden darf weltweit gleich sein und einer MAC-Adresse ziemlich ähnlich sein. Diese Bezeichner folgen einer Baumhierarchie, und jede OID kann bis zum Stamm zurückverfolgt werden. Jeder Anbieter verfügt über eine eigene Zweigstelle nach einem gemeinsamen Stammverzeichnis.
Eine Analogie könnte eine Heimadresse sein, bei der die Wurzel das Land oder der Staat ist, gefolgt von einer Zip-Code der Stadt, der Straße und schließlich der Hausnummer.
Die Zahlen gefolgt von einem Punkt stehen für jeden Schritt, der erforderlich ist, um zu einem bestimmten Punkt in dieser Struktur oder Verzweigung zu gelangen.
Alle diese Werte werden in einer Management Information Base (kurz MIB) in jedem Netzwerkgerät gespeichert. Jeder Bezeichner hat einen Namen und eine Definition (Bereich möglicher Werte, Typ usw.).
Das Laden von MIBs auf das snmp-Tool ist nicht erforderlich, um SNMP zu verwenden und ein Gerät abzufragen. Solange eine gültige OID bekannt ist, antwortet das Gerät mit dem Wert, der in der Variablen gespeichert ist, die die OID darstellt. In der Abbildung unten fragt der SNMP-Manager den SNMP-Agent eines Geräts anhand der OID 1.3.6.1.2.1.1.0 nach seiner Systembeschreibung ab.
Das Laden der MIB in das Abfrage-Tool bietet jedoch Vorteile durch die Übersetzung der OID-Nummern in Namen und die Kenntnis ihrer Definition.
Seit Mai 2019 existiert keine einfache, benutzerfreundliche Tabelle, die alle verfügbaren Objektnamen und die entsprechenden OIDs für Wireless LAN Controller enthält. Alternativ bietet Cisco Management Information Base (MIBs) an, die möglicherweise nicht leicht lesbar ist, aber alle verfügbaren Objektnamen und deren Beschreibung enthält. Cisco 3504 WLC MIB kann HIER heruntergeladen werden.
Die heruntergeladene Archivdatei enthält mehrere MIN-Textdateien, die entweder in einen SNMP-Überwachungsserver eines Drittanbieters importiert oder einfach mit einem normalen Text-Editor geöffnet werden können. Um die OID eines bestimmten Objektnamen zu finden, müssen Sie zuerst die exakte Datei suchen, die diese enthält.
So befinden sich beispielsweise alle Objekte zur Überwachung des physischen Zustands des Geräts (z. B. Temperatur und Lüftergeschwindigkeit) in einer MIB, die CISCO-ENVMON-MIB.my genannt wird. Hier ist "ciscoEnvMonFanState" der Objektname, der verwendet wird, um den Zustand des WLC-Lüfters bereitzustellen. MIB-Dateien folgen der Syntax, die unten gezeigt wird. Informationen zum Zustandsobjekt des Lüfters sehen wie folgt aus:
ciscoEnvMonFanState OBJECT-TYPE SYNTAX CiscoEnvMonState MAX-ACCESS read-only STATUS current DESCRIPTION "The current state of the fan being instrumented." ::= { ciscoEnvMonFanStatusEntry 3 }
Die meisten Überwachungssoftware eines Drittanbieters basiert auf OIDs und nicht auf Objektnamen. Die Übersetzung zwischen Objektname und Objekt-ID kann mit dem SNMP-Objektnavigator-Tool von Cisco erfolgen. Geben Sie den Objektnamen in die Suchleiste ein. Die Ausgabe enthält die OID und eine kurze Beschreibung. Außerdem kann mit demselben Tool der entsprechende Objektname der OID ermittelt werden.
Nach dem Erfassen der OID des zu überwachenden Objekts kann die erste SNMP-Abfrage ausgeführt werden. In den folgenden Beispielen wird gezeigt, wie eine WLC-CPU-Auslastung pro Kern (OID = 1.3.6.1.4.1.9.9.618.1.4.1) für SNMPv2-Community-snmp_test und SNMPv3-Benutzer-Admin mit dem SHA-Auth-Kennwort Cisco123Cisco122333 abgerufen werden kann. und das AES-Datenschutzkennwort auf "Cisco123Cisco123" eingestellt. Die Controller-Verwaltungsschnittstelle befindet sich am 10.48.39.164.
SNMPwalk ist eine SNMP-Anwendung, die SNMP GETNEXT-Anforderungen verwendet, um eine Netzwerkeinheit nach einer Struktur von Informationen abzurufen. Es ist standardmäßig auf MacOS und den meisten Linux-Distributionen vorhanden. Für SNMPv2c, tDer Befehl folgt der Syntax:
snmpwalk -v2c -c <community_name> <WLC_management_interface_ip> <OID>
Beispiel:
VAPEROVI-M-H1YM:~ vaperovi$ snmpwalk -v2c -c snmp_test 10.48.39.164 1.3.6.1.4.1.9.9.618.1.4.1
SNMPv2-SMI::enterprises.9.9.618.1.4.1.0 = STRING: "0%/1%, 0%/1%, 0%/1%, 0%/1%"
Wenn SNMPv3 verwendet wird, folgt der Befehl der 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 MD5/SHA und AES/DES basierend auf der Erstellung des SNMPv3-Benutzers auf dem Controller aus.
Beispiel:
VAPEROVI-M-H1YM:~ vaperovi$ snmpwalk -v3 -l authPriv -u admin -a SHA -A Cisco123Cisco123 -x AES -X Cisco123Cisco123 10.48.39.164 1.3.6.1.4.1.9.9.618.1.4.1 SNMPv2-SMI::enterprises.9.9.618.1.4.1.0 = STRING: "0%/1%, 0%/1%, 0%/0%, 0%/1%"
Die folgenden Codeausschnitte wurden in Python 3.7 geschrieben und verwenden das pysnmp-Modul (pip install pysnmp), um SNMP-Abfragen für die CPU-Nutzung von Cisco 3504 WLC durchzuführen. In diesen Beispielen wird dieselbe SNMPv2-Community und derselbe SNMPv3-Benutzer verwendet, die in einem der vorherigen Kapitel erstellt wurden. Ersetzen Sie einfach die Variablenwerte, und integrieren Sie den Code in eigene benutzerdefinierte Skripte.
SNMPv2c-Beispiel:
from pysnmp.hlapi import *
communityName = 'snmp_test'
ipAddress = '10.48.39.164'
OID = '1.3.6.1.4.1.14179.2.3.1.13.0'
errorIndication, errorStatus, errorIndex, varBinds = next( getCmd(SnmpEngine(), CommunityData(communityName), UdpTransportTarget((ipAddress, 161)), ContextData(), ObjectType(ObjectIdentity(OID))) ) 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 Ausgabe wird gedruckt:
SNMPv2-SMI::enterprises.14179.2.3.1.13.0 = 73
SNMPv3-Beispiel:
from pysnmp.hlapi import * username = 'admin' ipAddress = '10.48.39.164' OID = '1.3.6.1.4.1.14179.2.3.1.13.0' authKey = 'Cisco123Cisco123' privKey = 'Cisco123Cisco123' errorIndication, errorStatus, errorIndex, varBinds = next( getCmd(SnmpEngine(), UsmUserData(username, authKey, privKey, authProtocol=usmHMACSHAAuthProtocol, privProtocol=usmAesCfb128Protocol), UdpTransportTarget((ipAddress, 161)), ContextData(), ObjectType(ObjectIdentity(OID))) ) 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, einschließlich Wireless-Controller. Die Prime-Infrastruktur wird mit allen OIDs vorgeladen, und die Integration mit WLC besteht lediglich darin, die WLC-Anmeldeinformationen zu Prime hinzuzufügen. Nach der Synchronisierung ist es möglich, Alarme einzustellen und gleichzeitig Konfigurationsvorlagen für mehrere Wireless Controller zu senden.
Der Cisco WLC kann jedoch auch in Überwachungslösungen von Drittanbietern integriert werden, sofern die OIDs bekannt sind. Programme wie Grafana, PRTG Network Monitor und SolarWinds Server ermöglichen das Importieren von MIBs oder OIDs und die Darstellung von Werten in einem benutzerfreundlichen Diagramm.
Diese Integration kann einige Anpassungen auf der Seite des Überwachungsservers erfordern. Im folgenden Beispiel wird der PRTG-Überwachungsserver mit der CPU-Auslastungs-OID pro Kern versehen, die den Stich "0%/1%, 1%/1%, 0%/1%, 0%/1%" zurückgibt. PRTG erwartet eine ganze Zahl und löst einen Fehler aus.
Da MIBs die Daten in einer nicht benutzerfreundlichen Syntax darstellen, enthält die folgende Tabelle einige der gebräuchlichsten Objektnamen und die von Cisco Kunden verwendeten OIDs.
Beschreibung |
Objektname |
OID |
Erwartete Antwort |
CPU-Auslastung gesamt in % |
agentCurrentCPUNutzung |
1.3.6.1.4.1.14179.1.1.5.1.0 |
INTEGER: 0 |
CPU-Auslastung pro Kern |
clsAllCpuUsage |
1.3.6.1.4.1.9.9.618.1.4.1.0 |
ZEICHEN: "0 %/1 %, 0 %/1 %, 0 %/1 %, 0 %/1 %, 0 %/1 %" |
RAM-Auslastung in % |
clsSysCurrentMemoryUsage |
1.3.6.1.4.1.9.9.618.1.8.6.0 |
Abbildung 32: 33 |
CPU-Temperatur in °C |
bsnSensorTemperature |
1.3.6.1.4.1.14179.2.3.1.13.0 |
INTEGER: 76 |
Anzahl verbundener AP |
clsSysApConnectCount |
1.3.6.1.4.1.9.9.618.1.8.4.0 |
Abbildung 32: 2 |
Anzahl der Clients |
clsMaxClientsCount |
1.3.6.1.4.1.9.9.618.1.8.12.0 |
Abbildung 32: 0 |
Anzahl der Clients pro WLAN |
bsnDot11ssNumberOfMobileStations |
1.3.6.1.4.1.14179.2.1.1.1.38.0 |
Counter32: 1 Counter32: 2 |