Cisco Catalyst Switch Module 3110/3012 for IBM BladeCenter ソフトウェア コンフィギュレーション ガイド Cisco IOS Release 12.2(58)SE
組み込みイベント マネージャ(EEM)の設定
組み込みイベント マネージャ(EEM)の設定
発行日;2013/04/24 | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 18MB) | フィードバック

目次

組み込みイベント マネージャ(EEM)の設定

組み込みイベントマネージャの概要

イベント ディテクタ

組み込みイベントマネージャの処理

組み込みイベントマネージャのポリシー

組み込みイベントマネージャの環境変数

EEM 3.2

組み込みイベントマネージャの設定

組み込みイベントマネージャのアプレットの登録と定義

組み込みイベントマネージャの TCL スクリプトの登録と定義

組み込みイベントマネージャ情報の表示

組み込みイベント マネージャ(EEM)の設定

Embedded Event Manager(EEM; 組み込みイベント マネージャ)は、Cisco IOS デバイス内でイベント検出および回復のために配布されカスタマイズされたアプローチです。EEM はイベントをモニタする機能を提供します。また、モニタされたイベントが発生するかしきい値に達した場合に情報を得たり、是正措置を行ったり、または他の EEM 処理を実行したりする機能も提供します。EEM ポリシーは、イベントおよびイベントが発生した場合に行う処理を定義します。

この章では、Embedded Event Manager(EEM; 組み込みイベントマネージャ)を使用して、スイッチを管理する方法、およびその設定方法について説明します。特に記述がない限り、 スイッチ という用語はスタンドアロン スイッチとスイッチ スタックを意味しています。

この章で使用するコマンドの構文および使用方法の詳細については、このリリースに対応するスイッチのコマンド リファレンスおよび『 Cisco IOS Network Management Command Reference 』を参照してください。EEM の完全なマニュアル セットについては、『Cisco IOS Network Management Configuration Guide』の次のマニュアルを参照してください。

Embedded Event Manager Overview

http://www.cisco.com/en/US/docs/ios/netmgmt/configuration/guide/nm_eem_overview.html

Writing Embedded Event Manager Policies Using the Cisco IOS CLI

http://www.cisco.com/en/US/docs/ios/netmgmt/configuration/guide/nm_eem_policy_cli.html

Writing Embedded Event Manager Policies Using Tcl

http://www.cisco.com/en/US/docs/ios/netmgmt/configuration/guide/nm_eem_policy_tcl.html


) Cisco IOS Release 12.2(55)SE 以降では、IP ベース フィーチャ セットで EEM 機能がサポートされています。


この章で説明する内容は、次のとおりです。

「組み込みイベントマネージャの概要」

「組み込みイベントマネージャの設定」

「組み込みイベントマネージャ情報の表示」

組み込みイベントマネージャの概要

EEM はキー システムのイベントをモニタし、セット ポリシーを通してイベントに作用します。このポリシーはプログラミングしたスクリプトであり、これを使用して、発生するイベントの特定セットに基づいて処理を起動するスクリプトをカスタマイズできます。このスクリプトでは、カスタム Syslog や Simple Network Management Protocol(SNMP; 簡易ネットワーク管理プロトコル)トラップの生成、CLI(コマンドライン インターフェイス)の起動、フェールオーバーの実施などの処理が生成されます。スイッチからすべてのイベント管理を行うことはできず、問題の発生により、スイッチと外部ネットワーク管理デバイス間の通信に支障をきたすため、EEM のイベント管理機能は有益です。スイッチがリブートされずに自動回復処理が実行される場合、ネットワークの可用性は改善されます。

図 34-1 は、EEM サーバ、コア イベント パブリッシャ(イベント ディテクタ)、イベント サブスクライバ(ポリシー)間の関係を示しています。イベント パブリッシャが提供するイベント指定で一致するものがあるとき、イベント パブリッシャはイベントを選別します。イベント ディテクタは、イベント発生時に EEM サーバに通知します。EEM ポリシーは、特定イベント用にポリシーで指定されているシステムの現在の状態および処理に基づいて回復を実装します。

図 34-1 組み込みイベントマネージャのコア イベント ディテクタ

 

EEM の展開例については、『 EEM Configuration for Cisco Integrated Services Router Platforms Guide 』を参照してください。

ここでは、次の概要について説明します。

「イベント ディテクタ」

「組み込みイベントマネージャの処理」

「組み込みイベントマネージャのポリシー」

「組み込みイベントマネージャの環境変数」

「EEM 3.2」

イベント ディテクタ

イベント ディテクタと呼ばれる EEM ソフトウェア プログラムは、EEM イベントがいつ発生したかを判別します。イベント ディテクタは、SNMP などのモニタ対象エージェントおよび操作を実装できる EEM ポリシーの間にインターフェイスを提供する別個のシステムです。イベント ディテクタが生成されるのはマスター スイッチからだけです。CLI およびルーティング プロセスもマスター スイッチからだけ動作します。


) スタック メンバー スイッチはイベントを生成せず、メモリしきい値の通知または IOSWdSysmon イベント ディテクタをサポートしません。


