Introducción
Este documento describe la supervisión del uso de la CPU para solucionar problemas de uso elevado de la CPU en el proceso SNMP.
Prerequisites
Requirements
Cisco recomienda que tenga conocimientos básicos sobre el WLC serie 9800 de Cisco IOS®-XE.
Componentes Utilizados
La información de este documento se basa en las versiones de hardware del WLC serie 9800 de Cisco IOS®-XE y no está restringida a versiones de software específicas.
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.
Background Información
Necesitamos confirmar si SNMP es el que tiene mayor utilización. Para realizar una investigación más detallada, recopile estos registros durante el horario no laborable en el que se detecte el problema, ya que pueden afectar al rendimiento.
Monitor
Ejemplo:
ID Tiempo de ejecución (ms) Llamado uSecs 5Seg 1Min 5 min TTY Proceso
736 6846005 11045858 619 88,09% 9,15% 3,28% 0 MOTOR SNMP
Troubleshoot
Abra dos sesiones CLI de WLC para recopilar estos registros:
Session-1: show snmp stats hosts
Debug snmp packet Debug snmp detail terminal monitor
Sesión 2: Estas estadísticas muestran la salida para un intervalo y permiten que el servicio interno ejecute esto.
Conf t Service internal end wr test snmp cpu-stats start show snmp cpu-stats test snmp cpu-stats stop
Además, verifique la MIB que se está utilizando para el sondeo en el servidor SNMP cuando se observe el problema.
Script EEM
Siga los pasos de las horas de no producción.
Paso 1. Ejecute estos comandos
Conf t
Servicio interno
Finalizar
guerra
Paso 2. Habilite el script EEM para estadísticas snmp (copie y pegue este script en la CLI del controlador):
Conf t
no event manager applet snmp-1
Event Manager Applet SNMP-1
event none maxrun 2000
action 10 cli command "enable"
action 11 cli command "terminal leng 0"
La acción 11.1 pone "Script starts"
action 12 cli command "debug snmp packet"
action 13 cli command "debug snmp detail"
action 14 cli command "debug snmp request"
action 20.1 cli command "show clock"
action 21 regexp "(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) ([1-9]|0[1-9]|[1-2][0-9]|3[0-1]) (20[1-9][0-9])" "$_cli_result" time2 month day year
la acción 22 pone "$time2"
acción 23 pone "$month"
acción 24 pone "$day"
acción 25 pone "$year"
action 26 cli command "show clock | append flash:/snmp-cpu-logs-$year$month$day.txt"
action 27 cli command "show snmp stats hosts | append flash:/snmp-cpu-logs-$year$month$day.txt"
action 30 cli command "test snmp cpu-stats start"
acción 35 set iter 1
acción 36 mientras que $iter le 6
action 40 cli command "show snmp cpu-stats | append flash:/snmp-cpu-logs-$year$month$day.txt"
acción 40.1 pone "Iterator:$iter"
acción 41 esperar 300
action 43 cli command "show clock | append flash:/snmp-cpu-logs-$year$month$day.txt"
acción 44 incrementment iter 1
acción 45 fin
action 50 cli command "test snmp cpu-stats stop"
action 55 cli command "no debug snmp packet"
action 56 cli command "no debug snmp detail"
action 57 cli command "no debug snmp request"
La acción 58 pone "Fin del guión"
Finalizar
guerra
Paso 3. Ejecute el script anterior con este comando: #event manager run snmp-1
Nota: Durante las horas no laborables, cuando se detecta un problema, active el script mediante el comando,
Espere a que la secuencia de comandos finalice el mensaje en la CLI. Normalmente toma 30 minutos.
Paso 4. La secuencia de comandos anterior tardaría un máximo de 30-40 minutos en ejecutarse e indicaría el mensaje "La secuencia de comandos finaliza".
Hay un "Iterator" que debe completarse después de que vea el mensaje "Script ends" (Finaliza el script)
Una vez que el script finaliza, vaya a GUI > Administration > File Manager > Bootflash. Haga clic con el botón derecho del ratón en el registro snmp-cpu-logs.txt para descargarlo y compartirlo con el TAC.
Paso 5. Verifique el archivo MIB que se está utilizando para sondear el WLC durante el tiempo del problema.
Una salida de referencia de ejemplo puede tener el siguiente aspecto:
DR 5sec% 1min% 5min% Running(ms) Time(usecs) Invoked OID
556272A00320 0,00 6,03 3,30 59 59408 44 vmMembershipSummaryEntry.2
556272A00320 50,48 9,68 4,09 59 59659 44 vmMembershipSummaryEntry.3
556272A00320 0,23 1,60 2,23 0 8333 6 clcCdpApCacheApName
556272A00320 0,19 1,62 2,24 2 6999 5 bsnDot11EssMacFiltering
556272A00320 0,23 1,60 2,23 2 3792 24 bsnDot11EssAdminStatus
556272A00320 0,23 1,60 2,23 2 4000 2 bsnDot11EssSecurityAuthType
556272A00320 0,23 1,60 2,23 2 3541 24 bsnDot11EssRowStatus
556272A00320 0,23 1,60 2,23 2 3500 2 bsnDot11EssWmePolicySet
La utilización de SNMP por encima del 70-90% para C9800-40 es normal.
Conclusión
Si se utiliza SNMP para sondear diferentes OID, la CLI debe configurarse como práctica recomendada para reducir el posible impacto en la CPU del C9800: C9800config)#snmp-server subagent cache
Con este comando, la memoria caché se borra después de 60 segundos. Para cambiar el intervalo, utilice esta CLI:
C9800(config)#snmp-server subagent cache timeout ?
<1-100> intervalo de tiempo de espera de caché (predeterminado: 60 segundos)
Si el núcleo no se va a utilizar más en el proceso SNMP, limite el sondeo SNMP del servidor que utiliza la MIB. Inhabilite el identificador de objeto de tiempo de cola alto del servidor SNMP MIB/.
Un objeto SNMP de cola alta de la MIB se puede inhabilitar o quitar.
Esta es la lista de referencia que se podría deshabilitar si no fuera necesario:
clcCdpApCacheApName
bsnDot11EssMacFiltering
bsnDot11EssAdminStatus
bsnDot11EssSecurityAuthType
bsnDot11EssRowStatus
bsnDot11EssWmePolicySetting
bsnMobileStationIpAddress
bsnMobileStationUserName
bsnMobileStationAPMacAddr
bsnMobileStationAPIfSlotId
bsnMobileStationEssIndex
bsnMobileStationSsid
bsnMobileStationAID
bsnMobileStationStatus
bsnAPIfDot11BeaconPeriod
bsnGlobalDot11OpciónDePrivacidadImplementada
bsnGlobalDot11MultiDomainCapabilityImplemented
bsnGlobalDot11MultiDomainCapabilityEnabled
bsnGlobalDot11ÍndiceDePaíses
bsnGlobalDot11Equilibrio de carga
bsnGlobalDot11bDot11gSupport
El objeto "bsn station" en SNMP tardaría tiempo en la cola para obtener detalles adicionales.
Sugerencia: la práctica recomendada es reducir el intervalo de sondeo en función del número de nodos de la red y eliminar los MIB que no son necesarios
Información Relacionada
Para obtener más información sobre SNMP en C9800, consulte este enlace: