Logiciels Cisco IOS et NX-OS : Cisco IOS Embedded Event Manager (EEM)

Scripts EEM utilisés pour dépanner

18 octobre 2016 - Traduction automatique
Autres versions: PDFpdf | Anglais (22 août 2015) | Commentaires

Introduction

Ce document décrit comment utiliser l'outil encastré du gestionnaire d'événement (EEM) pour dépanner les questions sur le réseau qui sont autrement dures pour goupiller le point ou n'ont pas une fréquence régulière qui permet le dépannage normal.

Contribué par des ingénieurs TAC Cisco.

Quel est EEM ?

EEM est un système flexible conçu pour personnaliser le Cisco IOS®, le XR, et le NX-OS. EEM te permet pour automatiser des tâches, pour exécuter des améliorations mineures, et pour créer des contournements. 

Quand utiliser EEM ?

Les scripts EEM ont deux buts :

  • Pour aider à dépanner une question - Quand vous devez dépanner des problèmes d'une nature intermittente, les scripts EEM peuvent être particulièrement utiles. Ils te permettent pour automatiser le procédé de collecte des sorties de commande show et des commandes de débogage qui te permet pour capturer les données il serait autrement extrêmement difficile de recueillir que.
  • Pour aider à fournir une solution - Dans les cas où un contournement provisoire est exigé tandis que le centre d'assistance technique (TAC) fait une analyse de cause principale. Prenez par exemple une situation où le problème est intermittent, mais la remise d'une interface répare le problème. Des scripts EEM peuvent être utilisés pour déclencher cette action dès que le problème commencera. 

Dans l'un ou l'autre de cas, afin d'utiliser des scripts EEM il est nécessaire d'identifier un événement de déclencheur que vous pouvez alors employer pour déclencher le script.

Scripts témoin EEM

Des scripts témoin EEM à aider à dépanner des questions sont inclus dans cette section.

Exécutez les commandes toutes les 30 secondes de classer dans l'éclair

Exécutez les commandes toutes les 30 secondes au fichier dans l'éclair ; des commandes show peuvent être adaptées à celui que vous vouliez exécuter :

event manager applet show-rtp-streams
  event timer watchdog name timer time 30
action 0.5 cli command "enable"
  action 1.0 cli command "show clock | append flash:filename.txt"
  action 2.0 cli command "show ip cache flow | append flash:filename.txt"
  action 3.0 cli command "show voip rtp conn" | append flash:filename.txt"
  action 4.0 cli command "show call active voice br" | append flash:filename.txt"

Remarque: Quelques systèmes de fichiers Flash (tels que le bootflash ou le slotX) ne prennent en charge pas l'exécution d'ajouter. Ce n'est pas une limite EEM, mais plutôt une limite de systèmes de fichiers Flash Linéaires. Les systèmes de fichiers à accès sélectif tels que le diskX ou l'éclair sur les Commutateurs de bureau (3560, 3750, et ainsi de suite) prennent en charge s'ajouter à un fichier.

Remarque: Si le périphérique est configuré pour l'autorisation de commande d'Authentification, autorisation et comptabilité (AAA), EEM doit être configuré avec un nom d'utilisateur qui est autorisé à exécuter toutes les commandes CLI dans toutes les stratégies configurées EEM.  Afin de faire ceci, présentez l'UTILISATEUR d'event manager session cli username où l'UTILISATEUR est l'utilisateur approprié d'AAA.

Employez une surveillance pour vider le journal du routeur des secondes chaque X à un ftp server ou à un éclair

De même, vous pouvez employer une surveillance afin de vider le journal du routeur des secondes chaque X à un ftp server ou à un éclair :

event manager applet dump-log
  event timer watchdog name timer time 1800
action 0.5 cli command "enable"
  action 1.0 cli command "show log | append ftp://user:pass@10.1.1.1/debugs.txt"

