スイッチ : Cisco Catalyst 6500 シリーズ スイッチ

Cisco Catalyst シリーズ スイッチで高い CPU 使用率を監視するための EEM スクリプトの使用

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

概要

この資料に Cisco IOS を使用する方法を記述されていますか。 組み込みイベント マネージャ(EEM)サブシステム Cisco Catalyst シリーズ スイッチの CPU使用率が高い状態を監視するため。

著者:Cisco TAC エンジニア、Shashank Singh および Saurav Lahiri

前提条件

要件

このドキュメントでは、ユーザに Cisco IOS Embedded Event Manager(EEM)に関する知識があることを前提としています。

使用するコンポーネント

このドキュメントの情報は、Cisco Catalyst シリーズ スイッチに基づくものです。

このドキュメントの情報は、特定のラボ環境にあるデバイスに基づいて作成されたものです。 このドキュメントで使用するすべてのデバイスは、クリアな(デフォルト)設定で作業を開始しています。 ネットワークが稼働中の場合は、コマンドが及ぼす潜在的な影響を十分に理解しておく必要があります。

表記法

ドキュメント表記の詳細は、『シスコ テクニカル ティップスの表記法』を参照してください。

背景説明

EEM は、期間が短く、コマンドライン インターフェイスを使用して手動でトラブルシューティングを行うのが困難である偶発的かつ散発的な CPU 使用率の急激な上昇のトラブルシューティングを行うのに非常に便利なツールです。 CPU 使用率の急激な上昇の例を次に示します。

Switch#show process cpu history
<snip>
    11111822511   11 111277711111 124111  11 1211111112161116
    143342171209994090111878458239607111981270283361362429475
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.
             0    5    0    5    0    5    0    5    0    5    0    5    0
                   CPU% per hour (last 72 hours)
                  * = maximum CPU%   # = average CPU%

トラブルシューティング

このセクションでは、CPU 使用率を監視するために EEM スクリプトを使用するいくつかの例について説明します。 Catalyst 2960 および 3750 スイッチを使用すると、EEM で不揮発性 RAM(NVRAM)を使用できます。 Catalyst 4500 スイッチを使用すると、EEM でブートフラッシュへの書き込みが可能になります。 Catalyst 6500 を使用すると、EEM で disk0 および sup-bootdisk を使用できます。

: このセクションで使用されているコマンドの詳細を調べるには、Command Lookup Tool登録ユーザ専用)を使用してください。

電子メール アラート

CPU 使用率が 50 % を超えると、次のスクリプトによって電子メールでアラートが送信されます。 電子メールの本文には、show process cpu sorted コマンドの出力です。

event manager applet highcpu
  event snmp oid 1.3.6.1.4.1.9.9.109.1.1.1.1.3.1 get-type exact entry-op ge
entry-val 50 poll-interval 0.5
action 1.0 cli command "enable"
  action 2.0 cli command "show proc cpu sorted"
  action 3.0 mail server "192.168.1.1" to "user-to@domain.com" from "user-from@domain.com"
subject "High CPU Alert" body "$_cli_result"

斜体の変数の定義は次のとおりです。

  • highcpu - イベント マネージャのアプレット/スクリプトの名前
  • 1.3.6.1.4.1.9.9.109.1.1.1.1.3.1 - ルート プロセッサ(RP)の合計 CPU 使用率をポーリングするためのオブジェクト ID(OID)
  • 50 - スクリプトを開始する CPU 使用率
  • poll-interval 0.5 - スクリプトで CPU を監視する頻度(0.5 秒ごと)
  • 192.169.1.1 - メール サーバの IP

ローカル ファイルへの出力の追加

次のスクリプトにより、必要な出力がローカル ファイル システムのファイルに追加されます。 file system をスイッチ上の適切なファイル システムに置き換えてください。

