Embedded Event Manager の設定

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

この章では、EEM を設定して、シスコの産業用イーサネットスイッチ(以降、スイッチと呼びます)を監視および管理するために使用する方法について説明します。

注: この章で使用するコマンドの構文および使用方法の詳細については、関連資料に記載されているマニュアルを参照してください。

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

blank.gifEmbedded Event Manager について

blank.gif前提条件

blank.gif注意事項と制約事項

blank.gifデフォルト設定

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

blank.gif設定の確認

blank.gif設定例

blank.gif関連資料

Embedded Event Manager について

EEM はキー システムのイベントを監視し、セット ポリシーを通してイベントに作用します。このポリシーはプログラムされたスクリプトで、これを使用して、発生した特定の一連のイベントに基づいて処理を呼び出すように、スクリプトをカスタマイズできます。このスクリプトは、カスタム Syslog または簡易ネットワーク管理プロトコル(SNMP)トラップの生成、CLI(コマンドライン インターフェイス)コマンドの呼び出し、フェールオーバーの強制などの処理を生成します。スイッチからすべてのイベント管理を管理できるわけではなく、何らかの問題によって、スイッチと外部ネットワーク管理デバイス間の通信に障害が発生することがあるため、EEM のイベント管理機能は役立ちます。スイッチをリブートすることなく自動回復処理が行われる場合、ネットワークのアベイラビリティは向上します。

図 98 に、EEM サーバ、コア イベント パブリッシャ(イベント検出器)、およびイベント サブスクライバ(ポリシー)の関係を示します。イベント パブリッシャはイベントを選別し、イベント サブスクライバによって提供されたイベント仕様と一致するイベントがいつ発生するかを決定します。イベントが発生すると、イベント検出器が EEM サーバに通知します。次に、システムの現在の状態と特定のイベントに対してポリシーで指定された処理に基づいて、EEM ポリシーが回復を実行します。

図 98 組み込みイベント マネージャ コア イベント検出器

 

127574.jpg

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

このセクションは、次のトピックで構成されています。

blank.gifイベント検出器

blank.gifEmbedded Event Manager のアクション

blank.gif組み込みイベント マネージャ ポリシー

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

blank.gifEEM 3.2

イベント検出器

イベント検出器として知られる EEM ソフトウェアは、EEM イベントがいつ発生するかを決定します。イベント検出器は、モニタされるエージェント(SNMP など)と処理を実行できる EEM ポリシーの間のインターフェイスを提供する別個のシステムです。

EEM では、次のイベント検出器が使用できます。

blank.gifアプリケーション特有のイベント検出器:任意の EEM ポリシーがイベントをパブリッシュできます。

blank.gifIOS CLI イベント検出器:CLI によって入力されたコマンドに基づいてポリシーを生成します。

blank.gifGeneric Online Diagnostics(GOLD)イベント検出器:GOLD 障害イベントが特定のカードおよびサブカードで検出されたとき、イベントをパブリッシュします。

blank.gifカウンタ イベント検出器:ネームド カウンタが指定されたしきい値を超えたとき、イベントをパブリッシュします。

blank.gifインターフェイス カウンタ イベント検出器:指定されたインターフェイスの汎用 Cisco IOS インターフェイス カウンタが定義されたしきい値を超えたとき、イベントをパブリッシュします。しきい値は絶対値か増分値で指定できます。たとえば、増分値を 50 に設定した場合、インターフェイスカウンタが 50 増えると、イベントがパブリッシュされます。

この検出器は、エントリ値と終了値の変化率に基づいて、インターフェイスに関するイベントをパブリッシュします。

blank.gifNone イベントディテクタ: event manager run CLI コマンドが EEM ポリシーを実行したときにイベントをパブリッシュします。EEM は、ポリシー内のイベント仕様に基づいて、ポリシーをスケジューリングして実行します。EEM ポリシーは、 event manager run コマンドが実行される前に、手動で識別して登録する必要があります。

