Inleiding
In dit document wordt beschreven hoe u SNMP configureert en bewaakt op de Cisco Wireless LAN Controller (WLC).
Voorwaarden
Vereisten
Cisco raadt u aan een standaard Simple Network Management Protocol (SNMP)-tool op uw besturingssysteem te installeren of kennis te hebben om er een te installeren.
Gebruikte componenten
Dit document is niet beperkt tot specifieke software- en hardware-versies. Alle tests werden uitgevoerd op een 3504 WLC met image versie 8.9 en MacOS 10.14. OID's in dit artikel zijn ook geldig op eerdere AireOS-releases en andere op AireOS gebaseerde draadloze controllers (8540/5508/5520/2504).
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.
SNMP-instellingen configureren op WLC
SNMPv2c is een community-gebaseerde versie van SNMP en alle communicatie tussen de apparaten is in duidelijke tekst. SNMPv3 is de veiligste versie die berichtintegriteitscontroles, authenticatie en codering van de pakketten biedt. SNMPv1 is zeer verouderd, maar bestaat nog steeds om compatibiliteit met oudere software te bieden.
Opmerking: SNMPv2c is standaard ingeschakeld met community private met lees- en schrijfbevoegdheden en community public met alleen-lezen bevoegdheden. Het wordt aanbevolen om ze te verwijderen en een nieuwe community met een andere naam te maken.
In dit artikel worden alleen SNMPv2c en SNMPv3 gebruikt. Log in op de web interface van de controller. OnderManagement > SNMP > General
Zorg ervoor dat de gewenste versie van het protocol is ingeschakeld.

Onder het menu Gemeenschappen worden alle momenteel gemaakte communities weergegeven.

Het is best practice om standaard vooraf geconfigureerde communities te verwijderen en een nieuwe te maken. IP-adres en netmasker gedragen zich als een toegangslijst. Standaard zijn beide ingesteld op 0.0.0.0, wat betekent dat alle IP-adressen SNMP-query's voor deze community mogen maken. Het veld Toegangsmodus blijft behouden als Alleen-lezen, omdat deze community alleen moet worden gebruikt voor bewaking en niet voor de configuratie van de WLC.
Opmerking: Alle versies die ouder zijn dan 8.7.1.135 worden beïnvloed door een Cisco-bug-ID CSCvg61933 waarbij het netmasker niet kan worden ingesteld op 255.255.255.255. Upgrade de controller naar de laatst aanbevolen versie later dan 8.7.1.135 of gebruik deze opdracht in de CLI om een nieuwe community te makenconfig snmp community ipaddr
.

In het menu SNMP V3-gebruikers ziet u alle geconfigureerde gebruikers, hun bevoegdheden en protocollen die worden gebruikt voor verificatie en codering. Met de knop Nieuw kunt u een nieuwe gebruiker maken. Het wordt aanbevolen om HMAC-SHA te kiezen als een verificatieprotocol en CFB-AES-128 als een privacyprotocol. Maak een gebruiker met de naam admin en het wachtwoord voor verificatie en privacy is ingesteld opCisco123Cisco123
.

Objectnamen en object-ID's (OID's)
Wat zijn objectnamen en OID's
OID's zijn unieke identifiers die een bepaalde variabele of object vertegenwoordigen. Het huidige CPU-gebruik wordt bijvoorbeeld beschouwd als een variabele waarvan de waarden kunnen worden opgehaald wanneer u een beroep doet op hun object-ID. Elke OID is uniek en geen twee moet hetzelfde zijn over de hele wereld, vergelijkbaar met een MAC-adres. Deze identifiers bevinden zich in een boomhiërarchie en elke OID kan worden opgespoord naar de root. Elke leverancier heeft zijn eigen tak na een gemeenschappelijke wortel.
Een analogie kan een huisadres zijn, waarbij de wortel het land of de staat is, vervolgens een postcode van de stad, de straat en ten slotte het huisnummer.
De nummers 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 (MIB) in elk netwerkapparaat. Elke identifier heeft een naam en definitie (bereik van mogelijke waarden, typen, enzovoort).
U hoeft geen MIB's op uw SNMP-tool te laden om SNMP te gebruiken en een apparaat te bevragen, zolang een geldige OID bekend is. Het apparaat reageert met de waarde die is opgeslagen in de variabele die de OID vertegenwoordigt. In de getoonde afbeelding vraagt de SNMP-beheerder bijvoorbeeld de SNMP-agent van een apparaat naar de systeembeschrijving met behulp van de OID 1.3.6.1.2.1.1.1.0.

