Software Cisco IOS e NX-OS : Cisco IOS Embedded Event Manager (EEM)

Scripts EEM usados para pesquisar defeitos

19 Setembro 2015 - Tradução por Computador
Outras Versões: Versão em PDFpdf | Inglês (22 Agosto 2015) | Feedback

Introdução

Este documento descreve como usar a ferramenta encaixada do gerente do evento (EEM) para pesquisar defeitos as edições na rede que são de outra maneira duras fixar o ponto ou não têm uma frequência regular que permita o Troubleshooting normal.

Contribuído por engenheiros de TAC da Cisco.

Que é EEM?

EEM é um sistema flexível projetado personalizar o ® do Cisco IOS, o XR, e o NX-OS. EEM permite que você automatize tarefas, execute realces menores, e crie ações alternativas. 

Quando usar EEM?

Os scripts EEM têm duas finalidades:

  • Para ajudar a pesquisar defeitos uma edição - Quando você precisa de pesquisar defeitos problemas de uma natureza intermitente, os scripts EEM podem ser particularmente úteis. Permitem você automatize o processo da coleção de show command outputs (resultado do comando show) e de comandos debug que permite que você capture os dados que seriam de outra maneira extremamente duros de recolher.
  • Para ajudar a fornecer uma solução - Nos casos onde uma solução temporária é exigida quando o centro de assistência técnica (TAC) fizer uma análise da causa raiz. Tome por exemplo uma situação onde o problema seja intermitente, mas a restauração de uma relação fixa o problema. Os scripts EEM podem ser usados para provocar esta ação assim que o problema começar. 

Em qualquer dos casos, a fim usar EEM passar-lo pelo processo de script é necessária identificar um evento do disparador que você possa então usar para provocar o script.

Scripts da amostra EEM

Os scripts da amostra EEM a ajudar a pesquisar defeitos edições são incluídos nesta seção.

Execute comandos cada 30 segundos arquivar no flash

Execute comandos cada 30 segundos ao arquivo no flash; os comandos show podem ser adaptados ao que quer que você quer executar:

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"

Nota: Alguns sistemas de arquivo flash (tais como o bootflash ou o slotX) não apoiam a operação da adição. Esta é uma não limitação EEM, mas um pouco uma limitação de sistemas de arquivo flash Lineares. Os sistemas de arquivos de acesso aleatório tais como o diskX ou o flash nos switch de área de trabalho (3560, 3750, e assim por diante) apoiam a adição a um arquivo.

Nota: Se o dispositivo é configurado para o comando authorization do Authentication, Authorization, and Accounting (AAA), EEM precisa de ser configurado com um username que seja autorizado para executar todos os comandos CLI em todas as políticas configuradas EEM.  A fim fazer isto, inscreva o usuário de nome de usuário da sessão CLI do gerente do evento onde o USER é o usuário apropriado AAA.

Use um cão de guarda para despejar o log de roteador segundos cada X a um servidor FTP ou a um flash

Similarmente, você pode usar um cão de guarda a fim despejar o log de roteador segundos cada X a um servidor FTP ou a um flash:

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"

Você pode igualmente usar um script da espera em um dispositivo de UNIX dentro de um cronjob para puxar o log minutos cada X. Em vez de empurrá-lo com EEM; substitua o nome de usuário e senha com as cordas apropriadas para credenciais do início de uma sessão:

 > 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

Permita debuga na bota do roteador

Permita debuga na bota do roteador; mude debuga ao que quer que você quer permitir:

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"

O desabilitação debuga após uma mensagem específica

O desabilitação debuga depois que um específico debuga a mensagem é detectado a fim impedir que o log se encha acima. Desabilite o script EEM (próprio) mais tarde. Mude o teste padrão a que fósforos sua situação:

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"

Troubleshooting

Pesquise defeitos edições VPN

Quando a maioria de formulários de edições VPN não exigirem geralmente EEM a fim pesquisar defeitos, em alguns casos o problema pode ser transiente que faz duro obter a informação necessária. Os casos relevantes incluem:

Solucionar problema da utilização elevada da CPU

Encontra-se geralmente que às vezes os pontos da utilização CPU acima por muito um período de tempo curto e em horas indeterminadas. Daqui torna-se muito difícil executar os comandos que precisam de ser executados na altura da utilização elevada da CPU. Isto é quando um script EEM pode ser muito útil. Ajuste os valores CPU em que deve obter provocado e obtém as saídas do comando.

Este é um exemplo de script e deve ser personalizado para suas exigências:  

 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"

O script acima detecta não somente a utilização CPU e executa os comandos, ele igualmente adiciona as saídas para piscar: ou algum outro lugar da escolha. É provocada quando a utilização CPU vai acima de 60%. Isto deve ser personalizado a suas exigências. Contudo, o cuidado deve ser exercitado para considerar o espaço livre do sistema de arquivos antes que você distribua o script. 

Informações Relacionadas


Discussões relacionadas da comunidade de suporte da Cisco

A Comunidade de Suporte da Cisco é um fórum onde você pode perguntar e responder, oferecer sugestões e colaborar com colegas.


Document ID: 116176