blank.gif活性挿抜(OIR)イベント検出器:ハードウェアの挿入または取り外し(OIR)イベントが発生したときに、イベントをパブリッシュします。

blank.gifリモート プロシージャ コール(RPC):セキュア シェル(SSH)を使用した暗号化接続を介してスイッチの外側から EEM ポリシーを起動し、XML ベースのメッセージ交換に、Simple Object Access Protocol(SOAP)データ符号化を使用します。さらに、EEM ポリシーを実行してから、SOAP XML フォーマットの応答内の出力を取得します。

blank.gifSNMP イベント検出器:次の場合に、標準 SNMP MIB オブジェクトをモニタし、イベントを生成できます。

blank.gifオブジェクトが指定した値と一致するか指定したしきい値を超える。

blank.gif期間の開始時における監視対象のオブジェクト ID(OID)値と、イベントがパブリッシュされたときの実際の OID 値の違いである SNMP デルタ値が、指定された値と一致する。

blank.gifSNMP 通知イベント検出器:スイッチが受信した SNMP トラップおよび通知メッセージを代行受信します。着信メッセージが指定された値と一致するか、定義されたしきい値を超えたとき、イベントがパブリッシュされます。

blank.gifSyslog イベント検出器:正規表現パターンマッチを持つ Syslog メッセージを選別できます。選別されたメッセージをさらに限定し、指定された時間内に特定の回数の発生を記録するように要求できます。指定されたイベント基準での一致により、設定されたポリシー処理がトリガーされます。

blank.gifTimer イベントディテクタ:次のさまざまな種類のタイマーのイベントをパブリッシュします。

blank.gifabsolute-time-of-day タイマーは、指定された絶対的な日時が発生したとき、イベントをパブリッシュします。

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

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

blank.gifCRON タイマーは、UNIX 標準 CRON 仕様を使用して、イベントをパブリッシュする時期を定義することによって、イベントをパブリッシュします。CRON タイマーは、1 分間にイベントを複数回パブリッシュすることはありません。

blank.gifウォッチドッグ イベント ディテクタ(IOSWDSysMon):次のイベントのいずれかが発生するときにイベントをパブリッシュします。

blank.gifCisco IOS プロセスでの CPU の利用率がしきい値を超えたとき

blank.gifCisco IOS プロセスでのメモリの利用率がしきい値を超えたとき

同時に 2 つのイベントを監視でき、イベントがパブリッシュされる基準は、いずれかまたは両方のイベントが指定されたしきい値を超えた場合です。

Embedded Event Manager のアクション

イベントに反応して次の処理が発生します。

blank.gif名前付きカウンタの修正。

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

blank.gifSNMP トラップの生成。

blank.gif優先化された syslog メッセージの生成。

blank.gifCisco IOS ソフトウェアのリロード

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

EEM はイベントを監視して情報を提供するか、または監視されたイベントが発生するかしきい値に達した場合に是正措置を行うことができます。EEM ポリシーは、イベントおよびイベントが発生した場合に行う処理を定義するエンティティです。

EEM ポリシーにはアプレットとスクリプトの 2 つのタイプがあります。アプレットは、CLI 設定内で定義される簡易なポリシーです。イベントの選別基準とイベントが発生した場合に行う処理を定義する簡易な方法です。スクリプトは、ASCII エディタを使用して、ネットワーキング デバイス上で定義されます。スクリプト(バイトコード(.tbc)とテキスト(.tcl)スクリプトで作成できます)は、次に、ネットワーキング デバイスにコピーされ、EEM によって登録されます。さらに、1 つの.tcl ファイルに複数のイベントを登録できます。

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

EEM ポリシーおよびスクリプトの設定の詳細については、『 Embedded Event Manager Configuration Guide, Cisco IOS Release 15M&T 』を参照してください。

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

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

ユーザ定義の変数

ユーザ定義のポリシーに対して、ユーザにより定義されます。

blank.gifシスコ定義の変数

特定のサンプル ポリシーに対して、シスコにより定義されます。

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

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

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