Als u de MIB in uw querytool laadt, kunt u deze gebruiken om OID-nummers in namen te vertalen en hun definities te ontdekken.
MIB's en lijst met alle objectnamen en -id's op Cisco WLC's
Vanaf mei 2019 bestaat er geen eenvoudige, gebruiksvriendelijke tabel met elke beschikbare objectnaam en hun respectieve OID's voor draadloze LAN-controllers. Als alternatief biedt Cisco Management Information Base (MIB), die niet gemakkelijk leesbaar is, maar alle beschikbare objectnamen en hun beschrijving bevat. Cisco 3504 WLC MIB kan hier worden gedownload.
Het gedownloade archiefbestand bevat meerdere .my-tekstbestanden die kunnen worden geïmporteerd in een SNMP-bewakingsserver van derden of die eenvoudig kunnen worden geopend met een gewone teksteditor. Om de OID van een specifieke objectnaam te vinden, moet u eerst het exacte bestand vinden dat het bevat.
Alle objecten die verband houden met het bewaken van de fysieke toestand van het apparaat (zoals temperatuur en ventilatorsnelheid) bevinden zich bijvoorbeeld in een MIB met de naam CISCO-ENVMON-MIB.my
MIB. Hier ciscoEnvMonFanState
is de objectnaam die wordt gebruikt om de status van de WLC-fan te geven. In MIB-bestanden wordt de syntaxis weergegeven. Informatie over het object Fan State ziet er als volgt uit:
ciscoEnvMonFanState OBJECT-TYPE
SYNTAX CiscoEnvMonState
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current state of the fan being instrumented."
::= { ciscoEnvMonFanStatusEntry 3 }
De meeste bewakingssoftware van derden vertrouwt op OID's en niet op objectnamen. Vertaling tussen de objectnaam en object-ID kan worden uitgevoerd met behulp van de Cisco SNMP Object Navigator Tool. Voer de objectnaam in de zoekbalk in. De output geeft de OID en een korte beschrijving. Bovendien kan dezelfde tool worden gebruikt om de bijbehorende objectnaam van de OID te vinden.

