Ce document décrit comment configurer le protocole SNMP (Simple Network Management Protocol) pour surveiller le contrôleur LAN sans fil (WLC) Cisco 9800.
Tous les tests ont été effectués sur MacOS 10.14 et un WLC 9800-CL avec la version d'image 17.5.1. Certains des OID mentionnés dans cet article n'existent pas sur les versions d'image plus anciennes.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.
Les anciens WLC AireOS utilisent SNMP comme protocole principal à surveiller. La majorité des informations pertinentes comme le nombre de clients, le nombre de points d'accès joints, l'utilisation du processeur et de la mémoire peuvent être obtenues via des requêtes SNMP de l'outil qui surveille au WLC.
Avec le WLC 9800, l'accent a été mis sur la télémétrie. La télémétrie fonctionne dans un modèle « push » où le WLC envoie des informations pertinentes au serveur sans avoir besoin d'être interrogé. Le Catalyst 9800 offre toujours SNMP pour les applications traditionnelles. Certaines informations peuvent être réservées à la télémétrie et certains des OID précédemment disponibles sur AireOS ne le sont pas encore sur le 9800.
À partir de Cisco IOS XE® Bengaluru 17.6.1, le port de service Ethernet (interface de gestion VRF/GigabitEthernet 0) est pris en charge par le contrôleur sans fil Cisco Catalyst 9800.
Avant cette version, le WLC du Catalyst 9800 peut seulement être surveillé avec SNMP via son interface de gestion sans fil ou via l'interface de gestion de redondance (dans le cas d'un WLC en veille dans un cluster HA sur les versions 17.5.1 et ultérieures).
SNMPv2c est une version communautaire de SNMP et toutes les communications entre les périphériques sont en texte clair. SNMPv3 est la version la plus sécurisée qui offre des contrôles d'intégrité des messages, l'authentification et le chiffrement des paquets. SNMPv1 est assez obsolète, mais il existe toujours pour assurer la compatibilité des logiciels hérités. Il n'est pas mentionné dans cet article.
1. Connectez-vous à l'interface Web du WLC 9800. Sous Administration > Management > SNMP et vérifiez que SNMP est activé globalement. Sous Community Strings, toutes les communautés actuellement configurées et leur niveau d'autorisation s'affichent :

2. Avant de créer un utilisateur SNMP V3, vous devez définir un groupe SNMP V3. Pour créer un groupe d'utilisateurs avec l'autorisation de lecture + écriture, définissez les options Affichage de lecture et Affichage d'écriture sur v1 par défaut. Laissez la zone du champ Groupe en lecture seule - Affichage en écriture vide :

3. Sous l'onglet Utilisateurs SNMP v3, vous pouvez voir tous les utilisateurs configurés, ainsi que leurs privilèges et protocoles utilisés pour l'authentification et le chiffrement. Le bouton New vous permet de créer un nouvel utilisateur.
Trois modes de sécurité sont disponibles :
4. Sélectionnez SHA comme protocole d'authentification et au moins AES-128 comme protocole de confidentialité recommandé.

SNMP peut également être configuré via l'interface de ligne de commande (CLI). L'interface de ligne de commande offre des paramètres de configuration supplémentaires, comme la possibilité d'attribuer une liste d'accès à une communauté v2 ou à un utilisateur v3. Exemple de configuration d'une communauté de lecture et d'écriture v2, d'un groupe de lecture et d'écriture v3 et d'un utilisateur v3 appartenant à ce groupe :
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>
Voici un exemple de liste d'accès qui autorise uniquement le périphérique sur une adresse IP de : 192.168.10.10. Pour interroger la communauté WLC v2 nommée « ReadWriteCommunity » :
ip access-list standard 50
10 permit 192.168.10.10
20 deny any
snmp-server manager
snmp-server community ReadWriteCommunity RW 50
Les ID d'objet, ou OID pour abréger, sont des identificateurs uniques qui représentent une certaine variable ou un certain objet. Par exemple, l'utilisation actuelle du processeur est considérée comme variable, valeurs qui peuvent être récupérées avec l'appel sur leur ID d'objet. Chaque OID est unique et il ne peut y en avoir deux identiques, ce qui est similaire à une adresse MAC.
Ces identificateurs s'alignent sur une hiérarchie arborescente et chaque OID peut être retracé jusqu'à sa racine. Chaque fournisseur possède sa propre branche avec une racine commune. Une analogie peut être une adresse de domicile, où la racine est le pays ou l'état, avec leur ville, leur code postal, la rue et enfin le numéro de domicile.
Les nombres suivis d'un point représentent chaque étape nécessaire pour atteindre un certain point de l'arbre ou de la branche.

