Dans le cadre de la documentation associée à ce produit, nous nous efforçons d’utiliser un langage exempt de préjugés. Dans cet ensemble de documents, le langage exempt de discrimination renvoie à une langue qui exclut la discrimination en fonction de l’âge, des handicaps, du genre, de l’appartenance raciale de l’identité ethnique, de l’orientation sexuelle, de la situation socio-économique et de l’intersectionnalité. Des exceptions peuvent s’appliquer dans les documents si le langage est codé en dur dans les interfaces utilisateurs du produit logiciel, si le langage utilisé est basé sur la documentation RFP ou si le langage utilisé provient d’un produit tiers référencé. Découvrez comment Cisco utilise le langage inclusif.
Cisco a traduit ce document en traduction automatisée vérifiée par une personne dans le cadre d’un service mondial permettant à nos utilisateurs d’obtenir le contenu d’assistance dans leur propre langue. Il convient cependant de noter que même la meilleure traduction automatisée ne sera pas aussi précise que celle fournie par un traducteur professionnel.
Ce document décrit les symptômes et les causes courants de l'utilisation élevée du CPU sur les routeurs Cisco et fournit des directives et des solutions pour les problèmes courants.
Cisco vous recommande de prendre connaissance des rubriques suivantes :
Pour des informations concernant les chemins de commutation de logiciel IOS de Cisco, consultez Bases de l'optimisation des performances.
Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.
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.
Cette liste décrit les symptômes courants d'une utilisation élevée du CPU. Si vous remarquez l'un de ces symptômes, résolvez le problème à l'aide des étapes fournies dans ce document.
Des pourcentages élevés dans la show processes cpu
résultat de la commande.
Si vous avez les données de sortie de la commande show processes cpu de votre appareil Cisco, vous pouvez utiliser l’application Cisco CLI Analyzer pour afficher des problèmes potentiels et de correctifs.
Remarque : pour utiliser Cisco CLI Analyzer, vous devez être un utilisateur Cisco enregistré, être connecté et avoir activé JavaScript.
Performance ralentie
Les services du routeur ne répondent pas, par exemple :
Réponse lente en Telnet ou incapable de Telnet vers le routeur
Réponse lente dans la console
Lent ou aucune réponse au ping
Le routeur n'envoie pas les mises à jour de routage aux autres routeurs
Nombre élevé d’erreurs de mémoire tampon
Quand vous remarquez n’importe lequel des Symptômes d’utilisation élevée de l’UCT :
Vérifiez qu'il n'y ait pas de problème de sécurité. Généralement, l'utilisation élevée du CPU est provoquée par un problème de sécurité, tel qu'un ver ou un virus présent dans votre réseau. C'est d'autant plus probable s'il n'y a pas eu de changements récents apportés à votre réseau. En général, une modification de la configuration, lorsque vous ajoutez des lignes supplémentaires à vos listes d’accès, peut atténuer les effets de ce problème. Notifications et conseils de sécurité au sujet des produits Cisco contient des informations sur la détection des causes le plus probables et des solutions alternatives spécifiques.
Pour des informations supplémentaires, référez-vous à :
Assurez-vous que toutes les debug
commandes de votre routeur sont désactivées avec undebug all
ces no debug all
commandes.
Pouvez-vous exécuter des show
commandes sur le routeur ? Si oui, commencez à collecter immédiatement des informations supplémentaires à l'aide de ces show
commandes.
Le routeur est-il inaccessible ? Pouvez-vous reproduire ce problème ? Si la réponse est oui, mettez le routeur hors tension puis sous tension et, avant de reproduire le problème, configurez la commande scheduler interval 500
. Ceci programme les processus à priorité basse pour qu'ils se lancent toutes les 500 millisecondes, ce qui vous donne le temps de lancer plusieurs commandes, même si l'utilisation du CPU est à 100 pour cent. Sur les routeurs des gammes Cisco 7200 et Cisco 7500, utilisez la scheduler allocate 3000 1000
commande.
Le routeur montre-t-il des symptômes d'une utilisation élevée du CPU à des intervalles brefs et imprévisibles ? Si oui, collectez périodiquement le résultat de la commande, show processes cpu
qui indique si l'utilisation élevée du CPU est causée par des interruptions ou par un certain processus. Utilisez ce script UNIX et, en fonction de ce que vous trouvez en premier, modifiez le script pour collecter les données nécessaires à une étude plus approfondie du problème.
Utilisez la commande show processes cpu pour contrôler si l'utilisation du CPU est due aux interruptions ou aux processus.
Pour plus d'informations, référez-vous à Résolution des problèmes d'utilisation élevée du CPU provoquée par des interruptions. Si le niveau du CPU augmente en raison d'interruptions qui sont probablement dues à la commutation de paquets CEF, le niveau du CPU n'affecte pas le fonctionnement du routeur.
Si NetFlow est configuré pour la version 7, le flux est exécuté par le processeur de routage, ce qui peut entraîner une utilisation élevée du processeur.
Pour dépanner l'utilisation élevée du CPU due à NetFlow version 7, configurez expéditeur du noeud mls version 5, car l'exportation NetFlow est effectuée par le SP, qui est la valeur par défaut pour la version 5 ou la version 9.
Vérifiez quel processus charge le processeur. Activité inhabituelle liée à des résultats de processus dans un message d'erreur dans le log. Par conséquent, la sortie de la commande doit d'abord être vérifiée pour show logging exec
toutes les erreurs liées au processus qui consomme beaucoup de cycles CPU.
Vous pouvez utiliser les commandes debug pour dépanner l'utilisation élevée du CPU dans ces processus. Les commandes de débogage doivent être exécutées avec une extrême prudence, car elles peuvent augmenter encore plus l'utilisation du CPU. Ces conditions préalables doivent être remplies pour que les commandes debug puissent être utilisées en toute sécurité :
Toutes les destinations de journalisation, à l'exception de la journalisation en mémoire tampon, doivent être désactivées ou leur niveau de gravité de journalisation doit être abaissé de 7 (débogage) à 6 (information) ou moins, à l'aide de la logging destination [ severity-level ] configuration
commande appropriée. Pour savoir quelles destinations de journalisation et quels niveaux correspondants sont activés, lisez les lignes d'en-tête de la show logging exec
commande.
La taille de la mémoire tampon de journalisation doit être augmentée afin de capturer suffisamment d'informations. Pour plus de détails, reportez-vous à la description de la logging buffer global configuration
commande.
Afin de pouvoir mieux lire et comprendre les débogages, les horodatages datetime et milliseconde doivent être activés. Pour plus de détails, reportez-vous à la description de la commande service timestamps global configuration
.
Un exemple de session de débogage de paquets IP est fourni dans Troubleshoot High CPU Utilization due to Input Process.
Pour dépanner une utilisation CPU élevée dans des processus spécifiques, référez-vous à :
Entrée ARP : section Entrée ARP du document Dépannage de l'utilisation élevée du CPU due aux processus.
Routeur BGP - Section « CPU élevé dû au processus du routeur BGP » du document « Dépannage du CPU élevé causé par le scanner BGP ou le processus du routeur BGP ».
Scanneur BGP : section Dépannage du CPU élevé dû au scanner BGP du document Dépannage du CPU élevé causé par le scanner BGP ou le processus du routeur BGP.
EXEC : utilisation CPU élevée dans les processus EXEC et EXEC virtuel.
HyBridge Input : dépannage de l'utilisation élevée du processeur due au processus d'entrée HyBridge sur les routeurs dotés d'interfaces ATM.
IP Input : dépannage de l'utilisation élevée du CPU en raison du processus d'entrée IP.
Protocole SNMP (IP Simple Network Management Protocol) : le protocole SNMP (IP Simple Network Management Protocol) entraîne une utilisation élevée du processeur.
LC ADJ Updater - Quelle est la cause d'une utilisation élevée du CPU dans le processus LC Adjacency Updater des routeurs Internet de la gamme Cisco 12000 ?
TCP Timer : section TCP Timer du document Dépannage d'une utilisation CPU élevée due aux processus.
TTY Background : section TTY Background du document Dépannage de l'utilisation élevée du CPU due aux processus.
EXEC virtuel : voir le lien pour l'EXEC. Utilisation du CPU élevée dans les processus Exec et Virtual Exec.
Vtemplate Backgr - Section Virtual Template Background du document Dépannage de l'utilisation élevée de l'UC due aux processus.
Processus SSH : peut être élevé s'il capture unshow tech
ou si un débogage est activé.
Autres processus : section Autres processus du document, Dépannage de l'utilisation élevée du CPU due aux processus.
Il est normal de voir peu de mémoire libre avec les pools PCI et Mémoire rapide. La mémoire PCI est utilisée pour l'accès mémoire au contrôleur GT64260 de la carte principale PRP pour les bus PCI qui y sont connectés. Cette mémoire est utilisée pour la communication interne entre le contrôleur système et les autres composants, c'est pourquoi elle semble élevée en permanence.
Si plus de mémoire est nécessaire, elle retombe au pool de mémoire du processeur. La mémoire rapide est un petit ensemble de mémoire qui a été mis de côté pour être utilisé par les structures de données du matériel Interface Descriptor Block (IDB). Cette mémoire est également complètement réservée au cours du démarrage, c'est pourquoi elle s'affiche toujours comme élevée puisque la mémoire est complètement utilisée. Pour cette raison, il est normal de voir peu mémoire libre avec le pool de mémoire rapide.
Le message de monopolisation CPU ressemble à ceci :
SNMP-4-HIGHCPU: Process exceeds 200ms threshold (200ms Cisco IOS quantum) for GET of rmon.19.16.0--result rmon.19.16.0
Un nouveau message syslog (HIGHCPU) a été ajouté à Cisco IOS dans la version 12.4(13). Si un processus sollicite le CPU pour plus de 200 ms, il enregistre un message HIGHCPU. Le message HIGHCPU n'a aucune incidence sur le routeur. Il vous fait juste savoir quel processus a entraîné l'utilisation élevée du CPU. Le message HIGHCPU est semblable au message CPUHOG, mais le message HIGHCPU a un seuil de tolérance, à 1/10 du temps comparé à un message CPUHOG, c.-à-d., mesuré en millisecondes). Dans les versions antérieures à la version 12.4(13) sur le 2600, les processus s'exécutaient plus longtemps, mais ne généraient pas de messages, car les versions de Cisco IOS ne comportaient pas cette amélioration.
SNMP PDU processing (MIB object queries) sont censées être exécutées dans une seule tranche de temps de CPU pour s'assurer que chaque objet dans le PDU est récupéré simultanément. C'est une condition imposée par la norme du protocole SNMP. Certains objets sont des agrégats de beaucoup de données dans le système, ainsi, même s'ils sont des objets simples, il y a beaucoup de traitement impliqué en raison de la manière dont ils sont utilisés. S'ils n'abandonnent pas le CPU, selon les exigences des règles d'instrumentation MIB, il y a une possibilité de ce message d'erreur. De même, si vous interrogez plusieurs objets différents dans le groupe/table du même objet et obtenez le message d'erreur, ce n'est pas inhabituel pour cette même raison.
Ce message est utilisé pour identifier les objets qui utilisent plus de temps d’UCT que prévu (mais qui ne sont pas encore CPUHOG). Certains NMS/ outils d'instrumentation ne se comportent pas bien lorsqu'ils sont interrogés. Ce problème est documenté dans l'ID de bogue Cisco CSCsl18139.
Remarque : seuls les utilisateurs Cisco enregistrés ont accès aux outils internes et aux informations de bogue.
Lorsqu'aucun module de cryptage matériel n'est installé sur le périphérique, tout le trafic crypté transitant par le périphérique doit être crypté par le logiciel. Ceci sollicite énormément le CPU. Il n'est pas recommandé d'utiliser le cryptage logiciel pour tout déploiement de cryptage nécessitant un débit raisonnable. Une manière de résoudre ce problème est de réduire le volume du trafic chiffré (re-router le trafic ou limiter les flux chiffrés). Cependant, la meilleure manière de régler ce problème est d'avoir un module de chiffrement matériel installé pour ce périphérique qui élimine le besoin de chiffrement par le logiciel.
Remarque : si vous activez les crypto-cartes sur les interfaces tunnel/physiques, cela entraîne le processus de consommation de mémoire et peut entraîner une augmentation du CPU.
Les réassemblages peuvent entraîner une augmentation très importante du processeur si celui-ci doit réassembler un grand nombre de paquets.
Pour dépanner l'utilisation élevée du CPU due à la fragmentation, émettez la commande tcp mss-adjust 1400 sur l'interface qui définit la valeur de taille de segment maximale (MSS) des paquets TCP synchronize/start (SYN) qui passent par un routeur.
Ces commandes fournissent plus d'informations au sujet du problème :
show processes cpu
show interfaces
show interfaces switching
show interfaces stat
show ip nat translations
show align
show version
show log
Pour plus de détails sur les commandes show, reportez-vous au manuel Cisco IOS Configuration Fundamentals Command Reference.
Si le routeur est complètement inaccessible, commencez par l'éteindre et le rallumer. Ensuite, collectez périodiquement le résultat des commandes de cette section, à l'exception de la commande, show log
dont les messages doivent être consignés sur un serveur syslog. L'intervalle de collecte du résultat doit être de cinq minutes. Vous pouvez collecter les données manuellement ou automatiquement, avec ce script shell UNIX . Vous pouvez également collecter des données via HTTP ou SNMP.
show processes cpu
commandeVoici un exemple de l'en-tête de cette show processes cpu
commande.
CPU utilization for five seconds: X%/Y%; one minute: Z%; five minutes: W% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process
Cette table décrit les champs dans l'en-tête :
Champ | Description |
---|---|
X |
Utilisation moyenne totale pendant les cinq dernières secondes (interruptions + processus) |
O |
Moyenne de l’utilisation causée par des interruptions au cours des cinq dernières secondes1 |
Z |
Moyenne de l’utilisation totale au cours de la dernière minute2 |
W |
Moyenne de l’utilisation totale au cours des cinq dernières minutes2 |
PID |
ID du processus |
Runtime |
Temps du CPU que le processus a utilisé (en millisecondes) |
Invoked |
Nombre de fois qu'un processus a été appelé |
uSecs |
Microsecondes du temps CPU pour chaque appel |
5Sec |
Utilisation du CPU par tâche pour les cinq dernières secondes |
1Min |
Utilisation de l’UCT par tâche au cours de la dernière minute2 |
5Min |
Utilisation de l’UCT par tâche au cours des cinq dernières minutes2 |
TTY |
Terminal qui contrôle le processus |
Process |
Nom du processus |
1 Utilisation de l’UCT au niveau du processus = X - Y
2 Les valeurs ne représentent pas une moyenne arithmétique, mais une moyenne à décroissance exponentielle. Ainsi, les valeurs les plus récentes ont plus d'influence sur la moyenne calculée.
Pour plus d'informations, reportez-vous au guide de référence des commandes show.
Remarque : l'utilisation totale du CPU ne doit pas être utilisée comme mesure de la capacité du routeur à commuter davantage de paquets. Sur les routeurs Cisco 7500, les Versatile Interface Processors (VIPs) et les Route/Switch Processors (RSPs) n'enregistrent pas l'utilisation linéaire du CPU. Près de la moitié de la puissance de commutation de paquets par seconde intervient après 90 à 95 pourcents du CPU.
show interfaces
commandeCette commande permet de déterminer les interfaces actives.
show interfaces switching
commandeCette commande permet de déterminer les chemins de commutation actifs sur les interfaces.
Voici un exemple de résultat de la commande show interfaces switching
pour une interface :
RouterA#show interfaces switching Ethernet0 Throttle count 0 Drops RP 0 SP 0 SPD Flushes Fast 0 SSE 0 SPD Aggress Fast 0 SPD Priority Inputs 0 Drops 0 Protocol Path Pkts In Chars In Pkts Out Chars Out Other Process 0 0 595 35700 Cache misses 0 Fast 0 0 0 0 Auton/SSE 0 0 0 0 IP Process 4 456 4 456 Cache misses 0 Fast 0 0 0 0 Auton/SSE 0 0 0 0 IPX Process 0 0 2 120 Cache misses 0 Fast 0 0 0 0 Auton/SSE 0 0 0 0 Trans. Bridge Process 0 0 0 0 Cache misses 0 Fast 11 660 0 0 Auton/SSE 0 0 0 0 DEC MOP Process 0 0 10 770 Cache misses 0 Fast 0 0 0 0 Auton/SSE 0 0 0 0 ARP Process 1 60 2 120 Cache misses 0 Fast 0 0 0 0 Auton/SSE 0 0 0 0 CDP Process 200 63700 100 31183 Cache misses 0 Fast 0 0 0 0 Auton/SSE 0 0 0 0
Le résultat répertorie les chemins de commutation pour tous les protocoles configurés sur l'interface, afin que vous puissiez facilement voir quel type et quelle quantité de trafic passe par le routeur. Ce tableau explique les différents champs de résultat.
Champ | Définition |
---|---|
Process |
Paquets traités. Ceux-ci peuvent être des paquets destinés au routeur, ou des packets pour lesquels il n'y avait aucune entrée dans le cache de commutation rapide. |
Cache misses |
Paquets pour lesquels il n'y avait aucune entrée dans le cache de commutation rapide. Le premier paquet pour cette destination (ou flux - dépend du type de commutation rapide configuré) est traité. Tous les paquets suivants sont commutés rapidement, sauf si la commutation rapide est explicitement désactivée sur l'interface de sortie. |
Fast |
Paquets commutés rapidement. La commutation rapide est activée par défaut. |
Auton/SSE |
Paquets commutés autonomes, de silicium ou distribués. Disponible seulement sur les routeurs de la gamme Cisco 7000 avec un processeur de commutateur ou un processeur de commutation par silicium (respectivement pour la commutation autonome ou la commutation par silicium), ou sur les routeurs de la gamme Cisco 7500 avec un VIP (pour la commutation distribuée). |
show interfaces stat
commandeCette commande est une version résumée de cette show interfaces switching
commande. Ceci est un exemple de résultat pour une interface :
RouterA#show interfaces stat Ethernet0 Switching path Pkts In Chars In Pkts Out Chars Out Processor 52077 12245489 24646 3170041 Route cache 0 0 0 0 Distributed cache 0 0 0 0 Total 52077 12245489 24646 3170041
Le résultat de la commande show interfaces stat
est différente selon les plates-formes et dépend des chemins de commutation disponibles et configurés.
show ip nat translations
commandeLa commande show ip nat translations
affiche les traductions NAT (Network Address Translation) actives sur le routeur. Chaque traduction active génère des interruptions du CPU et a une incidence sur l'utilisation totale du CPU du routeur. Un trop grand nombre de traductions peut avoir un impact sur les performances du routeur.
Voici un exemple de résultat de la commande show ip nat translations
:
router#show ip nat translations Pro Inside global Inside local Outside local Outside global --- 172.16.131.1 10.10.10.1 --- ---
show align
commandeCette commande n'est disponible que sur les plates-formes basées sur les processeurs d'ordinateur à jeu d'instructions réduit (RISC). Sur ces plates-formes, le processeur peut corriger les lectures ou écritures de mémoire qui ne s'alignent pas. Voici un exemple de sortie:
Alignment data for: 4500 Software (C4500-DS40-M), Version mis-aligned RELEASE SOFTWARE (fc1) Compiled Tue 31-Mar-98 15:05 by jdoe Total Corrections 33911, Recorded 2, Reads 33911, Writes 0 Initial Initial Address Count Access Type Traceback 40025F4D 15561 16bit read 0x606F4A7C 0x601C78F8 0x6012FE94 0x600102C0 40025F72 18350 32bit read 0x606FB260 0x6013113C 0x600102C0 0x60010988
show version
commandePour suivre les problèmes d'utilisation élevée du CPU, les informations importantes à prendre du résultat de la commande sont la version du logiciel Cisco IOS, la plate-forme, le type de CPU et le temps de disponibilité du routeur. La référence de commande fournit une explication détaillée de cette commande.
show log
commandeCette commande affiche le contenu des messages de journal en mémoire tampon.
Embedded Event Manager peut être utilisé pour collecter automatiquement des données lorsqu'une condition de CPU élevée se produit. EEM est déclenché en surveillant l'OID SNMP pour l'utilisation du processus ou en surveillant les messages syslog pour le résultat de la commande CPU threshold. Diverses commandes show peuvent être exécutées via le script EEM et le résultat peut être enregistré dans le système de fichiers.
Ce script est exécuté lorsque l'utilisation du processus augmente d'environ 85 %.
Pour plus d'informations, consultez Comment collecter l'utilisation du CPU sur les périphériques Cisco IOS à l'aide de SNMP.
event manager applet high-cpu ! event snmp oid 1.3.6.1.4.1.9.9.109.1.1.1.1.3 get-type next entry-op gt entry-val 85 poll-interval 5 exit-time 500 maxrun 600 ! action 0.1 cli command "enable" action 0.2 syslog msg "TAC - Capturing high cpu information to flash:" action 0.3 cli command "term length 0" action 1.1 cli command "show process cpu sorted | redirect flash:eem-cpu1.txt" action 1.2 cli command "show interface | redirect flash:eem-interface1.txt" action 1.3 cli command "show interface stats | redirect flash:eem-stat1.txt" action 1.4 cli command "show ip traffic | redirect flash:eem-traffic1.txt" action 4.1 syslog msg "TAC - Finished logging information to separate eem files in flash" action 9.4 cli command "end" action 9.5 cli command "term default length" ! ! end
Une combinaison de EEM et de la commande CPU threshold notifications peut déclencher le script EEM. Dans cet exemple, un message syslog CPURISHINGTHRESHOLD est généré lorsque l'utilisation augmente de plus de 85 % pendant un intervalle de 5 secondes. Le script EEM peut déclencher le message syslog et exécuter une liste de commandes qui sont enregistrées dans un fichier du système de fichiers.
process cpu threshold type total rising 85 interval 5 ! event manager applet high-cpu event syslog pattern "CPURISINGTHRESHOLD" action 0.1 syslog msg "EEM: HIGH CPU detected. Writing info to flash:eem-log.txt" action 0.2 cli command "enable" action 0.3 cli command "term exec prompt timestamp" action 0.4 cli command "term len 0" action 1.1 cli command "show process cpu sorted | append flash:eem-log.txt" action 1.2 cli command "show proc mem sorted | append flash:eem-log.txt" action 1.3 cli command "show mem alloc total | append flash:eem-log.txt" action 2.2 syslog msg "EEM: Self-removing applet from configuration..." action 2.5 cli command "end" ! end
EEM est utilisé pour démarrer/arrêter le profilage du processeur ainsi que pour consigner les données de diverses commandes show. Voir Dépannage d'une utilisation CPU élevée due à des interruptions pour plus d'informations.
event manager applet High_CPU event snmp oid 1.3.6.1.4.1.9.9.109.1.1.1.1.4.1 get-type exact entry-op ge entry-val "75" exit-time 10 poll-interval 5 action 0.1 syslog msg "CPU Utilization is high" action 0.2 cli command "enable" action 0.4 cli command "show version | append flash:CPU_Profile.txt" action 0.4 cli command "show log | append flash:CPU_Profile.txt" action 0.5 cli command "show process cpu sorted | append flash:CPU_Profile.txt" action 0.6 cli command "show interfaces | append flash:CPU_Profile.txt" action 0.7 cli command "show region | append flash:CPU_Profile.txt" action 1.2 cli command "profile 4000F000 42C9FFFF 4" action 1.3 cli command "profile start" action 2.3 syslog msg "Entering TCLSH" action 2.4 cli command "tclsh" action 2.5 cli command "after 240000" action 2.6 cli command "exit" action 2.9 syslog msg "Exiting TCLSH" action 3.0 cli command "profile stop" action 3.1 cli command "show profile terse | append flash:CPU_Profile.txt" action 3.2 cli command "clear profile" action 3.3 cli command "unprofile all" action 4.1 syslog msg "Finished logging information to flash:CPU_Profile.txt..." action 4.2 cli command "end"
Cette annexe décrit un script simple qui capture régulièrement les données du routeur. Le noyau du script est cette ligne :
(echo "show version") | telnet 192.168.1.1
La commande entre parenthèses est exécutée dans une nouvelle fenêtre de ligne de commande et la sortie est envoyée à une session Telnet. Voici un exemple de script pour capturer le résultat des commandes show version
et show processes cpu
:
#!/opt/local/bin/bash ########################################### # Router's IP address # IP_ADDRESS='10.200.40.53' # Directory where the log files can be stored # DIR=/var/log/router ######################################## if [ ! -e $DIR ] then mkdir $DIR fi # Tag specification: mmddhhmm DATE=`date +'%m%d'` TIME=`date +'%H%M'` TAG=$DATE$TIME # Collect data from the router (echo "foo";\ echo "bar";\ echo "term len 0";\ echo "show version";\ echo "show processes cpu";\ echo "term len 15";\ echo "show memory summary";\ echo "q";\ sleep 30)|telnet $IP_ADDRESS > $DIR/info.$TAG 2>$DIR/info.$TAG.msg
Remarque : dans ce script, toutes les données, y compris le mot de passe, sont envoyées en texte clair.
Dans la première section, vous devez spécifier l'adresse IP et le répertorier de destination pour les fichiers de journalisation. La deuxième section contient les commandes réelles qui sont envoyées au routeur. Le premier est le nom d'utilisateur, puis le mot de passe, et ainsi de suite. Pour capturer uniquement les premières lignes de sortie de certaines commandes est inclus. La longueur du terminal est paramétrée comme quelque chose de court (15 dans ce cas), et la lettre « q » est envoyée seulement par demande.
Si des données sont collectées périodiquement, la sortie de show version
montre si le problème a un caractère périodique, par exemple, s'il apparaît toujours à une certaine heure de la journée ou un jour particulier de la semaine. Si vous devez rassembler la sortie de plus de commandes, elles peuvent être ajoutées au script de la même manière que celles montrées dans l'exemple. Si vous devez tronquer la sortie envoyée vers le fichier, augmentez d'abord la période de veille (la commande Sleep entre parenthèses).
Exécutez ce script toutes les cinq minutes si le problème d'utilisation élevée du CPU apparaît souvent et ne dure pas longtemps. Autrement, vous pouvez l'exécuter toutes les 15 ou 30 minutes. Pour une facilité d'utilisation, sauvegardez le script dans un fichier tel que /usr/bin/router-script. Ensuite, pour l'exécuter toutes les cinq minutes, ajoutez la ligne suivante au fichier /etc/crontab :
*/5 * * * * /usr/bin/router-script
Relancez le serveur cron. Si vous n'avez pas les droits pour modifier le fichier /etc/crontab, exécutez le script dans un processus distinct, comme ceci :
while [ 1 ]; do ./router-script ; sleep 300; done &
Révision | Date de publication | Commentaires |
---|---|---|
2.0 |
30-Nov-2022 |
Mise en forme mise à jour. Recertifié. |
1.0 |
14-Dec-2001 |
Première publication |