Gebruik van OID's om de toestand van WLC te bewaken
Nadat u de OID van het object hebt verkregen dat moet worden bewaakt, kan de eerste SNMP-query worden uitgevoerd. Deze voorbeelden laten zien hoe u een WLC CPU-gebruik per core (OID = 1.3.6.1.4.1.9.9.618.1.4.1) kunt verkrijgen voor de SNMPv2-community snmp_test
en SNMPv3-gebruiker admin
met SHA Auth-wachtwoord Cisco123Cisco123
en AES Privacy-wachtwoord ingesteld op Cisco123Cisco123
. De beheerinterface van de controller bevindt zich op 10.48.39.164.
Monitor via SNMPwalk
SNMPwalk is een SNMP-toepassing die SNMP GETNEXT-verzoeken gebruikt om een netwerkentiteit te bevragen voor een informatieboom. Het is standaard aanwezig op MacOS en de meeste Linux-distributies. Voor SNMPv2c heeft de opdracht de syntaxis:
snmpwalk -v2c -c <community_name> <WLC_management_interface_ip> <OID>
Voorbeeld:
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%"
Als SNMPv3 wordt gebruikt, heeft de opdracht de volgende syntaxis:
snmpwalk -v3 -l authPriv -u <username> -a [MD5|SHA] -A <auth_password> -x [AES|DES] -X <priv_password> <WLC_management_interface_ip> <OID>
Kies MD5/SHA en AES/DES op basis van hoe u de SNMPv3-gebruiker op de controller hebt gemaakt.
Voorbeeld:
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%"
Bewaking via Python 3 en Pysmon Library
Deze codefragmenten zijn geschreven in Python 3.7 en gebruiken de pysnmp
module (pip install pysnmp
) om SNMP-query's te maken voor CPU-gebruik van Cisco 3504 WLC. Deze voorbeelden gebruiken dezelfde SNMPv2-community en SNMPv3-gebruiker die in een van de vorige hoofdstukken zijn gemaakt. Vervang eenvoudig de variabele waarden en integreer de code met uw eigen aangepaste scripts.
Voorbeeld SNMPv2c:
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]))
Uitgang:
SNMPv2-SMI::enterprises.14179.2.3.1.13.0 = 73
Voorbeeld SNMPv3:
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]))
Integratie met software van derden (Grafana/PRTG Network Monitor/SolarWinds)
Cisco Prime Infrastructure biedt de mogelijkheid om eenvoudig meerdere netwerkapparaten te bewaken en configureren, waaronder draadloze controllers. Prime Infrastructure wordt geleverd met alle OID's en de integratie met WLC bestaat simpelweg uit de toevoeging van de WLC-referenties aan Prime. Na de synchronisatie is het mogelijk om alarmen in te stellen en configuratiesjablonen voor meerdere draadloze controllers tegelijk te pushen.
Aan de andere kant kan Cisco WLC ook worden geïntegreerd met meerdere monitoringoplossingen van derden, zolang de OID's bekend zijn. Programma's zoals Grafana, PRTG Network Monitor en SolarWinds server maken het mogelijk om MIB's of OID's te importeren en waarden weer te geven in een gebruiksvriendelijke grafiek.
Monitoring-servers moeten mogelijk worden aangepast om deze integratie mogelijk te maken. In het voorbeeld dat in de afbeelding wordt weergegeven, wordt de PRTG-bewakingsserver geleverd met de CPU-gebruiks-OID per core die de tekenreeks 0%/1%, 1%/1%, 0%/1%, 0%/1%
retourneert. PRTG verwacht een integer waarde en verhoogt een fout.

Tabel van de meest frequent gemonitorde OID’s
Als u bedenkt dat MIB's de gegevens in een niet-gebruikersvriendelijke syntaxis presenteren, bevat deze tabel enkele van de meest voorkomende objectnamen en hun OID's die de Cisco-klanten gebruiken.
Beschrijving
|
Objectnaam
|
OID
|
verwachte respons
|
Totaal CPU-gebruik in %
|
agentCurrentCPUutilisatie
|
1.3.6.1.4.1.14179.1.1.5.1.0
|
GEHEEL GETAL: 0
|
CPU-gebruik per core
|
clsAllCPUgebruik
|
1.3.6.1.4.1.9.9.618.1.4.1.0
|
STRING: 0 %/1 %, 0 %/1 %, 0 %/1 %, 0 %/1 %
|
RAM-gebruik in %
|
clsSysCurrentMemoryUsage
|
1.3.6.1.4.1.9.9.618.1.8.6.0
|
Gauge32: 33
|
CPU-temperatuur in °C
|
bsnSensorTemperatuur
|
1.3.6.1.4.1.14179.2.3.1.13.0
|
GEHEEL GETAL: 76
|
Aantal aangesloten toegangspunten
|
clsSysAppConnectCount
|
1.3.6.1.4.1.9.9.618.1.8.4.0
|
Gauge32: 2
|
Aantal klanten
|
clsMaxClientsCount
|
1.3.6.1.4.1.9.9.618.1.8.12.0
|
Gauge32: 0
|
Aantal clients per WLAN
|
bsnDot11essAantalMobileStations
|
1.3.6.1.4.1.14179.2.1.1.1.38.0
|
Teller32: 3
Teller32: 2
|