In dit document wordt beschreven hoe u Simple Network Management Protocol (SNMP) configureert om Cisco 9800 Wireless LAN Controller (WLC) te bewaken.
Alle tests werden uitgevoerd op MacOS 10.14 en een 9800-CL WLC met afbeelding versie 17.5.1. Sommige van de OID's die in dit artikel worden genoemd, bestaan niet op oudere afbeeldingsversies.
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Oudere AireOS WLC's vertrouwen op SNMP als het belangrijkste protocol om te controleren. De meeste relevante informatie, zoals het aantal clients, het aantal gekoppelde toegangspunten, de processor en het geheugengebruik, kan worden verkregen via SNMP-query's van de tool die de WLC bewaakt.
Met de 9800 WLC is de focus gelegd op telemetrie. Telemetrie werkt in een "push" -model waarbij de WLC relevante informatie naar de server stuurt zonder dat er naar gevraagd hoeft te worden. De Catalyst 9800 biedt nog steeds SNMP voor legacy-doeleinden. Sommige informatie kan exclusief zijn voor telemetrie en sommige van de OID's die eerder beschikbaar waren op AireOS zijn nog niet beschikbaar op 9800.
Vanaf Cisco IOS XE® Bengaluru 17.6.1 wordt Ethernet Service Port (Management Interface VRF/Gigabit Ethernet 0) ondersteund in de draadloze controller van de Cisco Catalyst 9800-reeks.
Voorafgaand aan deze release kan de Catalyst 9800 WLC alleen worden bewaakt met SNMP via de draadloze beheerinterface of via de beheerinterface voor redundantie (in het geval van een standby-WLC in HA-cluster op versies 17.5.1 en hoger).
SNMPv2c is een community-gebaseerde versie van SNMP en alle communicatie tussen de apparaten is in duidelijke tekst. SNMPv3 is de meest veilige versie die controle van de berichtintegriteit, verificatie en codering van de pakketten biedt. SNMPv1 is behoorlijk verouderd, maar bestaat nog steeds om compatibiliteit met oudere software te bieden. Het wordt niet genoemd in dit artikel.
1. Log in op de webinterface van de 9800 WLC. Onder Beheer > Beheer > SNMP en zorg ervoor dat SNMP wereldwijd is ingeschakeld. Onder Community Strings worden alle momenteel geconfigureerde communities en hun rechtenniveau weergegeven:

2. Voordat een SNMP V3-gebruiker wordt gemaakt, moet een SNMP V3-groep worden gedefinieerd. Als u een groep gebruikers met lees- en schrijfrechten wilt maken, stelt u de weergave Lezen en schrijven in op v1default. Laat het veld Alleen-lezen groep Schrijfweergave leeg:

3. Op het tabblad SNMP v3 Users ziet u alle geconfigureerde gebruikers en hun rechten en protocollen die worden gebruikt voor verificatie en codering. Met de nieuwe knop kunt u een nieuwe gebruiker maken.
Er zijn 3 beveiligingsmodi beschikbaar:
4. Selecteer SHA als het verificatieprotocol en ten minste AES-128 als het privacyprotocol wordt aanbevolen.

SNMP kan ook worden geconfigureerd via Command Line Interface (CLI). CLI biedt extra configuratieparameters, zoals de mogelijkheid om een toegangslijst toe te wijzen aan een v2-community of v3-gebruiker. Een voorbeeldconfiguratie van een v2 lees- en schrijfcommunity, v3 lees- en schrijfgroep en v3-gebruiker die tot deze groep behoort:
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>
Dit is een voorbeeld van een toegangslijst die het apparaat alleen toestaat op een IP-adres van: 192.168.10.10. U kunt als volgt een query uitvoeren in de WLC v2-community met de naam "ReadWriteCommunity":
ip access-list standard 50
10 permit 192.168.10.10
20 deny any
snmp-server manager
snmp-server community ReadWriteCommunity RW 50
Object-ID's, of kortweg OID's, zijn unieke identificatoren die een bepaalde variabele of object vertegenwoordigen. Het huidige processorgebruik wordt bijvoorbeeld als variabel beschouwd, welke waarden kunnen worden opgehaald met de oproep op hun object-ID. Elke OID is uniek en geen twee kunnen hetzelfde zijn, dit is vergelijkbaar met een MAC-adres.
Deze identificatoren komen overeen met een boomhiërarchie en elke OID kan worden opgespoord tot aan de wortel. Elke leverancier heeft zijn eigen tak met een gemeenschappelijke wortel. Een analogie kan een thuisadres zijn, waarbij de wortel het land of de staat is, met hun stad, postcode, straat en ten slotte het huisnummer.
De getallen gevolgd door een punt vertegenwoordigen elke stap die nodig is om een bepaald punt in die boom of tak te bereiken.