Toutes ces valeurs sont stockées dans une base d'informations de gestion (MIB) pour abréger chaque périphérique réseau. Chaque identificateur possède un nom et une définition (plage de valeurs possibles, type, etc.).
Il n'est pas nécessaire de charger une MIB sur votre outil de surveillance SNMP pour utiliser SNMP pour interroger un périphérique. Tant qu'un OID valide est connu, le périphérique répond avec la valeur stockée dans la variable que l'OID représente. Cependant, si vous chargez la base de données MIB sur votre outil de requête, elle offre l'avantage de traduire les noms d'objet en leurs ID et explique leur description.
Dans cet exemple, l'outil SNMP interroge l'agent SNMP d'un périphérique pour obtenir la description de son système à l'aide de l'OID 1.3.6.1.2.1.1.1.0.

Cisco propose des MIB pour 9800 WLC. Il n'est pas facile à lire, cependant, la MIB contient tous les noms d'objets disponibles et leurs descriptions.
Tous les modèles 9800 (9800-80, 9800-40, 9800-L, 9800-CL, EWC) utilisent la même MIB qui peut être téléchargée à partir de Cisco Feature Navigator. La plus récente est celle avec la date la plus récente, et non celle avec le nom de version du code le plus élevé.
Les fichiers d'archive téléchargés contiennent plusieurs fichiers .my texte qui peuvent être importés dans n'importe quel serveur SNMP tiers ou simplement ouverts avec un éditeur de texte. Pour trouver l'OID d'un nom d'objet spécifique, vous devez d'abord localiser le fichier exact qui le contient.
Par exemple, tous les objets liés à la surveillance de l'état physique des périphériques (comme le processeur et la mémoire) sont situés à l'intérieur d'une MIB appelée CISCO-PROCESS-MIB.my.
Le « cpmCPUMemoryUsed » est le nom d'objet utilisé pour fournir la quantité de mémoire utilisée par le WLC en octets. Les fichiers MIB sont tous alignés avec une syntaxe similaire. Les informations sur l'objet mémoire utilisé sont les suivantes :
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 }
La plupart des logiciels tiers à surveiller reposent sur des OID et non sur des noms d'objet. La traduction entre le nom d'objet et l'ID d'objet peut être effectuée à l'aide de l'outil Cisco SNMP Object Navigator Tool.
Pour utiliser cet outil, vous devez entrer le nom de l'objet dans la barre de recherche et le résultat fournit l'OID et une brève description. En outre, le même outil peut être utilisé pour rechercher le nom de l'objet de l'OID fourni.

Après l'acquisition, l'OID de l'objet qui doit être surveillé, la première requête SNMP peut être exécutée. Les exemples de ce chapitre montrent comment acquérir une mémoire libre WLC (OID = 1.3.6.1.4.1.9.9.48.1.1.1.5) pour SNMPv2 community private et SNMPv3 user snmpadmin avec SHA Auth password : Cisco123# et AES Privacy password : Cisco123#. L'interface de gestion du contrôleur se trouve sur : 10.48.39.133 .
Snmpwalk est une application SNMP qui utilise des requêtes SNMP GETNEXT pour interroger une entité réseau à la recherche d'une arborescence d'informations. Il est présent par défaut sur MacOS et la plupart des distributions Linux. Pour SNMPv2c, la commande respecte la syntaxe suivante :
snmpwalk -v2c -c <community_name> <WLC_management_interface_ip> <OID>
Voici un autre exemple :
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
Si SNMPv3 est utilisé, la commande respecte la syntaxe suivante :
snmpwalk -v3 -l authPriv -u <username> -a [MD5|SHA] -A <auth_password> -x [AES|DES] -X <priv_password> <WLC_management_interface_ip> <OID>
Sélectionnez MD5/SHA et AES/DES en fonction de la façon dont vous avez créé l'utilisateur SNMPv3 sur le contrôleur. Voici un autre exemple :
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
Les extraits de code sont écrits pour Python 3.9 et utilisent le module pysnmp (pip install pysnmp) pour exécuter des requêtes SNMP pour l'utilisation de mémoire du WLC Catalyst 9800-CL. Ces exemples utilisent la communauté SNMPv2 et l'utilisateur SNMPv3 créés dans les chapitres précédents. Remplacez simplement les valeurs des variables et intégrez le code dans vos propres scripts personnalisés.
Exemple 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]))
Le résultat est imprimé :
SNMPv2-SMI::enterprises.9.9.109.1.1.1.1.12.2 = 3783236
Exemple 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]))
L'infrastructure Cisco Prime permet de surveiller et de configurer facilement plusieurs périphériques réseau, y compris des contrôleurs sans fil. Prime Infrastructure est livré préchargé avec tous les OID et toutes les intégrations avec WLC, et consiste en l'ajout des identifiants WLC à Prime. Avec 9800 WLC, Prime s'appuie principalement sur la télémétrie pour collecter la majorité des détails du WLC, tandis que la petite partie des informations est obtenue via SNMP.
D'autre part, Cisco WLC peut également être intégré à plusieurs solutions tierces pour la surveillance, tant que les OID sont connus. Des programmes tels que Grafana+Prometheus, PRTG Network Monitor et les serveurs SolarWinds permettent d'importer les MIB ou les OID et d'afficher les valeurs dans un graphique convivial.
Cette intégration peut nécessiter certaines modifications du côté du serveur SNMP. Dans cet exemple, le serveur de surveillance PRTG est fourni avec l'OID d'utilisation de CPU par coeur, qui renvoie la chaîne « 0%/1%, 1%/1%, 0%/1%, 0%/1% ». PRTG attend une valeur entière et génère une erreur.

