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 explica cómo resolver problemas de uso excesivo de la CPU en un router debido al proceso del MOTOR SNMP que se ejecuta en el router, especialmente en los routers de menor capacidad.
Quienes lean este documento deben tener conocimiento de los siguientes temas:
SNMP (Protocolo de administración de red simple)
IOS de Cisco
La información en este documento se basa en los routers que ejecutan Cisco IOS® Software.
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. If your network is live, make sure that you understand the potential impact of any command.
For more information on document conventions, refer to the Cisco Technical Tips Conventions.
A veces, mensajes como este pueden aparecer en la consola del router:
%SNMP-3-CPUHOG: Processing [chars] of [chars]
Significan que el agente SNMP en el dispositivo ha tardado demasiado en procesar una solicitud.
Puede determinar la causa de una alta utilización de la CPU en un router mediante el resultado del comando show process cpu.
El siguiente ejemplo muestra el resultado del comando show process cpu.
cacuk#show process cpu CPU utilization for five seconds: 0%/0%; one minute: 0%; five minutes: 0%
PID | Tiempo de ejecución (ms) | Llamado | uSecs | 5Seg | 1Min | 5 min | TTY | Proceso |
---|---|---|---|---|---|---|---|---|
1 | 68 | 258816 | 0 | 0.00% | 0.00% | 0.00% | 0 | Medidor de carga |
2 | 0 | 1 | 0 | 0.00% | 0.00% | 0.00% | 0 | OSPF Hello |
3 | 788132 | 131480 | 5994 | 0.00% | 0.00% | 0.00% | 0 | Check heaps |
4 | 0 | 1 | 0 | 0.00% | 0.00% | 0.00% | 0 | Administrador de fragmentos |
5 | 56 | 131 | 427 | 0.00% | 0.00% | 0.00% | 0 | Administrador de agrupamientos |
69 | 202700 | 421730 | 480 | 0.00% | 0.01% | 0.00% | 0 | IP SNMP |
71 | 1193648 | 211250 | 5650 | 0.00% | 0.19% | 0.15% | 0 | MOTOR SNMP |
El comando debug snmp verifica qué ID de objeto (OID) o base de información de administración (MIB) se consultan en ese momento.
Nota: La ejecución de un debug en una red de producción puede saturar al router.
Existen dos causas probables para que se produzca la alta utilización de CPU con relación a un protocolo de administración de red simple (SNMP):
Tablas ARP y/o de ruta grandes sondeadas por la estación NMS
Sondeo de ciertas MIB
La estación de administración de red consulta a los routers de toda su tabla de rutas para obtener información sobre otras redes. Utiliza esta información para encontrar otros routers y consultarlos acerca de su conocimiento de las redes a su alrededor. De esta manera, la estación de administración puede aprender la topología de toda la red.
El router almacena la tabla de rutas en un formato hash, más propicio para búsquedas de rutas rápidas. Sin embargo, las respuestas SNMP para la ruta deben devolverse en orden lexicográfico según RFC1213. Por eso, para cada solicitud SNMP recibida por el router, la tabla hash debe ser ordenada en forma lexicográfica antes de poder construir una PDU en respuesta a SNMP. Cuanto más grande la tabla del router, cuanto más intensa es la CPU.
SNMP es un proceso de baja prioridad en lo que respecta al planificador de CPU, por lo que otro proceso que requiere recursos de CPU tiene prioridad. Por lo tanto, mientras los picos de la CPU ocurren en este escenario, no deben afectar el desempeño.
Para evitar problemas de rendimiento, fuerce al router a finalizar de manera prematura las consultas de la tabla de rutas del servidor de sistema de administración de la red. Configure el router para que responda con un mensaje completo tan pronto como reciba el inicio de una solicitud para la tabla de ruta, de la siguiente manera:
snmp-server view cutdown iso included !--- ISO is used as a starting point as it is the snmp 'root'. snmp-server view cutdown 1.3.6.1.2.1.4.21 excluded snmp-server view cutdown 1.3.6.1.2.1.4.22 excluded snmp-server view cutdown 1.3.6.1.2.1.3 excluded snmp-server view cutdown 1.3.6.1.6.3.15 excluded !--- The additional object snmpUsmMIB is excluded. snmp-server view cutdown 1.3.6.1.6.3.16 excluded !--- The additional object snmpVacmMIB is excluded. snmp-server view cutdown 1.3.6.1.6.3.18 excluded !--- The additional object snmpCommunityMIB is excluded. snmp-server community public view cutdown RO snmp-server community private view cutdown RW
Precaución: En el ejemplo anterior, se excluye snmpUsmMIB, se excluye snmpVacmMIB y se excluye snmpCommunityMIB. Se pueden usar estos objetos juntos, para obtener información sobre usuarios configurados y cadenas de comunidad y ganar acceso administrativo al dispositivo. Se recomienda excluir estos objetos de la vista en cualquier dispositivo al que puedan acceder los usuarios públicos.
Esta configuración bloquea las solicitudes para recuperar la tabla de rutas (Tabla de Ruta-ip) y la tabla del protocolo de resolución de direcciones (ARP) (Red-ip en tabla de medios) pero permiten que pasen todas las demás solicitudes. Si tiene versiones anteriores del software Cisco IOS®, no reconocerá el objeto MIB ipRouteTable, así que utilice la siguiente configuración en su lugar:
snmp-server view cutdown iso included !--- ISO is used as a starting point as it is the snmp 'root'. snmp-server view cutdown 1.3.6.1.2.1.4.21 excluded snmp-server view cutdown 1.3.6.1.2.1.4.22 excluded snmp-server view cutdown at excluded snmp-server view cutdown 1.3.6.1.6.3.15 excluded !--- The additional object snmpUsmMIB is excluded. snmp-server view cutdown 1.3.6.1.6.3.16 excluded !--- The additional object snmpVacmMIB is excluded. snmp-server view cutdown 1.3.6.1.6.3.18 excluded !--- The additional object snmpCommunityMIB is excluded. snmp-server community public view cutdown RO snmp-server community private view cutdown RW
Precaución: En el ejemplo anterior, se excluye snmpUsmMIB, se excluye snmpVacmMIB y se excluye snmpCommunityMIB. Se pueden usar estos objetos juntos, para obtener información sobre usuarios configurados y cadenas de comunidad y ganar acceso administrativo al dispositivo. Se recomienda excluir estos objetos de la vista en cualquier dispositivo al que puedan acceder los usuarios públicos.
En ambos ejemplos, puede sustituir sus propias cadenas de comunidad.
El resultado de estas configuraciones es que el router ya no devuelve la tabla ARP ni la tabla de ruta del IP cuando se lo solicita. Esto evita las detecciones de la red SNMP relacionadas con la generación de los picos de CPU en el router en cuestión, pero además elimina el grado de posibilidad de administración del router.
Los routers que antes no presentaban picos de CPU podrían comenzar a hacerlo si se produce un cambio en la tabla de ruteo. La cantidad de ciclos necesarios para responder a las solicitudes de la tabla de ruteo del IP es una función del número de routers en la tabla de ruteo. Si el número de rutas aumenta, el uso de la CPU también aumenta.
Se realizó un cambio en el código de Cisco IOS para permitir que SNMP consulte la tabla Cisco Express Forwarding (CEF) para las entradas de ruteo si se utiliza la conmutación CEF. Esto mejora la situación de manera significativa. Con CEF habilitado, el agente SNMP responde a una operación get-next/get-bulk para las tablas de ruteo o ARP con información de la Base de información de reenvío (FIB). El FIB se almacena en orden lexicográfico y no se necesita clasificación. Sin CEF activado, el agente SNMP responde con información de la base de información de routing (RIB), que se debe ordenar en orden lexicográfico que provoca un uso elevado de la CPU.
Siga el link bug ID a continuación y verá información detallada sobre depuración.
CSCdk54265 (sólo clientes registrados) - El CPU HOG se genera al sondear la tabla de ruteo a través de SNMP desde la Estación de administración de red.
Las aplicaciones de administración de red suelen recuperar información de los dispositivos mediante SNMP. Un ejemplo sería Resource Manager Essentials (RME), una aplicación del conjunto de productos CiscoWorks 2000. RME puede recuperar la información de flash definida en CISCO-FLASH-MIB. Si el dispositivo tiene un disco flash ATA, puede hacer que la utilización de la CPU salte.
Siga el link bug ID a continuación y verá información detallada sobre depuración.
CSCdt97325 (sólo clientes registrados)
Para verificar y aplicar la solución alternativa, siga estos pasos:
Verifique si el dispositivo tiene una tarjeta Flash ATA en una de sus ranuras:
Router#show disk1: ******** ATA Flash Card Geometry/Format Info ******** ATA CARD GEOMETRY Number of Heads: 12 Number of Cylinders 906 Sectors per Cylinder 63 Sector Size 512 Total Sectors 684936 ATA CARD FORMAT Number of FAT Sectors 84 Sectors Per Cluster 32 Number of Clusters 21372 Number of Data Sectors 684117 Base Root Sector 169 Base FAT Sector 1 Base Data Sector 201 Router#
Si no está seguro o si no obtiene resultados para el comando show diskX, ejecute el comando show tech y realice una búsqueda de disco.
Una vez que sabe que tiene un disco Flash ATA, puede aplicar la siguiente solución para evitar las consultas SNMP en FLASH-MIB:
Router(config)#snmp-server viewiso included !--- ISO is used as a starting point as it is the snmp 'root'. Router(config)#snmp-server viewciscoFlashMIB excluded !--- The additional object snmpUsmMIB is excluded. Router(config)#snmp-server view1.3.6.1.6.3.15 excluded !--- The additional object snmpVacmMIB is excluded. Router(config)#snmp-server view1.3.6.1.6.3.16 excluded !--- The additional object snmpCommunityMIB is excluded. Router(config)#snmp-server view1.3.6.1.6.3.18 excluded Router(config)#snmp-server communityview Router(config)#snmp-server communityro view Router(config)#exit Router#rw
Nota: Elija la misma palabra en cada línea para <any_word> en la configuración anterior.
Precaución: En el ejemplo anterior, se excluye snmpUsmMIB, se excluye snmpVacmMIB y se excluye snmpCommunityMIB. Se pueden usar estos objetos juntos, para obtener información sobre usuarios configurados y cadenas de comunidad y ganar acceso administrativo al dispositivo. Se recomienda excluir estos objetos de la vista en cualquier dispositivo al que puedan acceder los usuarios públicos.
Verifique que esté correctamente implementado:
Router#show run ... snmp-server viewiso included !--- ISO is used as a starting point as it is the snmp 'root'. snmp-server viewciscoFlashMIB excluded snmp-server view !--- The additional object snmpUsmMIB is excluded. snmp-server viewinternet.6.3.15 excluded internet.6.3.16 excluded !--- The additional object snmpVacmMIB is excluded. snmp-server viewinternet.6.3.18 excluded !--- The additional object snmpCommunityMIB is excluded. snmp-server communityview RW snmp-server community view RO
Nota: <any_word>, <write_community_string> y <read_community_string> son las que están en la configuración.
Precaución: En el ejemplo anterior, se excluye snmpUsmMIB, se excluye snmpVacmMIB y se excluye snmpCommunityMIB. Se pueden usar estos objetos juntos, para obtener información sobre usuarios configurados y cadenas de comunidad y ganar acceso administrativo al dispositivo. Se recomienda excluir estos objetos de la vista en cualquier dispositivo al que puedan acceder los usuarios públicos.
Ejecute el comando show proc cpu para verificar si la CPU-Util para SNMP deja de funcionar y busque el proceso IP_SNMP.
Nota: El bug CSCdt97325 también se ha corregido en algunas versiones posteriores de Cisco IOS, así que verifique el bug para ver cualquier detalle.
Otros desperfectos relacionados con las MIB de sondeo.
Siga los enlaces de ID de bug de Cisco a continuación y vea información detallada de bug.
CSCdm67427 (sólo clientes registrados) - Si se sondea la subinterfaz ATM, se devuelve el mensaje de CPU HOG del dispositivo.
CSCdu63734 (sólo clientes registrados) - Flash MIB realiza demasiadas llamadas a ifs.
CSCdu48652 (sólo clientes registrados) - La consulta de Flash MIB cuelga las llamadas de voz en 7200.
CSCds53368 (sólo clientes registrados) - Problemas con el objeto ciscoFlashPartitionEntry en CISCO-FLASH-MIB.
CSCdu55091 (sólo clientes registrados) - 2500 snmpgetnext para ciertos objetos SNMP causa seguimiento.
CSCdx54836 (sólo clientes registrados) - El sondeo SNMP en Flash MIB causa una alta utilización de la CPU en el switch.
Revisión | Fecha de publicación | Comentarios |
---|---|---|
1.0 |
27-Feb-2014 |
Versión inicial |