Al deze waarden worden opgeslagen in een Management Information Base, of kortweg MIB in elk netwerkapparaat. Elke identificator heeft een naam en een definitie (bereik van mogelijke waarden, type, enzovoort).
Het is niet nodig om een MIB te laden op uw SNMP-bewakingstool om SNMP te gebruiken om een apparaat te bevragen. Zolang een geldige OID bekend is, reageert het apparaat met de waarde die is opgeslagen in de variabele die de OID vertegenwoordigt. Als u echter de MIB op uw querytool laadt, biedt deze het voordeel dat de objectnamen naar hun ID's worden vertaald en hun beschrijving wordt uitgelegd.
In dit voorbeeld vraagt de SNMP-tool de SNMP-agent van een apparaat naar de systeembeschrijving met behulp van OID 1.3.6.1.2.1.1.1.0.

Cisco biedt MIB's voor 9800 WLC's. Het is echter niet gemakkelijk leesbaar, MIB bevat alle beschikbare objectnamen en hun beschrijvingen.
Alle 9800-modellen (9800-80, 9800-40, 9800-L, 9800-CL, EWC) gebruiken dezelfde MIB die kan worden gedownload bij de Cisco Feature Navigator. De meest actuele is de meest recente datum, niet de datum met de hogere codeversienaam.
Gedownloade archiefbestanden bevatten meerdere .my-tekstbestanden die kunnen worden geïmporteerd in een SNMP-server van derden of eenvoudig kunnen worden geopend met een teksteditor. Om de OID van een specifieke objectnaam te vinden, moet u het exacte bestand vinden dat het eerst bevat.
Bijvoorbeeld, alle objecten met betrekking tot het bewaken van de fysieke toestand van de apparaten (zoals CPU en geheugen) bevinden zich in een MIB genaamd CISCO-PROCESS-MIB.my.
De "cpmCPUMemoryUsed" is de objectnaam die wordt gebruikt om de hoeveelheid geheugen te leveren die door de WLC in bytes wordt gebruikt. MIB-bestanden komen allemaal overeen met een vergelijkbare syntaxis. Informatie over het gebruikte geheugenobject ziet er als volgt uit:
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 }
De meeste software van derden om te controleren is afhankelijk van OID's en niet van objectnamen. Vertalen tussen objectnaam en object-ID kan worden gedaan met behulp van de Cisco SNMP Object Navigator Tool.
Als u dit gereedschap wilt gebruiken, voert u de objectnaam in de zoekbalk in en de uitvoer biedt de OID en een korte beschrijving. Bovendien kan hetzelfde gereedschap worden gebruikt om de objectnaam van de opgegeven OID te vinden.

Na de aankoop, de OID van het object dat moet worden gecontroleerd, kan de eerste SNMP-query worden uitgevoerd. Voorbeelden in dit hoofdstuk laten zien hoe u een WLC-vrij geheugen (OID = 1.3.6.1.4.1.9.9.48.1.1.1.5) kunt verkrijgen voor SNMPv2-community private en SNMPv3-gebruiker snmpadmin met SHA Auth-wachtwoord: Cisco123# en AES-privacywachtwoord: Cisco123#. De beheerinterface van de controller bevindt zich op: 10.48.39.133.
Snmpwalk is een SNMP-toepassing die SNMP GETNEXT-verzoeken gebruikt om een netwerkentiteit te bevragen naar een structuur met informatie. Het is standaard aanwezig op MacOS en de meeste Linux-distributies. Voor SNMPv2c voldoet de opdracht aan deze syntaxis:
snmpwalk -v2c -c <community_name> <WLC_management_interface_ip> <OID>
Dit is een ander voorbeeld:
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
Als SNMPv3 wordt gebruikt, houdt de opdracht zich aan de syntaxis:
snmpwalk -v3 -l authPriv -u <username> -a [MD5|SHA] -A <auth_password> -x [AES|DES] -X <priv_password> <WLC_management_interface_ip> <OID>
Selecteer MD5/SHA en AES/DES op basis van hoe u de SNMPv3-gebruiker op de controller hebt gemaakt. Dit is een ander voorbeeld:
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
Codefragmenten zijn geschreven voor Python 3.9 en gebruiken de pysnmp-module (pip install pysnmp) om SNMP-query's uit te voeren voor geheugengebruik van Catalyst 9800-CL WLC. Deze voorbeelden maken gebruik van dezelfde SNMPv2-community en SNMPv3-gebruiker die in de vorige hoofdstukken zijn gemaakt. Vervang eenvoudig de variabele waarden en integreer de code in uw eigen aangepaste scripts.
Voorbeeld SNMPv2:
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]))
Uitvoer print uit:
SNMPv2-SMI::enterprises.9.9.109.1.1.1.1.12.2 = 3783236
Voorbeeld SNMPv3:
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]))
Cisco Prime Infrastructure biedt de mogelijkheid om meerdere netwerkapparaten, waaronder draadloze controllers, eenvoudig te bewaken en te configureren. Prime Infrastructure wordt geleverd met alle OID's en integraties met WLC en bestaat uit de toevoeging van de WLC-referenties aan Prime. Met 9800 WLC's vertrouwt Prime meestal op telemetrie om de meeste gegevens van de WLC te verzamelen, terwijl het kleine deel van de informatie wordt verkregen via SNMP.
Aan de andere kant kan Cisco WLC ook worden geïntegreerd met meerdere oplossingen van derden voor monitoring, zolang de OID's bekend zijn. Programma's zoals Grafana + Prometheus, PRTG Network Monitor en SolarWinds-servers maken het mogelijk om de MIB's of OID's te importeren en waarden weer te geven in een gebruiksvriendelijke grafiek.
Deze integratie kan enkele aanpassingen aan de SNMP-serverzijde vereisen. In dit voorbeeld is de PRTG-monitorserver voorzien van de OID per core CPU-gebruik, die de string "0%/1%, 1%/1%, 0%/1%, 0%/1%, 0%/1%" retourneert. PRTG verwacht een integer waarde en geeft een foutmelding.

Cisco Unified Communications Manager (CUCM) heeft een functie voor het bijhouden van draadloze eindpunten waarmee de clientlocatie ongeveer kan worden gevolgd op basis van het toegangspunt waarmee de client is verbonden. Om deze functie te laten functioneren, moet de CUCM via SNMP-query's informatie uit de WLC halen.
De tabel bevat enkele van de meest voorkomende objectnamen en hun OID's, met dien verstande dat MIB's de gegevens presenteren in niet-gebruiksvriendelijke syntaxis:
| Beschrijving |
Objectnaam |
OID |
verwachte reactie |
| Totaal CPU-gebruik in % laatste 5 sec (equivalent aan "show process cpu platform") |
cpmCPUTotal5sec |
1.3.6.1.4.1.9.9.109.1.1.1.1.3 |
GEHEEL GETAL: 5 |
| Totaal CPU-gebruik in % laatste 1 min |
cpmCPUTotal1min |
1.3.6.1.4.1.9.9.109.1.1.1.1.4 |
GEHEEL GETAL: 5 |
| Totaal CPU-gebruik in % laatste 5 min |
cpmCPUTotal5min |
1.3.6.1.4.1.9.9.109.1.1.1.1.5 |
GEHEEL GETAL: 5 |
| CPU-gebruik in % laatste 5 min, per kern |
cpmCore5min |
.1.3.6.1.4.1.9.9.109.1.1.2.1.5.5 (.0 tot .X afhankelijk van het aantal kernen) |
GEHEEL GETAL: 5 |
| Huidig gebruikt geheugen in bytes |
cpmCPU-geheugenGebruikt |
1.3.6.1.4.1.9.9.109.1.1.1.1.12 |
GEHEEL GETAL: 3783236 |
| Huidig vrij geheugen in bytes |
cpmCPUMemoryFree |
1.3.6.1.4.1.9.9.109.1.1.1.1.13 |
GEHEEL GETAL: 4263578 |
| Laagste hoeveelheid vrij geheugen sinds laatste opstarten in bytes |
cpmCPUMemoryLaagste |
1.3.6.1.4.1.9.9.109.1.1.1.1.15 |
GEHEEL GETAL: 4251212 |
| Laatste reden voor opnieuw laden |
waarom herladen |
1.3.6.1.4.1.9.2.1.2 |
TEKENREEKS: "opnieuw laden" |
| Softwareafbeelding van alle aangesloten toegangspunten |
bsnAPSoftwareversie |
1.3.6.1.4.1.14179.2.2.1.1.8 |
TEKENREEKS: "17.5.1.12" |
| Modelnummer van alle aangesloten toegangspunten |
bsnAPModel |
1.3.6.1.4.1.14179.2.2.1.1.16 |
TEKENREEKS: "AIR-AP1840I-E-K9" |
| Aantal klanten |
cLApActiveClientCount |
.1.3.6.1.4.1.9.9.513.1.1.1.1.72 |
geheel getal |
| Aantal aangesloten toegangspunten |
cLApGlobalAPConnectCount |
1.3.6.1.4.1.9.9.513.1.3.35 |
Meter32: 1 |
| toestand van de voedingseenheid |
ciscoEnvMonSupplyStatusTable |
.1.3.6.1.4.1.9.9.13.1.5 (toegevoegd via CSCwb73163) |
tafel |
| ventilatorstatus |
ciscoEnvMonFanStatusTable |
.1.3.6.1.4.1.9.9.13.1.4 (toegevoegd via CSCwb73163) |
tafel |
Momenteel zijn er uitbreidingsaanvragen geopend om het totale aantal clients en het aantal gekoppelde toegangspunten van OID's te ondersteunen onder Cisco-bug-ID: CSCvu26309 - SNMP OID for Client Count not Present on 9800.
De status van de voedingseenheid (PSU) en de status van de ventilator worden niet ondersteund op het moment van dit artikel. Er is een verzoek tot verbetering geopend op grond van
Cisco bug ID: CSCwa23598 - 9800 WLC Enhancement / Ondersteuning voor PSU en Fan State SNMP OID (1.3.6.1.4.1.9.9.13).
U kunt een standby-WLC in High Availability-cluster bewaken vanaf versie 17.5.1. De stand-by WLC kan direct worden bewaakt via RMI of via het opvragen van de actieve WLC.
Stand-by WLC kan alleen direct worden gecontroleerd op WLC's die worden uitgevoerd in RMI + RPHA-type. Dit gebeurt via het standby Redundancy Management Interface (RMI) IP-adres van de standby WLC.
In dit scenario worden alleen OID's van IF-MIB ondersteund, waardoor het mogelijk is om de status van alle interfaces op de standby-WLC te bewaken. Een voorbeeld van een 9800-CL WLC:
| Beschrijving |
Objectnaam |
OID |
verwachte reactie |
| Interfacenaam |
ifDescr |
1.3.6.1.2.1.2.2.1.2 |
SNMPv2-SMI::mib-2.2.2.1.2.1 = Gigabit Ethernet1 |
| Interface operationele toestand (1=omhoog, 2=omlaag) |
ifOperStatus |
1.3.6.1.2.1.2.2.1.8 |
SNMPv2-SMI::mib-2.2.2.1.8.1 = 2 |
De stand-by WLC-status kan ook worden gecontroleerd met de query naar de actieve WLC. Alleen CISCO-LWAPP-HA-MIB en CISCO-PROCESS-MIB worden officieel ondersteund. Wanneer een actieve WLC in HA wordt bevraagd, vertegenwoordigt de eerste respons de waarde van de actieve WLC, terwijl de tweede respons de waarde van de standby WLC vertegenwoordigt.
| Beschrijving |
Objectnaam |
OID |
verwachte reactie |
| Totaal CPU-gebruik in % laatste 5 sec |
cpmCPUTotal5sec |
1.3.6.1.4.1.9.9.109.1.1.1.1.3 |
SNMPv2-SMI::enterprises.9.9.109.1.1.1.1.3.5 = 3 |
| Totaal CPU-gebruik in % laatste 1 min |
cpmCPUTotal1min |
1.3.6.1.4.1.9.9.109.1.1.1.1.4 |
SNMPv2-SMI::enterprises.9.9.109.1.1.1.1.4.5 = 8 |
| Totaal CPU-gebruik in % laatste 5 min |
cpmCPUTotal5min |
1.3.6.1.4.1.9.9.109.1.1.1.1.5 |
SNMPv2-SMI::enterprises.9.9.109.1.1.1.1.5.5 = 10 |
| Huidig gebruikt geheugen in bytes |
cpmCPU-geheugenGebruikt |
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.5 = 4318980 |
| Huidig vrij geheugen in bytes |
cpmCPUMemoryFree |
1.3.6.1.4.1.9.9.109.1.1.1.1.13 |
SNMPv2-SMI::enterprises.9.9.109.1.1.1.1.12.5 = 4318739 |
| Laagste hoeveelheid vrij geheugen sinds laatste opstarten in bytes |
cpmCPUMemoryLaagste |
1.3.6.1.4.1.9.9.109.1.1.1.1.15 |
SNMPv2-SMI::enterprises.9.9.109.1.1.1.1.15.5 = 3763868 |
| Stand-by WLC (1=omhoog, 0=omlaag) |
cLHaPeerHotStandbyEvent |
1.3.6.1.4.1.9.9.843.1.3.4 |
SNMPv2-SMI::enterprises.9.9.843.1.3.4.0 = 1 |
| Revisie | Publicatiedatum | Opmerkingen |
|---|---|---|
8.0 |
27-Oct-2026
|
Bijgewerkte spelling, grammatica, spatiëring, ingevoegde horizontale lijnen naar afzonderlijke secties voor leesbaarheid, vaste CCW-waarschuwingen en alt-tekst. |
7.0 |
01-Jul-2025
|
Toegevoegde ventilatoren, voeding en aantal OID's voor clients |
6.0 |
31-Mar-2025
|
vaste MIB-URL |
5.0 |
15-Nov-2023
|
Toegevoegd per CPU core OID |
4.0 |
01-Apr-2022
|
genoemde aanvullende OID's |
2.0 |
01-Oct-2021
|
Eerste vrijgave |
1.0 |
12-Oct-2021
|
Eerste vrijgave |