Introduction
Ce document décrit le protocole SNMP (Simple Network Management Protocol) et comment tester sa fonctionnalité sur un périphérique.
Exigences
Conditions préalables
Cisco vous recommande de connaître le protocole SNMP et ses communications avec le serveur NMS (Network Management System).
Composants utilisés
Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :
-
SNMP
-
Cisco WS-C3650-12X48UZ
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.
Conventions
Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.
Dépannage des erreurs les plus courantes
1. Message d'erreur : "%SNMP-3-RESPONSE_DELAYED : traitement de GetNext de "Any OID"."
GetNext of ciscoMgmt.810.1.2.1.1 (24004 msecs)
*May 24 01:30:48.463: %SNMP-3-RESPONSE_DELAYED: processing GetNext of ciscoMgmt.810.1.2.1.1 (24008 msecs)
---> In this scenario ciscoMgmt.810.1.2.1.1 is the OID causes the issue.
*May 24 01:31:12.477: %SNMP-3-RESPONSE_DELAYED: processing GetNext of ciscoMgmt.810.1.2.1.1 (24012 msecs)
*May 24 01:31:36.486: %SNMP-3-RESPONSE_DELAYED: processing GetNext of ciscoMgmt.810.1.2.1.1 (24008 msecs)
*May 24 01:32:00.503: %SNMP-3-RESPONSE_DELAYED: processing GetNext of ciscoMgmt.810.1.3.1.1 (24016 msecs)
*May 24 01:32:24.515: %SNMP-3-RESPONSE_DELAYED: processing GetNext of ciscoMgmt.810.1.3.1.1 (24012 msecs)
*May 24 01:32:48.528: %SNMP-3-RESPONSE_DELAYED: processing GetNext of ciscoMgmt.810.1.3.1.1 (24012 msecs)
*May 24 01:33:12.537: %SNMP-3-RESPONSE_DELAYED: processing GetNext of ciscoMgmt.810.1.3.1.1 (24008 msecs)
Pour résoudre les problèmes :
Vérifiez la configuration SNMP sur le périphérique. Pour SNMPv2, il doit ressembler à ceci :
snmp-server community TAC1 RO
snmp-server community TAC2 RO --> If multiple communities are added to device.
Pour SNMPv3 :
snmp-server view TESTV3 iso include
#snmp-server group TestGroupV3 v3 auth read TESTV3
#snmp-server user cisco TestGroupV3 v3 auth md5 ciscorules priv des56 cisco123
Passez en mode de configuration du périphérique et ajoutez une vue à la configuration SNMP pour la modifier.
Pour SNMPv2 :
snmp-server community TAC1 RO view cutdown RO
snmp-server community TAC2 RO view cutdown RO
Quelques lignes du mode de configuration :
snmp-server view cutdown iso included
snmp-server view cutdown ciscoMgmt.810 excluded -->>>
The Idea is to exclude the OID causes the issue, however,
please read out what is the function of the OID that that is excluded.
Pour SNMPv3 :
#snmp-server view TESTV3 internet included
#snmp-server view TESTV3 ciscoMgmt.810 excluded
#snmp-server group TestGroupV3 v3 priv write TESTV3
2. Message d'erreur « High CPU Utilization due to SNMP Flash Cache ».
#show processes cpu sorted
CPU utilization for five seconds: 99%/0%; one minute: 22%; five minutes: 18%
PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process
447 561399 143012 3925 0.00% 1.58% 1.83% 0 Snmp Flash Cache
Journaux SNMP :
%SYS-2-SIGPENDING : plusieurs signaux sont envoyés à un processus 91 -Process= "Snmp Flash Cache", ipl= 0, pid= 91.
888888888888888888888888888888888888888888888898878889
625424254283314655456532533533772205363424335694492379
100 * *
90 * * * * *** *** * * ** * * *** **
80 ******************************************************
70 ******************************************************
60 ******************************************************
50 ******************************************************
40 ######################################################
30 ######################################################
20 ######################################################
10 ######################################################
0....5....1....1....2....2....3....3....4....4....5....5....6....6....7..
Pour contourner ce problème :
Le processus de collecte de données de la base MIB Flash est désactivé par défaut. S'il est activé avec l'utilisation de la commande snmp mib flash cache (éventuellement après un rechargement), il peut causer un CPU élevé dans certains cas.
Utilisez la commande #no snmp mib flash cache en mode de configuration.
Ou installez ce script EEM :
event manager applet SNMP authorization bypass
event syslog pattern "SYS-5-RESTART"
action 11 cli command "enable"
action 12 cli command "conf t"
action 13 cli command "no snmp mib flash cache"
action 14 cli command "end"
3. Message d'erreur : "%SNMP-3-INPUT_QFULL_ERR : Paquet abandonné en raison de la file d'attente d'entrée saturée"
Une erreur de file d'attente pleine peut être due à une interrogation massive sur le périphérique ou à un OID spécifique qui provoque le problème. Pour pallier ce problème, vérifiez d'abord si le périphérique est fortement interrogé.
Pour ce faire, exécutez cette commande :
B02#show snmp stats oid
time-stamp #of times requested OID
15:40:19 BKK Dec 27 2019 11180008 ifAlias
15:40:19 BKK Dec 27 2019 44018183 dot1dBasePortEntry.4
15:40:19 BKK Dec 27 2019 44018212 dot1dBasePortEntry.3
15:40:19 BKK Dec 27 2019 45216156 ipNetToPhysicalEntry.4
15:40:19 BKK Dec 27 2019 44018059 dot1dBasePortEntry.5
15:40:19 BKK Dec 27 2019 44578303 dot1dBasePortEntry.1
15:40:19 BKK Dec 27 2019 6011756 dot3StatsEntry.19
15:40:19 BKK Dec 27 2019 11095925 ifSpeed
15:40:19 BKK Dec 27 2019 12879927 dot1dTpFdbEntry.3
15:40:19 BKK Dec 27 2019 84535 vmMembershipSummaryEntry.2
15:40:19 BKK Dec 27 2019 3241107 vmMembershipSummaryEntry.3
15:40:19 BKK Dec 27 2019 45208908 ipNetToMediaEntry.2
15:40:19 BKK Dec 27 2019 45223410 ipNetToPhysicalEntry.6
15:40:19 BKK Dec 27 2019 44018324 dot1dBasePortEntry.2
Pour résoudre les problèmes :
Vous devez modifier les paramètres de votre NMS et réduire les intervalles d'interrogation du périphérique. Une fois l'intervalle d'interrogation réduit, l'erreur de file d'attente complète doit être atténuée. Si ce n'est pas le cas, vous devez vérifier l'OID qui cause le problème. Pour trouver l'OID à l'origine du problème et le résoudre, reportez-vous au message d'erreur 1 mentionné précédemment.
4. Message d'erreur : "High CPU used due to SNMP ENGINE".
Identifiez le problème :
Le routeur souffre d'une CPU élevée au moment où il est interrogé par un client, et ceci peut être vérifié avec la commande #show process cpu <sorted> au moment de la CPU élevée. Vous pouvez voir que le processus SNMP Engine prend toutes les ressources CPU :
#show processes cpu sorted
CPU utilization for five seconds: 99%/0%; one minute: 22%; five minutes: 18%
PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process
189 1535478456 697105815 2202 88.15% 13.40% 8.74% 0 SNMP ENGINE
L'OID problématique entraîne un ralentissement du CPU élevé par rapport aux autres, ce qui peut également entraîner un certain délai d'attente lorsque le client demande cet OID. La plupart des méthodes tentent de trouver l'OID qui fournit une réponse plus lente. C'est parce qu'ils sont les plus susceptibles de causer le CPU élevé. Une fois l'OID identifié, vous pouvez verrouiller cet OID respectif afin de limiter les erreurs.
Remarque : si aucune des méthodes répertoriées ici ne permet d'identifier un OID à l'origine du problème, veuillez ouvrir un dossier auprès du TAC.
Méthode 1. Utilisez la commande show snmp stats oid.
La commande show snmp stats oid affiche le dernier OID qui a été interrogé. Il affiche l'horodatage dans l'ordre, l'objectif est d'identifier l'OID qui n'a pas répondu lentement. Cette commande est également utile si vous souhaitez rechercher les MIB interrogées le plus souvent par le client.
#show snmp stats oid
time-stamp #of times requested OI
14:34:38 CET Oct 25 2020 24 atEntry.2
14:34:29 CET Oct 25 2020 40 atEntry.1
14:34:11 CET Oct 25 2020 11 ifOutErrors
14:34:07 CET Oct 25 2020 10 ifOutDiscards
14:34:06 CET Oct 25 2020 10 ifOutUcastPkts
14:34:06 CET Oct 25 2020 10 ifOutOctets
14:34:05 CET Oct 25 2020 10 ifInUnknownProtos
Vous pouvez voir que Entry.1 a mis 18 secondes à être calculé, ce qui suggère que le processeur était occupé afin de calculer ces données.
Méthode 2. Observez le client SNMP.
Afin de trouver l'OID qui est responsable de l'utilisation élevée du CPU sur le périphérique, vous pouvez initier une snmpwalk connexion à un périphérique à partir d'un serveur NMS et observer le résultat. Les OID qui répondent plus lentement que les autres OID peuvent être responsables d'une utilisation élevée du CPU.
Pour résoudre les problèmes :
Vérifiez la configuration SNMP sur le périphérique. Pour SNMPv2, il doit ressembler à ceci :
snmp-server community TAC1 RO
snmp-server community TAC2 RO --> If multiple communities are added to snmp.
snmp-server view TESTV3 iso include
#snmp-server group TestGroupV3 v3 auth read TESTV3
#snmp-server user cisco TestGroupV3 v3 auth md5 ciscorules priv des56 cisco123
Passez en mode de configuration du périphérique et ajoutez une vue à la configuration SNMP pour la modifier.
snmp-server community TAC1 RO view cutdown RO
snmp-server community TAC2 RO view cutdown RO
Ajoutez ces lignes en mode de configuration :
snmp-server view cutdown iso included
snmp-server view cutdown OID _causes_the issue_is _to_excluded excluded
-->>> The Idea is to exclude the OID causes the issue, however,
please read out what is the function of the OID that we are about to exclude.
Informations connexes