Cisco Unified Communications Manager (CUCM) dispose d'une fonctionnalité de suivi des terminaux sans fil qui lui permet de suivre approximativement l'emplacement du client en fonction du point d'accès auquel le client est connecté. Pour que cette fonctionnalité fonctionne, le CUCM doit extraire des informations du WLC via des requêtes SNMP.
Le tableau inclut certains des noms d'objet les plus courants et leurs OID, en tenant compte du fait que les MIB présentent les données dans une syntaxe non conviviale :
| Description |
Nom d'objet |
OID |
Réponse attendue |
| Utilisation totale du processeur en % au cours des 5 dernières secondes (équivalent à « show process cpu platform ») |
cpmCPUTotal5s |
1.3.6.1.4.1.9.9.109.1.1.1.1.3 |
NOMBRE ENTIER : 5 |
| Utilisation totale de l'UC en % au cours des 1 dernières minutes |
cpmCPUTotal1min |
1.3.6.1.4.1.9.9.109.1.1.1.1.4 |
NOMBRE ENTIER : 5 |
| Utilisation totale de l'UC en % au cours des 5 dernières minutes |
cpmCPUTotal5min |
1.3.6.1.4.1.9.9.109.1.1.1.1.5 |
NOMBRE ENTIER : 5 |
| Utilisation du processeur en % des 5 dernières minutes, par coeur |
cpmCore5min |
.1.3.6.1.4.1.9.9.109.1.1.2.1.5.5 (.0 à .X en fonction du nombre de coeurs) |
NOMBRE ENTIER : 5 |
| Mémoire actuelle utilisée en octets |
cpmCPUMemoryUtilisé |
1.3.6.1.4.1.9.9.109.1.1.1.1.12 |
NOMBRE ENTIER : 3783236 |
| Mémoire libre actuelle en octets |
cpmCPUMemoryFree |
1.3.6.1.4.1.9.9.109.1.1.1.1.13 |
NOMBRE ENTIER : 4263578 |
| Quantité de mémoire libre la plus faible depuis le dernier démarrage en octets |
cpmCPUMemoryLowest |
1.3.6.1.4.1.9.9.109.1.1.1.1.15 |
NOMBRE ENTIER : 4251212 |
| Motif du dernier rechargement |
pourquoiRecharger |
1.3.6.1.4.1.9.2.1.2 |
CHAÎNE : "recharger" |
| Image logicielle de tous les points d'accès joints |
VersionLogicielleBSNap |
1.3.6.1.4.1.14179.2.2.1.1.8 |
CHAÎNE : "17.5.1.12 " |
| Numéro de modèle de tous les points d'accès joints |
bsnAPModel |
1.3.6.1.4.1.14179.2.2.1.1.16 |
CHAÎNE : "AIR-AP1840I-E-K9" |
| Nombre de clients |
cLApActiveClientCount |
2.1.3.6.1.4.1.9.9.513.1.1.1.1.72 |
Entier |
| Nombre de points d'accès joints |
cLApGlobalAPConnectCount |
1.3.6.1.4.1.9.9.513.1.3.35 |
Indicateur32 : 1 |
| État du bloc d'alimentation |
TableauÉtatApprovisionnementCiscoEnvMon |
.1.3.6.1.4.1.9.9.13.1.5(ajouté via CSCwb73163) |
présenter |
| État du ventilateur |
TableauÉtatFanEnvCisco |
.1.3.6.1.4.1.9.9.13.1.4 (ajouté via CSCwb73163) |
présenter |
Actuellement, des demandes d'amélioration sont ouvertes pour prendre en charge les OID nombre total de clients et nombre de points d'accès joints sous l'ID de bogue Cisco : CSCvu26309 - SNMP OID for Client Count not Present on 9800.
L'état de l'unité d'alimentation (PSU) et l'état du ventilateur ne sont pas pris en charge au moment de la rédaction de cet article. Une demande d'amélioration a été ouverte sous
ID de bogue Cisco : CSCwa23598 - 9800 Amélioration WLC / Support pour PSU et OID SNMP d'état de ventilateur (1.3.6.1.4.1.9.9.13).
Vous pouvez surveiller un WLC de secours dans un cluster de haute disponibilité à partir de la version 17.5.1. Le WLC de secours peut être surveillé directement via RMI ou avec l'interrogation du WLC actif.
Un WLC de secours peut être surveillé directement uniquement pour les WLC qui s'exécutent dans le type RMI + RP HA. Ceci est effectué via l'adresse IP de l'interface de gestion de redondance de secours (RMI) du WLC de secours.
Dans ce scénario, seuls les OID de IF-MIB sont pris en charge, ce qui permet de surveiller l'état de toutes les interfaces sur le WLC en veille. Un exemple de sortie du WLC 9800-CL :
| Description |
Nom d'objet |
OID |
Réponse attendue |
| Nom d'interface |
DescrSi |
1.3.6.1.2.1.2.2.1.2 |
SNMPv2-SMI::mib-2.2.2.1.2.1 = GigabitEthernet1 |
| État opérationnel de l'interface (1=up, 2=down) |
ÉtatOpérateur |
1.3.6.1.2.1.2.2.1.8 |
SNMPv2-SMI::mib-2.2.2.1.8.1 = 2 |
L'état du WLC en veille peut également être surveillé avec la requête au WLC actif. Seuls les MIB CISCO-LWAPP-HA-MIB et CISCO-PROCESS-MIB sont officiellement prises en charge. Lorsqu'un WLC actif dans HA est interrogé, la première réponse représente la valeur du WLC actif, tandis que la seconde réponse représente la valeur du WLC en veille.
| Description |
Nom d'objet |
OID |
Réponse attendue |
| Utilisation totale de l'UC en % au cours des 5 dernières secondes |
cpmCPUTotal5s |
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 |
| Utilisation totale de l'UC en % au cours des 1 dernières minutes |
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 |
| Utilisation totale de l'UC en % au cours des 5 dernières minutes |
cpmCPUTotal5min |
1.3.6.1.4.1.9.9.109.1.1.1.1.5 |
SNMPv2-SMI::entreprises.9.9.109.1.1.1.1.5.5 = 10 |
| Mémoire actuelle utilisée en octets |
cpmCPUMemoryUtilisé |
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 |
| Mémoire libre actuelle en octets |
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 |
| Quantité de mémoire libre la plus faible depuis le dernier démarrage en octets |
cpmCPUMemoryLowest |
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 |
| État du WLC en veille (1=up, 0=down) |
cLHaPeerHotStandbyEvent |
1.3.6.1.4.1.9.9.843.1.3.4 |
SNMPv2-SMI::enterprises.9.9.843.1.3.4.0 = 1 |
| Révision | Date de publication | Commentaires |
|---|---|---|
8.0 |
27-Oct-2026
|
Mise à jour de l'orthographe, de la grammaire, de l'espacement, des lignes horizontales insérées dans des sections distinctes pour plus de lisibilité, des alertes CCW fixes et du texte de remplacement. |
7.0 |
01-Jul-2025
|
Ajout d'OID de ventilation, d'alimentation et de nombre de clients |
6.0 |
31-Mar-2025
|
URL MIB fixe |
5.0 |
15-Nov-2023
|
Ajouté par OID de coeur de processeur |
4.0 |
01-Apr-2022
|
OID supplémentaires mentionnés |
2.0 |
01-Oct-2021
|
Première publication |
1.0 |
12-Oct-2021
|
Première publication |