Vous pouvez également employer un script de prévoir sur un périphérique UNIX à l'intérieur d'un cronjob pour tirer le log des minutes chaque X. Au lieu de le pousser avec EEM ; remplacez le nom d'utilisateur et mot de passe par les chaînes appropriées pour des qualifications de procédure de connexion :

 > dhcp-64-102-154-159:Desktop sholl$ cat login-script  
 > #!/usr/bin/expect 
 >
 > set timeout 60 
 > spawn telnet -N 10.1.1.1
 >
 > # Uncomment these if you are prompted for a username by the router 
 > # expect "login:"
 > # send "username\n"
 > expect "Password: "
 > send "password\n"
 > expect ">"
 > send "en\n"
 > expect "Password:"
 > send "password\n"
 > expect "#"
 > send "term len 0\n"
 > expect "#"
 > send "sh log\n"
 > expect "#"
 > send "exit\n"
 > send "exit\n"
 >
 > dhcp-64-102-154-159:Desktop sholl$ crontab -e 
 >
 > # min   hour    mday    month   wday    command
 >    0     4      0       0       0    Desktop/login-script >> outputlog.txt

Debugs d'enable au démarrage du routeur

L'enable met au point au démarrage du routeur ; changez met au point à celui que vous vouliez activer :

event manager applet en-debugs-at-boot
event timer cron cron-entry "@reboot"
  action 1.0 cli command "enable"
  action 2.0 cli command "debug isdn q931"
  action 2.2 cli command "debug isdn q921"
  action 2.4 cli command "debug isdn standard"

Debugs de débronchement après un message spécifique

Le débronchement met au point après qu'un message de débogage spécifique soit détecté afin d'empêcher le log de se remplir. Désactivez le script EEM (lui-même) après. Changez le modèle à quelles correspondances votre situation :

event manager applet disableDebugsOnError
  event syslog occurs 1 pattern "Endpt not available"
  action 3.0 cli command "enable"
  action 3.2 cli command "un all"
action 3.3 cli command "config t"
  action 3.4 cli command "no event manager applet disableDebugsOnError"
action 3.5 cli command "end"

Dépannez

Dépannez les questions VPN

Tandis que la plupart des formes des questions VPN n'exigent pas généralement d'EEM afin de dépanner, dans certains cas le problème peut être passager qui le rend dur pour obtenir les informations nécessaires. Les cas appropriés incluent :

Dépannez l'utilisation du CPU élevé

On le constate habituellement que parfois les pics d'utilisation du processeur pendant très une courte période et aux heures indéterminées. Par conséquent il devient très difficile d'exécuter les commandes qui doivent être exécutées au moment de l'utilisation du CPU élevé. C'est quand un script EEM peut être très utile. Placez les valeurs CPU lesquelles il devrait atteindre déclenché et il obtient les sorties de commande.

C'est un exemple de script et devrait être personnalisé pour vos conditions requises :  

 event manager applet capture_cpu_spike
   event snmp oid 1.3.6.1.4.1.9.2.1.56 get-type next entry-op ge entry-val 60
  exit-time 10 poll-interval 1
   action 001 syslog msg "CPU Utilization is high"
   action 002 cli command "en"
   action 003 cli command "show proc cpu sort | append flash:cpuinfo"
   action 004 cli command "show proc cpu sort | append flash:cpuinfo"
   action 005 cli command "show stack 236 | append flash:cpuinfo"
   action 006 cli command "show call active voice brief | append flash:cpuinfo"
   action 007 cli command "show voip rtp connection | append flash:cpuinfo"
   action 008 cli command "show isdn call-rate | append flash:cpuinfo"
   action 009 cli command "show log | append flash:cpuinfo"
   action 010 cli command "show mem stat his | append flash:cpuinfo"
   action 011 cli command "show proc cpu his | append flash:cpuinfo"
   action 012 cli command "show align | append flash:cpuinfo"

Le script ci-dessus non seulement détecte l'utilisation du processeur et exécute les commandes, il ajoute également les sorties pour flasher : ou tout autre emplacement de choix. Il est déclenché quand l'utilisation du processeur va au-dessus de 60 %. Ceci devrait être personnalisé à vos conditions requises. Cependant, l'attention devrait être exercée pour considérer l'espace libre de système de fichiers avant que vous déployiez le script. 

Informations connexes



Document ID: 116176