EEM では次のイベント ディテクタが許可されます。

アプリケーション特有のイベント ディテクタ:すべての EEM ポリシーがイベントをパブリッシュできます。

IOS CLI イベント ディテクタ:CLI で入力したコマンドに基づいてポリシーが生成されます。

Generic Online Diagnostics(GOLD)イベント ディテクタ:指定カードおよびサブカードで GOLD エラー イベントが検出されたとき、イベントをパブリッシュします。

カウンタ イベント ディテクタ:指定カウンタが指定しきい値を超えたとき、イベントをパブリッシュします。

インターフェイス カウンタ イベント ディテクタ:指定インターフェイスの一般 Cisco IOS インターフェイス カウンタが定義済みしきい値を超えたとき、イベントをパブリッシュします。しきい値は絶対値または差分値として指定できます。たとえば差分値を 50 に設定した場合は、インターフェイス カウンタが 50 増加したときにイベントがパブリッシュされます。

このディテクタは、インターフェイスに関するイベントも入力値と出口値の変化率に応じてパブリッシュします。

その他のイベント ディテクタ:CLI コマンド event manager run によって EEM ポリシーが実行されたとき、イベントがパブリッシュされます。EEM により、ポリシー自体のイベント指定に基づいてポリシーがスケジュールされて実行されます。EEM ポリシーを手動で識別して登録してから、event manager run コマンドを実行する必要があります。

Online Insertion and Removal(OIR; ホットスワップ)イベント ディテクタ:ハードウェア OIR イベントが発生したとき、イベントをパブリッシュします。

リモート プロシージャ コール(RPC)イベント ディテクタ:Secure Shell(SSH; セキュア シェル)を使用した暗号化接続を介してスイッチ外部の EEM ポリシーを呼び出し、XML ベースのメッセージを交換するために Simple Object Access Protocol(SOAP)のデータ符号化を使用します。また、EEM ポリシーを実行して SOAP XML 形式の応答から出力を取得します。

SNMP イベント ディテクタ:標準の SNMP MIB オブジェクトをモニタ対象として次の場合にイベントを生成できます。

オブジェクトが指定された値に一致したか、指定されたしきい値を超えたとき。

当該期間の最初の Object Identifier(OID; オブジェクト ID)値と、イベントがパブリッシュされたときの実際の OID 値との差異である、SNMP デルタ値が指定された値に一致したとき。

SNMP 通知イベント ディテクタ:スイッチが受信する SNMP トラップおよび通知メッセージを代行受信します。着信メッセージが指定された値に一致するか、定義されたしきい値を超えたとき、イベントが生成されます。

Syslog イベント ディテクタ:正規表現のパターンの一致を Syslog メッセージで選別できます。指定時間内に特定発生回数がログされることを要求することにより、選択メッセージをさらに限定できます。指定イベント基準の一致により、設定済みポリシー処理がトリガされます。

タイマー イベント ディテクタ:次のタイマーのイベントをパブリッシュします。

絶対 Time-of-Day(ToD)タイマーは、指定日時になったときにイベントをパブリッシュします。

カウントダウン タイマーは、タイマーがゼロにカウントダウンしたときにイベントをパブリッシュします。

ウォッチドッグ タイマーは、タイマーがゼロにカウントダウンしたときにイベントをパブリッシュします。タイマーは自動的に初期値にリセットされ、カウントダウンが再開されます。

CRON タイマーは、イベントをパブリッシュするときを定義する UNIX 標準の CRON 指定を使用してイベントをパブリッシュします。CRON タイマーは、1 分間に複数回イベントをパブリッシュしません。

ウォッチドッグ イベント ディテクタ(IOSWDSysMon):次の場合にマスター スイッチでだけイベントをパブリッシュします。

Cisco IOS プロセスの CPU 使用率がしきい値を超えたとき。

Cisco IOS プロセスのメモリ使用率がしきい値を超えたとき。

2 つのイベントを同時にモニタでき、片方のイベントまたは両方のイベントが指定しきい値を超えることが、イベント パブリッシュ基準で要求されます。

組み込みイベントマネージャの処理

イベントに応答して次の処理が実行されます。

指定カウンタの変更

アプリケーション特有のイベントのパブリッシュ

SNMP トラップの生成

プライオリティが設定された Syslog メッセージの生成

Cisco IOS ソフトウェアのリロード

スイッチ スタックのリロード

マスターのスイッチオーバー イベント時のマスター スイッチのリロード。スイッチオーバーが発生した場合は、新しいマスター スイッチが選択されます。

