El conjunto de documentos para este producto aspira al uso de un lenguaje no discriminatorio. A los fines de esta documentación, "no discriminatorio" se refiere al lenguaje que no implica discriminación por motivos de edad, discapacidad, género, identidad de raza, identidad étnica, orientación sexual, nivel socioeconómico e interseccionalidad. Puede haber excepciones en la documentación debido al lenguaje que se encuentra ya en las interfaces de usuario del software del producto, el lenguaje utilizado en función de la documentación de la RFP o el lenguaje utilizado por un producto de terceros al que se hace referencia. Obtenga más información sobre cómo Cisco utiliza el lenguaje inclusivo.
Cisco ha traducido este documento combinando la traducción automática y los recursos humanos a fin de ofrecer a nuestros usuarios en todo el mundo contenido en su propio idioma. Tenga en cuenta que incluso la mejor traducción automática podría no ser tan precisa como la proporcionada por un traductor profesional. Cisco Systems, Inc. no asume ninguna responsabilidad por la precisión de estas traducciones y recomienda remitirse siempre al documento original escrito en inglés (insertar vínculo URL).
Este documento describe cómo configurar el Protocolo simple de administración de red (SNMP) para monitorear el Controlador de LAN inalámbrica (WLC) Cisco 9800.
Todas las pruebas se realizaron en MacOS 10.14 y un WLC 9800-CL con la versión de imagen 17.5.1. Algunos de los OID mencionados en este artículo no existen en versiones de imágenes anteriores.
La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si tiene una red en vivo, asegúrese de entender el posible impacto de cualquier comando.
Los WLCs antiguos de AireOS confían en SNMP como el protocolo principal para el monitor. La mayoría de la información relevante como el conteo de clientes, el número de puntos de acceso unidos, el procesador y el uso de la memoria se pueden obtener a través de la consulta SNMP de la herramienta que monitorea, al WLC.
Con 9800 WLC, el foco se ha puesto en la telemetría. La telemetría funciona en un modelo "push" donde el WLC envía información relevante al servidor sin necesidad de ser consultado. Catalyst 9800 todavía ofrece SNMP para propósitos heredados. Parte de la información puede ser exclusiva de la telemetría y algunos de los OID previamente disponibles en AireOS aún no están disponibles en 9800.
Desde Cisco IOS XE Bengaluru 17.6.1, el puerto de servicio Ethernet (interfaz de administración VRF/GigabitEthernet 0) es compatible con el controlador inalámbrico Catalyst de Cisco serie 9800.
Antes de esta versión, el WLC Catalyst 9800 solo se podía monitorear con SNMP a través de su interfaz de administración inalámbrica o a través de la interfaz de administración de redundancia (en el caso de un WLC en espera en un clúster HA en las versiones 17.5.1 y posteriores).
SNMPv2c es una versión basada en la comunidad de SNMP y toda la comunicación entre los dispositivos está en texto sin formato. SNMPv3 es la versión más segura que ofrece comprobaciones de integridad de mensajes, autenticación y cifrado de los paquetes. SNMPv1 está extremadamente obsoleto, pero aún existe para proporcionar compatibilidad de software heredado. No se menciona en este artículo.
Importante: SNMPv2c está habilitado de forma predeterminada con la comunidad "private" con privilegios de lectura y escritura y la comunidad "public" con privilegios de solo lectura. Se recomienda quitarlos y crear una nueva comunidad con un nombre diferente.
Inicie sesión en la interfaz web del WLC 9800. En Administration > Management > SNMP asegúrese de que SNMP esté habilitado globalmente. En Cadenas de comunidad se muestran todas las comunidades configuradas actualmente y su nivel de permisos:
Antes de crear un usuario SNMP V3, es necesario definir un grupo SNMP V3. Para crear un grupo de usuarios con permiso de lectura y escritura, establezca la Vista de lectura y la Vista de escritura en v1default. El grupo de solo lectura debe tener la vista de escritura vacía
En la ficha SNMP V3 Users, puede ver todos los usuarios configurados, sus privilegios y protocolos utilizados para la autenticación y el cifrado. El botón Nuevo permite crear un nuevo usuario.
Hay 3 modos de seguridad disponibles:
Seleccione SHA como protocolo de autenticación y se recomienda al menos AES-128 como protocolo de privacidad.
SNMP también se puede configurar a través de la interfaz de línea de comandos (CLI). CLI ofrece parámetros de configuración adicionales, como la capacidad de asignar una lista de acceso a la comunidad v2 o al usuario v3.
Ejemplo de configuración de la comunidad de lectura y escritura v2, el grupo de lectura y escritura v3 y el usuario v3 que pertenece a este grupo:
snmp-server manager
snmp-server community
RW
snmp-server community
RO
snmp-server group
v3 auth write v1default snmp-server user
v3 auth sha
priv aes 128
access
Ejemplo de una lista de acceso que solamente permite que el dispositivo en la dirección IP 192.168.10.10 consulte la comunidad del WLC v2 llamada "Comunidad de LecturaEscritura":
ip access-list standard 50
10 permit 192.168.10.10
20 deny any
snmp-server manager
snmp-server community ReadWriteCommunity RW 50
Nota: En el momento de escribir este documento, sólo se admiten ACL estándar. Las ACL extendidas se pueden asignar, pero no funcionan.
Los ID de objeto, o OID para abreviar, son identificadores únicos que representan una variable u objeto determinado. Por ejemplo, el uso actual del procesador se considera una variable cuyos valores se pueden recuperar con la llamada en su ID de objeto. Cada OID es único y no puede haber dos iguales en todo el mundo, bastante similares a una dirección MAC.
Estos identificadores siguen una jerarquía de árbol y se puede realizar un seguimiento de cada OID hasta su raíz. Cada proveedor tiene su propia sucursal con una raíz común.
Una analogía podría ser una dirección de casa, donde la raíz sería el país o estado, seguido por un código postal de la ciudad, la calle y, finalmente, el número de casa.
Los números seguidos por un punto representan cada paso que toma para llegar a un punto determinado en ese árbol o rama.
Todos estos valores se almacenan en una Base de información de administración, o MIB para abreviar, en cada dispositivo de red. Cada identificador tiene un nombre y una definición (rango de valores posibles, tipo...).
No es necesario cargar una MIB en la herramienta de supervisión SNMP para utilizar SNMP y consultar un dispositivo.
Siempre que se conozca un OID válido, el dispositivo responde con el valor almacenado en la variable que representa el OID. Sin embargo, si carga la MIB en su herramienta de consulta, proporciona la ventaja de traducir los nombres de objeto a sus IDs y permite conocer su descripción.
En este ejemplo, la herramienta SNMP consulta al agente SNMP de un dispositivo su descripción del sistema con el uso de OID 1.3.6.1.2.1.1.1.0.
Cisco ofrece Management Information Base (MIB) para WLC 9800. No es fácilmente legible, pero la MIB contiene todos los nombres de objeto disponibles y su descripción.
Todos los modelos 9800 (9800-80, 9800-40, 9800-L, 9800-CL, EWC) utilizan la misma MIB que se puede descargar aquí: https://software.cisco.com/download/home/286322605/type/280775088/release/.
El más actualizado es el que tiene la fecha más reciente, no el que tiene el nombre de versión de código más alto.
El archivo de almacenamiento descargado contiene varios archivos de texto .my que se pueden importar a cualquier servidor SNMP de terceros o simplemente abrir con un editor de texto. Para encontrar el OID de un nombre de objeto específico, primero debe localizar el archivo exacto que lo contiene.
Por ejemplo, todos los objetos relacionados con la supervisión del estado físico del dispositivo (como la CPU y la memoria) se encuentran dentro de una MIB denominada CISCO-PROCESS-MIB.my.
Aquí, "cpmCPUMemoryUsed" es el nombre del objeto que se utiliza para proporcionar la cantidad de memoria utilizada por el WLC en bytes. Todos los archivos MIB tienen una sintaxis similar. La información sobre el objeto de memoria utilizado es similar a la siguiente:
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 mayor parte del software de terceros para supervisar se basa en OID, no en nombres de objetos. La traducción entre el nombre de objeto y el ID de objeto se puede realizar con el uso de la herramienta Cisco SNMP Object Navigator.
Introduzca el nombre del objeto en la barra de búsqueda. El resultado proporciona el OID y una breve descripción. Además, se puede utilizar la misma herramienta para buscar el nombre de objeto del OID proporcionado.
Después de la adquisición del OID del objeto que necesita ser monitoreado, se puede ejecutar la primera consulta SNMP.
Los ejemplos de este capítulo muestran cómo adquirir una memoria libre de WLC (OID = 1.3.6.1.4.1.9.9.48.1.1.1.5) para SNMPv2 community private y SNMPv3 user snmpadmin con la contraseña de autenticación SHA Cisco123# y la contraseña de privacidad AES establecida en Cisco123#. La interfaz de administración del controlador se encuentra en 10.48.39.133.
Snmpwalk es una aplicación SNMP que utiliza solicitudes SNMP GETNEXT para consultar una entidad de red para obtener un árbol de información. Está presente de forma predeterminada en MacOS y en la mayoría de las distribuciones Linux. Para SNMPv2c, el comando sigue la sintaxis:
snmpwalk -v2c -c
Ejemplo:
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 se utiliza SNMPv3, el comando sigue la sintaxis:
snmpwalk -v3 -l authPriv -u <username> -a [MD5|SHA] -A <auth_password> -x [AES|DES] -X <priv_password> <WLC_management_interface_ip> <OID>
Seleccione MD5/SHA y AES/DES en función de cómo creó el usuario SNMPv3 en el controlador.
Ejemplo:
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
Los fragmentos de código se escriben para Python 3.9 y utilizan el módulo pysnmp (pip install pysnmp) para realizar consultas SNMP para la utilización de memoria del WLC de Catalyst 9800-CL. Estos ejemplos utilizan la misma comunidad SNMPv2 y usuario SNMPv3 creados en uno de los capítulos anteriores. Simplemente reemplace los valores de variable e integre el código dentro de sus propias secuencias de comandos personalizadas.
Ejemplo de 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]))
Salida imprime:
SNMPv2-SMI::enterprises.9.9.109.1.1.1.1.12.2 = 3783236
Ejemplo de 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]))
La infraestructura Cisco Prime permite supervisar y configurar fácilmente varios dispositivos de red, incluidos los controladores inalámbricos.
Prime Infrastructure viene precargado con todos los OID y la integración con el WLC consiste simplemente en la adición de las credenciales del WLC a Prime. Con 9800 WLC, Prime depende principalmente de la telemetría para recopilar la mayoría de los detalles del WLC, mientras que la pequeña porción de la información se obtiene a través de SNMP.
Por otro lado, Cisco WLC también se puede integrar con varias soluciones de terceros para el monitor, siempre que se conozcan los OID.
Programas como Grafana+Prometheus, PRTG Network monitor y SolarWinds server permiten la importación de MIBs u OIDs y la visualización de valores en un gráfico fácil de usar.
Esta integración puede requerir algunos ajustes en el lado del servidor SNMP. En este ejemplo, el servidor de supervisión PRTG se proporciona con el OID de utilización de CPU por núcleo que devuelve la cadena "0%/1%, 1%/1%, 0%/1%, 0%/1%". PRTG espera un valor entero y genera un error.
Cisco Unified Communications Manager (CUCM) cuenta con una función de seguimiento de terminales inalámbricos que le permite realizar un seguimiento aproximado de la ubicación del cliente en función del punto de acceso al que esté conectado el cliente. Para que esta función funcione, CUCM tiene que extraer información del WLC a través de consultas SNMP.
Importante: Muchas versiones de CUCM se ven afectadas por el Id. de error de Cisco CSCvv07486 - No se pueden sincronizar los puntos de acceso en el WLC debido a que las solicitudes SNMP son demasiado grandes. Este problema se activa en situaciones en las que CUCM ejecuta una versión afectada y el WLC tiene más de 10 puntos de acceso. Debido a la manera incorrecta que CUCM consulta una gran cantidad de OID en una sola solicitud masiva, el WLC se niega a contestar o contesta con una respuesta tooBig. La respuesta demasiado grande no siempre se envía inmediatamente y puede retrasarse. Los debugs SNMP en la impresión del WLC "SNMP: Paquete recibido vía UDP de x.x.x.x en VlanXXSrParseV1SnmpMessage: el paquete es demasiado grande SrDoSnmp: Error de análisis de ASN".
La tabla incluye algunos de los nombres de objeto más comunes y sus OID, con la consideración de que los MIB presentan los datos en una sintaxis no amigable para el usuario:
Nota: Comando "show snmp mib | in <Object name>" se puede utilizar para verificar si un determinado nombre de objeto está disponible en el WLC 9800.
Descripción |
Nombre del Objeto |
OID (ID del objeto) |
Respuesta esperada |
Uso general de la CPU en % durante los últimos 5 s |
cpmCPUTotal5sec |
1.3.6.1.4.1.9.9.109.1.1.1.1.3 |
ENTERO: 5 |
Uso general de la CPU en % durante los últimos 1 min |
cpmCPUTotal1min |
1.3.6.1.4.1.9.9.109.1.1.1.1.4 |
ENTERO: 5 |
Uso general de la CPU en % durante los últimos 5 minutos |
cpmCPUTotal5min |
1.3.6.1.4.1.9.9.109.1.1.1.1.5 |
ENTERO: 5 |
Memoria utilizada actual en bytes |
cpmCPUMemoryUsed |
1.3.6.1.4.1.9.9.109.1.1.1.1.12 |
ENTERO: 3783236 |
Memoria libre actual en bytes |
cpmCPUMemoryFree |
1.3.6.1.4.1.9.9.109.1.1.1.1.13 |
ENTERO: 4263578 |
La menor cantidad de memoria libre desde el último arranque en bytes |
cpmCPUMemoryLowest |
1.3.6.1.4.1.9.9.109.1.1.1.1.15 |
ENTERO: 4251212 |
Motivo de la última recarga |
por quéRecargar |
1.3.6.1.4.1.9.2.1.2 |
STRING: "reload" |
Imagen de software de todos los AP unidos |
bsnAPSoftwareVersion |
1.3.6.1.4.1.14179.2.2.1.1.8 |
STRING: "17.5.1.12" |
Número de modelo de todos los AP unidos |
bsnAPModel |
1.3.6.1.4.1.14179.2.2.1.1.16 |
STRING: "AIR-AP1840I-E-K9" |
Número de clientes |
X |
X |
X |
Número de puntos de acceso unidos |
X |
X |
X |
Estado de la unidad de alimentación |
X |
X |
X |
Estado del ventilador |
X |
X |
X |
Actualmente hay solicitudes de mejora abiertas para admitir OID del número total de clientes y el número de puntos de acceso unidos:
ID de bug de Cisco CSCvu26309 - El OID de SNMP para el conteo de clientes no está presente en 9800
ID de bug de Cisco CSCvv44330 - OID de SNMP para AP no presente en 9800
En el momento de escribir este artículo, no se admite el estado de la unidad de alimentación (PSU) ni el estado del ventilador. Se ha abierto la solicitud de mejora:
ID de bug de Cisco CSCwa23598 - Mejora del WLC 9800 / Soporte para PSU y estado del ventilador SNMP OID (1.3.6.1.4.1.9.9.13)
Monitorear un WLC en espera en el clúster de alta disponibilidad sólo es posible desde la versión 17.5.1. El WLC en espera puede ser monitoreado directamente a través de RMI o con la consulta del WLC activo.
El WLC en espera se puede monitorear directamente solamente si los WLC que se ejecutan en el tipo RMI + RP HA. Se realiza a través de la dirección IP de la interfaz de administración de redundancia (RMI) en espera del WLC en espera.
En este escenario, solamente los OID de IF-MIB son soportados oficialmente, lo que hace posible solamente monitorear el estado de todas las interfaces en el WLC en espera. Ejemplo de salida de 9800-CL WLC:
Descripción |
Nombre del Objeto |
OID (ID del objeto) |
Respuesta esperada |
Nombre de interfaz |
ifDescr |
1.3.6.1.2.1.2.2.1.2 |
SNMPv2-SMI::mib-2.2.2.1.2.1 = GigabitEthernet1 |
Estado operativo de la interfaz (1=arriba, 2=abajo) |
ifOperStatus |
1.3.6.1.2.1.2.2.1.8 |
SNMPv2-SMI::mib-2.2.2.1.8.1 = 2 |
Nota: Se espera que el puerto Gig 2 del WLC en espera (puerto troncal utilizado para la conmutación del tráfico) esté en estado apagado. Una vez que ocurre el failover, el puerto Gig 2 en el WLC standby aparece. Algo similar ocurre con los puertos de 10 gigabits en dispositivos físicos 9800 (9800-80, 9800-40 y 9800-CL).
El estado de WLC en espera también se puede monitorear con la consulta al WLC activo. Solamente se soportan oficialmente CISCO-LWAPP-HA-MIB y CISCO-PROCESS-MIB. Cuando se consulta el WLC activo en HA, la primera respuesta representa el valor del WLC activo, mientras que la segunda respuesta representa el valor del WLC en espera.
Descripción |
Nombre del Objeto |
OID (ID del objeto) |
Respuesta esperada |
Uso general de la CPU en % durante los últimos 5 s |
cpmCPUTotal5sec |
1.3.6.1.4.1.9.9.109.1.1.1.1.3 |
SNMPv2-SMI::enterprise.9.9.109.1.1.1.1.3.5 = 3 |
Uso general de la CPU en % durante los últimos 1 min |
cpmCPUTotal1min |
1.3.6.1.4.1.9.9.109.1.1.1.1.4 |
SNMPv2-SMI::enterprise.9.9.109.1.1.1.1.4.5 = 8 |
Uso general de la CPU en % durante los últimos 5 minutos |
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 |
Memoria utilizada actual en bytes |
cpmCPUMemoryUsed |
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 |
Memoria libre actual en bytes |
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 |
La menor cantidad de memoria libre desde el último arranque en bytes |
cpmCPUMemoryLowest |
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 |
Estado del WLC en espera (1=arriba, 0=abajo) |
cLHaPeerHotStandbyEvent |
1.3.6.1.4.1.9.9.843.1.3.4 |
SNMPv2-SMI::enterprise.9.9.843.1.3.4.0 = 1 |
Revisión | Fecha de publicación | Comentarios |
---|---|---|
4.0 |
01-Apr-2022 |
OID adicionales mencionados |
2.0 |
01-Oct-2021 |
Versión inicial |
1.0 |
12-Oct-2021 |
Versión inicial |