event manager scheduler script thread class default number 1 
event manager applet High_CPU
event snmp oid 1.3.6.1.4.1.9.9.109.1.1.1.1.3.1 get-type exact entry-op ge
entry-val 50 poll-interval 0.5
action 0.0 syslog msg "High CPU DETECTED. Please wait - logging Information
to file system:high_cpu.txt"
action 0.1 cli command "enable"
  action 0.2 cli command "show clock | append file system:high_cpu.txt"
  action 1.2 cli command "term length 0"
  action 1.3 cli command "show process cpu sorted | append file system:high_cpu.txt"
  action 1.4 cli command "show log | append file system:high_cpu.txt"
  action 1.5 cli command "show interfaces | append file system:high_cpu.txt"
  action 1.6 cli command "term length 24"

ローカル ファイルへの出力の追加とスクリプトの削除

このスクリプトにより、show process cpu sorted コマンドの出力がローカル ファイル システムのファイルに追加され、完了すると、それ自体が削除されます。 file system をスイッチ上の適切なファイル システムに置き換えてください。

event manager scheduler script thread class default number 1 
event manager applet High_CPU
event snmp oid 1.3.6.1.4.1.9.9.109.1.1.1.1.3.1 get-type exact entry-op gt
entry-val 50 poll-interval 0.5
action 0.0 syslog msg "High CPU DETECTED. Please wait - logging Information
to flash:high_cpu.txt"
  action 0.1 cli command "enable"
  action 0.2 cli command "term exec prompt timestamp"
  action 1.3 cli command "show process cpu sorted | append file system:high_cpu.txt"
  action 1.4 cli command "show process cpu sorted | append file system:high_cpu.txt"
  action 1.4 cli command "show process cpu sorted | append file system:high_cpu.txt"
  action 5.1 syslog msg "Finished logging information to file system:high_cpu.txt..."
  action 5.1 syslog msg "Self-removing applet from configuration..."
  action 5.2 cli command "term no exec prompt timestamp"
  action 9.1 cli command "configure terminal"
  action 9.2 cli command "no event manager applet High_CPU"
  action 9.3 cli command "end"

出力の収集とローカル ファイルへの書き込み

このスクリプトでは、必要な出力を実行および収集して、それらの出力をローカル ファイル システムに書き込むために syslog ベースのトリガーを使用します。 file system をスイッチ上の適切なファイル システムに置き換えてください。

process cpu threshold type total rising 70 interval 15 
event manager applet DETECT_CPU
event syslog pattern ".*SYS-1-CPURISINGTHRESHOLD.*"
action 1 cli command "en"
action 2 cli command "show clock | append file system:cpuinfo"
action 3 cli command "show proc cpu sort | append file system:cpuinfo"
action 4 cli command "show line | append file system:cpuinfo"

モジュラ IOS での CPU 使用率の監視

また、Cisco EEM を使用して、モジュラ IOS で CPU 使用率を監視することもできます。 モジュラ IOS で CPU を監視する方法に違いがあるため、IOS ベースのプロセスで CPU 使用率をチェックするために簡易ネットワーク管理プロトコル(SNMP)の OID(1.3.6.1.4.1.9.9.109.1.1.1.1.3.1)を使用できます。

このスクリプトでは、トリガーとして OID を使用して、必要な出力をローカル ファイル システムに書き込みます。 file system をスイッチ上の適切なファイル システムに置き換えてください。

event manager scheduler script thread class default number 1
event manager applet High_CPU
event snmp oid 1.3.6.1.4.1.9.9.109.1.1.1.1.10.1  get-type exact entry-op ge
entry-val 50 poll-interval 0.5
  action 0.0 syslog msg "High CPU DETECTED. Please wait - logging Information
to file system:high_cpu.txt"
  action 0.1 cli command "enable"
  action 0.2 cli command "show clock | append file system:high_cpu.txt"
  action 1.2 cli command "term length 0"
  action 1.3 cli command "show process cpu sorted | append file system:high_cpu.txt"
  action 1.4 cli command "show log | append file system:high_cpu.txt"
  action 1.5 cli command "show interfaces | append file system:high_cpu.txt"
  action 1.6 cli command "term length 24"

スクリプトの削除

EEM スクリプトを削除するには、次のコマンドを入力してください。

Switch(config)#no event manager applet applet name

関連情報


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

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


Document ID: 116141