Cisco IOS と NX-OS ソフトウェア : Cisco IOS Embedded Event Manager(EEM)

解決するのに使用される EEM スクリプト

2015 年 11 月 25 日 - 機械翻訳について
その他のバージョン: PDFpdf | 英語版 (2015 年 8 月 22 日) | フィードバック

概要

この資料にピン ポイントに別の方法でハードまたは正常なトラブルシューティングを可能にする規則的な周波数がないネットワークの問題を解決するのに組み込みイベント マネージャ(EEM)ツールを使用する方法を記述されています。

著者:Cisco TAC エンジニア。

EEM とは何か。

EEM は Cisco IOS ®、XR および NX-OS をカスタマイズするように設計されている柔軟なシステムです。 EEM はタスクを自動化し、マイナー な機能拡張を行い、回避策を作成することを可能にします。 

いつ EEM を使用するか。

EEM スクリプトに 2 つの目的があります:

  • 問題を解決することに役立つため-断続的な性質の問題を解決する必要があるとき EEM スクリプトは特に役立ちます。 それらは他では収集し非常ににくいデータをキャプチャ することを許可する showコマンド出力および debug コマンドの収集 プロセスを自動化することを可能にします。
  • ソリューションの提供を助けるため-テクニカル アシスタンス センタ (TAC)が原因解析をする間、一時的な次善策が必要となれば。 問題が断続的であるが、インターフェイスのリセットが問題を解決するたとえば状況を奪取 して下さい。 問題が始まるとすぐ EEM スクリプトがこの操作を引き起こすのに使用することができます。 

いずれにしても、EEM を使用することはそれのですスクリプトを引き起こすのに使用できるトリガー イベントを識別して必要スクリプトを書きます。

サンプル EEM スクリプト

問題を解決することに役立つべきサンプル EEM スクリプトはこのセクションに含まれています。

フラッシュするのファイルにコマンドを 30 秒毎に実行して下さい

フラッシュするのファイルにコマンドを 30 秒毎に実行して下さい; show コマンドはたいと思うものは何でも実行しに適応させることができます:

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"

: いくつかのフラッシュ ファイルシステムは(ブートフラッシュか slotX のような)アペンド オペレーションをサポートしません。 これはリニア フラッシュ ファイルシステムのない EEM 制限、むしろ制限でありではない。 デスクトップスイッチ(3560、3750 ファイルに、等)の diskX またはフラッシュするのようなランダム・アクセス ファイル システムは追加をサポートします。

: デバイスが認証、許可、アカウンティング(AAA) コマンド許可のために設定される場合、EEM は設定された EEM ポリシーすべての CLI コマンドすべてを実行するために承認されるユーザ名で設定される必要があります。  これをするために、ユーザが適切な AAA ユーザであるイベント マネージャ セッション cli ユーザ名 ユーザを入力して下さい。

ウオッチドッグを秒ルータログを各 X FTP サーバにダンプするか、または点滅するのに使用して下さい

同様に、秒ルータログを各 X FTP サーバにダンプするか、または点滅するためにウオッチドッグを使用できます:

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"

また分ログを各 X 引っ張るのに cronjob の中の UNIX デバイスの Expect スクリプトを使用できます。 EEM とそれを押すかわりに; ログオン資格情報のための記号の基本列とユーザ名 および パスワードを取り替えて下さい:

 > 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

ルータのブートでデバッグを有効に して下さい

ルータのブートでデバッグを有効に して下さい; たいと思うものは何でも有効に しデバッグをに変更して下さい:

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"

特定のメッセージの後でデバッグをディセーブルにして下さい

特定のデバッグ メッセージがログはいっぱいになることを防ぐために検出する後ディセーブル デバッグ。 EEM スクリプト(自体)をその後ディセーブルにして下さい。 どんな一致状況かにパターンを変更して下さい:

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"

トラブルシューティング

VPN 問題を解決して下さい

VPN 問題のほとんどのフォームは解決するために一般に EEM が要求しない間、場合によっては必要な情報を得ること困難にする問題は一時である場合もあります。 関連したケース inlcude:

CPU使用率が高い場合のトラブルシューティング

それは通常非常に短いある一定の時間の間および不定時にことが時々 CPU稼働率スパイク分られます。 それ故に CPU使用率が高い状態の時に動作する必要があるコマンドを実行することは非常に困難になります。 これは EEM スクリプトが非常に役立ちますときあります。 それがトリガされる必要があり、コマンド 出力を得る CPU 値を設定 して下さい。

これはスクリプト例で、必要条件のためにカスタマイズする必要があります:  

 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"

上記のスクリプトは点滅するためにだけでなく、CPU稼働率を検出する、コマンドを、またそれ追加 します出力を実行します: または選択の他の位置。 それは CPU稼働率が 60% の上で行くとき引き起こされます。 これは必要条件にカスタマイズする必要があります。 ただしファイル システム 空き容量を考慮するためにスクリプトを展開する前に、注意する必要があります。 

関連情報


関連するシスコ サポート コミュニティ ディスカッション

シスコ サポート コミュニティは、どなたでも投稿や回答ができる情報交換スペースです。


Document ID: 116176