組み込みイベントマネージャのポリシー

EEM ではイベントをモニタして情報を提供したり、モニタ対象イベントが発生したかしきい値に達したときに訂正処理を実行したりすることができます。EEM ポリシーは、イベントおよびそのイベントの発生時に実行する処理を定義するエンティティです。

EEM ポリシーには、アプレットとスクリプトの 2 種類があります。アプレットは、CLI 設定内で定義する単純なポリシーです。イベント選別基準およびそのイベントが発生したときに実行する処理を定義する簡潔な方法です。スクリプトは、ASCII エディタを使用してネットワーキング デバイスで定義します。スクリプトには、バイトコード(.tbc)とテキスト(.tcl)スクリプトのいずれも使用でき、ネットワーキング デバイスにコピーされ、EEM で登録されます。また、1 つの .tcl ファイルに複数のイベントを登録することもできます。

EEM を使用して独自のポリシーの作成と実装を行うには、EEM ポリシーの Tool Command Language(TCL)スクリプトを使用します。マスター スイッチで TCL スクリプトを設定すると、ファイルはメンバー スイッチに自動的に送信されます。マスター スイッチが変更されても TCL スクリプト ポリシーが動作するようにするには、ユーザ定義 TCL スクリプトをメンバー スイッチで使用可能にする必要があります。

シスコではキーワード拡張という形式で TCL を拡張し、EEM ポリシーの開発を容易にしています。このキーワードでは、検出されたイベント、その後の処理、ユーティリティ情報、カウンタ値、システム情報が識別されます。

EEM ポリシーとスクリプトの設定については、『Cisco IOS Network Management Configuration Guide, Release 12.4T』を参照してください。

組み込みイベントマネージャの環境変数

EEM の EEM ポリシーでは環境変数が使用されます。これらの環境変数は、CLI コマンドおよび event manager environment コマンドを実行して、EEM ポリシー Tool Command Language(TCL)スクリプトで定義します。

ユーザ定義変数

ユーザがユーザ定義ポリシー用に定義します。

シスコ定義変数

シスコが特定のサンプル ポリシー用に定義します。

シスコ組み込み変数(EEM アプレットで利用可能)

シスコが定義し、読み取り専用か読み取りと書き込みのいずれかになります。読み取り専用変数は、アプレットの実行開始前にシステムによって設定されます。単一の読み取りと書き込みの変数 _exit_status では、同期イベントからトリガされたポリシーの終了ステータスを設定できます。

シスコ定義環境変数およびシスコ システム定義環境変数は、1 つの特定イベント ディテクタまたはすべてのイベント ディテクタに適用できます。ユーザが定義したかサンプル ポリシーでシスコが定義した環境変数は、グローバル設定コマンド event manager environment グローバル コンフィギュレーション コマンドを使用して設定します。EEM ポリシーで変数を定義してから、ポリシーを登録する必要があります。

EEM でサポートされる環境変数については、『Cisco IOS Network Management Configuration Guide, Release 12.4T』を参照してください。

EEM 3.2

EEM 3.2 は、Cisco IOS Release 12.2(52)SE 以降でサポートされており、次のイベント ディテクタが導入されています。

ネイバー探索:ネイバー探索のイベント ディテクタによって、次の場合に自動ネイバー検出に応答するポリシーをパブリッシュできます。

Cisco Discovery Protocol(CDP; シスコ検出プロトコル)のキャッシュ エントリが追加、削除、または更新された場合。

Link Layer Discovery Protocol(LLDP)キャッシュ エントリが追加、削除、または更新された場合。

インターフェイスのリンク ステータスが変更された場合。

インターフェイスのライン ステータスが変更された場合。

ID:ID イベント ディテクタは、AAA の許可および認証が成功した場合、障害が発生した場合、またはポート上で通常のユーザ トラフィックの送信が許可された後にイベントを生成します。

Mac-Address-Table:Mac-Address-Table イベント ディテクタは、MAC アドレスが MAC アドレス テーブルで学習された場合にイベントを生成します。


) Mac-Address-Table イベント ディテクタは、スイッチ プラットフォームでだけサポートされており、MAC アドレスが学習されたレイヤ 2 インターフェイスだけで使用できます。レイヤ 3 インターフェイスはアドレスを学習しません。ルーターは通常、学習された MAC アドレスの EEM を通知する必要がある MAC address-table インフラストラクチャをサポートしません。


EEM 3.2 では、新しいイベント ディテクタで動作するアプレットをサポートするための CLI コマンドも導入されています。

EEM 3.2 機能の詳細については、Embedded Event Manager 3.2 のマニュアルを参照してください。

http://www.cisco.com/en/US/docs/ios/netmgmt/configuration/guide/nm_eem_3.2.html

組み込みイベントマネージャの設定

ここでは、次の設定情報について説明します。