EEM がサポートする環境変数の詳細については、『 Embedded Event Manager Configuration Guide, Cisco IOS Release 15M&T 』を参照してください。

EEM 3.2

EEM 3.2 には次のイベント ディテクタが導入されています。

blank.gifネイバー探索:次の場合に自動ネイバー検出に応答するポリシーをパブリッシュできます。

blank.gifCisco Discovery Protocol(CDP)のキャッシュ エントリが追加、削除、または更新された場合。

blank.gifリンク層検出プロトコル(LLDP)キャッシュ エントリが追加、削除、または更新された場合。

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

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

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

blank.gifMac-Address-Table:MAC アドレスが MAC アドレステーブルで学習された場合にイベントを生成します。

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

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

前提条件

blank.gifEmbedded Event Manager についてを確認してください。

blank.gif action snmp-trap コマンドを使用した場合、 snmp-server enable traps event-manager コマンドをイネーブルにして、SNMP トラップが Cisco IOS デバイスから SNMP サーバに送信されることを許可する必要があります。その他の関連する snmp-server コマンドを設定する必要もあります。詳細については、 action snmp-trap コマンドページを参照してください。

注意事項と制約事項

EEM 機能は、IE 4010 の 15.2(4)EC リリース以降と、IE 4000 および IE 5000 の 15.2(5)E リリース以降で、Lanbase Services ライセンスと IP Services ライセンスの両方でサポートされています。15.2(5)E リリースより前のリリースでは、IE 4000 および IE 5000 プラットフォームでの IP Services ライセンスが必要でした。

組み込みイベントマネージャの設定の詳細については、『 Embedded Event Manager Configuration Guide, Cisco IOS Release 15M&T 』を参照してください。

デフォルト設定

EEM ポリシーは登録されていません。

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

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

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

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

はじめる前に

Embedded Event Manager について」を確認してください。

手順の詳細

注: EEM アプレットでは、1 つのイベントアプレットコマンドしか使用できません。複数の処理アプレット コマンドが使用できます。 no event および no action コマンドを指定しない場合、コンフィギュレーション モードを終了すると、アプレットは削除されます。

 

 
コマンド
目的

1.blank.gif

configure terminal

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

2.blank.gif

event manager applet applet-name

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

3.blank.gif

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

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

(任意)終了基準。終了基準を指定しない場合、イベント モニタリングがすぐに再イネーブル化されます。

4.blank.gif

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

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

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

blank.gif msg-text の場合、引数は文字テキスト、環境変数、またはこの 2 つを組み合わせたものになります。

5.blank.gif

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 スクリプトの登録と定義

はじめる前に

Embedded Event Manager について」を確認してください。

手順の詳細

 

 
コマンド
目的

1.blank.gif

configure terminal

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

1.blank.gif

show event manager environment [ all | variable-name ]

(任意) show event manager environment コマンドは、EEM 環境変数の名前と値を表示します。

blank.gif(任意) all キーワードは、EEM 環境変数を表示します。

blank.gif(任意) variable-name 引数は、指定された環境変数に関する情報を表示します。

2.blank.gif

configure terminal

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

3.blank.gif

event manager environment variable-name string

指定された EEM 環境変数の値を設定します。要求されたすべての環境変数でこのステップを繰り返します。

4.blank.gif

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

EEM ポリシーを登録し、ポリシー内で定義された特定のイベントが発生した場合に実行します。

5.blank.gif

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 Embedded Event Manager Command Reference 』を参照してください。

設定例

次に、SNMP オブジェクト ID によって指定されたフィールドの 1 つが、定義されたしきい値を超えた場合の 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
 

次に、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

関連資料

blank.gif 『Cisco IOS Master Command List, All Releases』

blank.gif 『Cisco IOS Embedded Event Manager Command Reference』

blank.gif 『Cisco IOS 15.2M&T Command References, Network Management』

blank.gif 『Embedded Event Manager Configuration Guide, Cisco IOS Release 15M&T』