Introducción
Este documento describe un enfoque estructurado para resolver problemas y resolver el uso elevado de la CPU en el proceso SNMP en un controlador de LAN inalámbrica 9800.
Componentes Utilizados
La información que contiene este documento se basa en las siguientes versiones de software y hardware.
- Controlador inalámbrico: C9800-80-K9 que ejecuta 17.09.03
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.
Recopilación de registros
Identificar patrones de uso de CPU Al recibir un informe de uso elevado de CPU vinculado al proceso SNMP, el primer curso de acción es recopilar registros detallados durante un período de tiempo especificado. Esto ayudará a establecer un patrón o una tendencia en el uso de la CPU, lo cual es esencial para identificar los momentos en que el proceso SNMP es más activo y requiere más recursos.
Antes de comenzar la recopilación de registros, es imprescindible recopilar información específica que se utilice para respaldar el proceso de solución de problemas. Comience por recopilar poca información sobre el problema.
- ¿Está experimentando el sistema picos o un uso sistemáticamente alto?
- ¿Cuál es el porcentaje de utilización en ambos casos?
- ¿Cuál es la frecuencia de uso elevado de la CPU?
- ¿Con qué frecuencia cada servidor SNMP está consultando el WLC?
- ¿Quiénes son los que más hablan?
Recopile la salida del comando del WLC 9800 a intervalos de dos minutos en un lapso de diez minutos. Estos datos se pueden utilizar para analizar problemas de uso elevado de la CPU, particularmente aquellos relacionados con el proceso SNMP.
#terminal length 0
#show clock
#show process cpu sorted | exclude 0.0
#show process cpu history
#show processes cpu platform sorted | exclude 0.0
#show snmp stats oid
#show snmp stats hosts
Análisis de registros
Después de recopilar estos registros, debe analizarlos para comprender el impacto.
Veamos un ejemplo de registros de uso de la CPU e identifiquemos el proceso SNMP que consume más CPU.
WLC#show process cpu sorted | exclude 0.0
CPU utilization for five seconds: 96%/7%; one minute: 76%; five minutes: 61%
PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process
250 621290375 58215467 10672 58.34% 39.84% 34.11% 0 SNMP LA Cache pr <-- High utilization
93 167960640 401289855 418 14.50% 11.88% 9.23% 0 IOSD ipc task
739 141604259 102242639 1384 8.57% 6.95% 7.21% 0 SNMP ENGINE
763 7752 34896 222 4.00% 3.41% 1.83% 5 SSH Process
648 6216707 181047548 34 0.72% 0.37% 0.31% 0 IP SNMP
376 3439332 51690423 66 0.40% 0.36% 0.25% 0 SNMP Timers
143 3855538 107654825 35 0.40% 0.35% 0.23% 0 IOSXE-RP Punt Se
108 6139618 17345934 353 0.40% 0.30% 0.34% 0 DBAL EVENTS
El resultado de show process cpu ordenado | El comando exclude 0.0 indica que el proceso SNMP está consumiendo una cantidad desproporcionada de recursos de CPU. Específicamente, el proceso SNMP LA Cache pr es el que más uso hace de la CPU, seguido por otros procesos relacionados con SNMP.
El siguiente conjunto de comandos nos ayudará a profundizar en el proceso de alta utilización de SNMP.
WLC#show snmp stats oid
time-stamp #of times requested OID
11:02:33 Austral Jun 8 2023 27698 bsnAPIfDBNoisePower <-- Frequently polled OID
11:02:23 Austral Jun 8 2023 1 sysUpTime
11:02:23 Austral Jun 8 2023 17 cLSiD11SpectrumIntelligenceEnable
11:02:23 Austral Jun 8 2023 1 cLSiD11SpectrumIntelligenceEnable
11:02:23 Austral Jun 8 2023 6 cLSiD11Band
11:02:23 Austral Jun 8 2023 1 cLSiD11Band
11:02:23 Austral Jun 8 2023 1 cLSiD11Band
11:02:23 Austral Jun 8 2023 1 cLSiD11Band
11:02:19 Austral Jun 8 2023 24 clcCdpApCacheApName
11:02:19 Austral Jun 8 2023 1 clcCdpApCacheDeviceIndex
11:02:19 Austral Jun 8 2023 9 cLApCpuAverageUsage
11:02:19 Austral Jun 8 2023 1315 cLApCpuCurrentUsage
11:02:19 Austral Jun 8 2023 2550 bsnAPIfDBNoisePower
El resultado del comando show snmp stats oid revela la frecuencia con la que se sondean varios OID. Un OID determinado, bsnAPIfDBNoisePower, destaca por su número excepcionalmente alto de solicitudes. Esto sugiere que el sondeo agresivo de este OID probablemente contribuye a la alta utilización de la CPU observada en el WLC.
Tratemos de entender qué hace el OID bsnAPIfDBNoisePower y sus tiempos de almacenamiento de datos.
Navegue hasta SNMP Object Navigator y busque el OID "bsnAPIfDBNoisePower".
Resultado de búsqueda de OID
Así que ahora entiende que el objeto bsnAPIfDBNoisePower informa la potencia de ruido de cada canal según lo informado por cada AP. Dado el gran número de canales y AP administrados por el WLC, los datos SNMP generados por este OID pueden ser sustanciales. Cuando el WLC sirve un gran número de AP, el volumen de datos generados por el sondeo de este OID puede ser inmenso. Esto puede conducir a una alta utilización de la CPU como el WLC procesa estas solicitudes SNMP extensas.
Del mismo modo, debe comprender el comportamiento del OID específico que se está sondeando de forma agresiva.
El siguiente comando le ayudará a conocer los servidores SNMP que consultan el WLC.
WLC#show snmp stats hosts
Request Count Last Timestamp Address
77888844 00:00:00 ago 10.10.10.120
330242 00:00:08 ago 10.10.10.150
27930314 00:00:09 ago 10.10.10.130
839999 00:00:36 ago 10.10.10.170
6754377 19:45:34 ago 10.10.10.157
722 22:00:20 ago 10.10.10.11
Este comando proporciona una lista de servidores SNMP junto con sus recuentos de solicitudes y la última marca de tiempo de su actividad de sondeo.
Puede ver que hay varios servidores diferentes que están sondeando el WLC 9800. Si observa los datos de registros completos recopilados durante los últimos 10 minutos, también puede medir su frecuencia de sondeo.
Ahora puede ir a cada servidor y ver con qué frecuencia se sondea el OID ofensivo. En este caso de ejemplo, el OID se sondea cada 30 segundos, lo que es significativamente más frecuente de lo necesario. Dado que el WLC recibe los datos RF/RRM cada 180 segundos, el sondeo del OID cada 30 segundos da como resultado un procesamiento innecesario y contribuye a una alta utilización de la CPU.
Una vez que el OID ofensivo y el servidor han sido identificados, podemos probar múltiples soluciones diferentes para reducir la carga en el WLC.
- Reduzca la frecuencia de sondeo en el servidor SNMP.
- Si el OID no es necesario para el uso de la operación, inhabilite el sondeo de ese OID desde el servidor SNMP.
- Si no tiene control sobre el servidor SNMP, puede utilizar la vista SNMP para bloquear el OID ofensivo.
Configuración de SNMP View
Defina una nueva vista que excluya el OID que desea bloquear. Por ejemplo, si desea bloquear el OID 1.3.6.1.4.1.14179.2.2.15.1.21, crear una nueva vista y adjuntar el OID a la vista.
snmp-server view blockOIDView 1.3.6.1.4.1.14179.2.2.15.1.21 excluded <-- This is the OID of bsnAPIfDBNoisePower
snmp-server community TAC view blockOIDView RO <-- This command assigns the blockOIDView to the community myCommunity with read-only (RO) access.
snmp-server group TAC v3 priv read blockOIDView <-- This command assigns the blockOIDView to the group myGroup with the priv security level for SNMPv3.
Sugerencia de Troubleshooting
- Uso de CPU Basado: Documenta los niveles de uso normal de la CPU cuando el proceso SNMP no está causando un uso alto.
- Configuración SNMP: revise los parámetros de configuración SNMP actuales, incluidas las cadenas de comunidad, la versión (v2c o v3) y las listas de acceso.
- Práctica recomendada de SNMP: utilice el documento de prácticas recomendadas de 9800 WLC y haga coincidir la configuración sugerida para SNMP lo más cerca posible.
C9800(config)#snmp-server subagent cache
C9800(config)#snmp-server subagent cache timeout ?
<1-100> cache timeout interval (default 60 seconds)
- Frecuencia de sondeo SNMP: Determine con qué frecuencia el WLC está siendo sondeado por consultas SNMP, ya que una frecuencia alta podría contribuir a una mayor carga de la CPU.
- Topología de red y administradores SNMP: entienda la configuración de red e identifique todos los administradores SNMP que interactúan con el WLC.
- Tiempo de actividad del sistema: compruebe el tiempo transcurrido desde el último reinicio para ver si existe una correlación entre el tiempo de actividad y la utilización de la CPU.
- Cambios recientes: Observe cualquier cambio reciente en la configuración o red del WLC que pueda haber coincidido con el comienzo del uso elevado de la CPU.
- 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. Si sus consultas SNMP están consumiendo ciclos de CPU WLC y causando problemas de funcionamiento, sería mejor pasar a la telemetría.
Conclusión
Al analizar metódicamente los datos de uso de la CPU y correlacionarlos con las actividades de sondeo SNMP, puede resolver problemas de uso elevado de la CPU causados por procesos SNMP en el WLC Cisco 9800. La supervisión posterior a la implementación es esencial para confirmar el éxito de los esfuerzos de resolución de problemas y para mantener un rendimiento óptimo de la red.
Información Relacionada