「組み込みイベントマネージャのアプレットの登録と定義」

「組み込みイベントマネージャの TCL スクリプトの登録と定義」

組み込みイベントマネージャの設定の詳細については、『Cisco IOS Network Management Configuration Guide』Release 12.4T を参照してください。

組み込みイベントマネージャのアプレットの登録と定義

特権 EXEC モードを開始し、コンフィギュレーション コマンド event applet と action applet を使用してこのタスクを実行して、EEM でのアプレットの登録および EEM アプレットの定義を行います。


) EEM アプレットでは、イベント アプレット コマンドが 1 つだけ許可されます。処理アプレット コマンドは複数許可されます。コマンド no event および no action を指定しない場合、コンフィギュレーション モードを終了すると、アプレットは削除されます。


 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

event manager applet applet-name

EEM でアプレットを登録し、アプレット コンフィギュレーション モードを開始します。

ステップ 3

event snmp oid oid-value get-type { exact | next } entry-op { eq | ge | gt | le | lt | ne } entry-val entry-val [ exit-comb { or | and }] [ exit-op { eq | ge | gt | le | lt | ne }] [ exit-val exit-val ] [ exit-time exit-time-val ] poll-interval poll-int-val

EEM アプレットの実行の原因となるイベント基準を指定します。

(任意)終了基準。終了基準を指定しない場合は、イベント モニタリングがすぐに再び有効になります。

ステップ 4

action label syslog [ priority priority-level ] msg msg-text

EEM アプレットがトリガされたときの処理を指定します。その他の CLI コマンドをアプレットに追加するには、この処理を繰り返します。

(任意)priority キーワードでは、Syslog メッセージのプライオリティ レベルを指定します。これを選択した場合は、priority-level 引数を定義する必要があります。

msg-text 引数は、文字テキスト、環境変数、またはこの 2 つの組み合わせにすることができます。

ステップ 5

end

アプレット コンフィギュレーション モードを終了し、特権 EXEC モードに戻ります。

次の例は、SNMP オブジェクト ID で指定したフィールドのうちいずれかが定義済みしきい値を超えたときの EEM の出力を示しています

Switch(config-applet)# event snmp oid 1.3.6.1.4.1.9.9.48.1.1.1.6.1 get-type exact entry-op lt entry-val 5120000 poll-interval 10
  • 次の例は、EEM イベントに対応して実行される処理を示しています。
Switch(config-applet)# action 1.0 syslog priority critical msg "Memory exhausted; current available memory is $_snmp_oid_val bytes"
Switch (config-applet)# action 2.0 force-switchover

組み込みイベントマネージャTCL スクリプトの登録と定義

TCL スクリプトを EEM で登録し、TCL スクリプト コマンドとポリシー コマンドを定義するには、特権 EXEC モードを開始してこのタスクを実行します。

 

コマンド
目的

ステップ 1

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 2

show event manager environment [all | variable-name]

(任意)show event manager environment コマンドにより、EEM 環境変数の名前と値が表示されます。

(任意)all キーワードでは、EEM 環境変数が表示されます。

(任意)variable-name 引数では、指定した環境変数の情報が表示されます。

ステップ 3

configure terminal

グローバル コンフィギュレーション モードを開始します。

ステップ 4

event manager environment variable-name string

指定した EEM 環境変数の値を設定します。必要なすべての環境変数にこの手順を繰り返します。

ステップ 5

event manager policy policy-file-name [ type system ] [ trap ]

ポリシーで定義した指定イベントが発生したときに実行する EEM ポリシーを登録します。

ステップ 6

exit

グローバル コンフィギュレーション モードを終了し、特権 EXEC モードに戻ります。

次の例は、show event manager environment コマンドの出力例です。

Switch# show event manager environment all
No. Name Value
1 _cron_entry 0-59/2 0-23/1 * * 0-6
2 _show_cmd show ver
3 _syslog_pattern .*UPDOWN.*Ethernet1/0.*
4 _config_cmd1 interface Ethernet1/0
5 _config_cmd2 no shut
 

次の例は、ソフトウェアによって割り当てられた CRON タイマー環境変数を毎日の毎時間、毎分、毎秒に設定する方法を示します。

Switch(config)# event manager environment_cron_entry 0-59/2 0-23/1 * * 0-6
 

次の例は、システム ポリシーとして登録された tm_cli_cmd.tcl という名前のサンプルの EEM ポリシーを示します。システム ポリシーは Cisco IOS イメージの一部です。ユーザ定義 TCL スクリプトは、最初にフラッシュ メモリにコピーする必要があります。

Switch(config)# event manager policy tm_cli_cmd.tcl type system

組み込みイベントマネージャ情報の表示

EEM 登録済みポリシーおよび EEM 履歴データなど、EEM に関する情報を表示するには、『 Cisco IOS Network Management Command Reference 』を参照してください