Embedded Event Manager について
EEM はキー システムのイベントを監視し、セット ポリシーを通してイベントに作用します。このポリシーはプログラムされたスクリプトで、これを使用して、発生した特定の一連のイベントに基づいて処理を呼び出すように、スクリプトをカスタマイズできます。このスクリプトは、カスタム Syslog または簡易ネットワーク管理プロトコル(SNMP)トラップの生成、CLI(コマンドライン インターフェイス)コマンドの呼び出し、フェールオーバーの強制などの処理を生成します。スイッチからすべてのイベント管理を管理できるわけではなく、何らかの問題によって、スイッチと外部ネットワーク管理デバイス間の通信に障害が発生することがあるため、EEM のイベント管理機能は役立ちます。スイッチをリブートすることなく自動回復処理が行われる場合、ネットワークのアベイラビリティは向上します。
図 98に、EEM サーバ、コア イベント パブリッシャ(イベント検出器)、およびイベント サブスクライバ(ポリシー)の関係を示します。イベント パブリッシャはイベントを選別し、イベント サブスクライバによって提供されたイベント仕様と一致するイベントがいつ発生するかを決定します。イベントが発生すると、イベント検出器が EEM サーバに通知します。次に、システムの現在の状態と特定のイベントに対してポリシーで指定された処理に基づいて、EEM ポリシーが回復を実行します。
図 98 組み込みイベント マネージャ コア イベント検出器
EEM の導入例については、『 EEM Configuration for Cisco Integrated Services Router Platforms Guide 』を参照してください。
このセクションは、次のトピックで構成されています。
■イベント検出器
■Embedded Event Manager のアクション
■組み込みイベント マネージャ ポリシー
■組み込みイベント マネージャの環境変数
■EEM 3.2
イベント検出器
イベント検出器として知られる EEM ソフトウェアは、EEM イベントがいつ発生するかを決定します。イベント検出器は、モニタされるエージェント(SNMP など)と処理を実行できる EEM ポリシーの間のインターフェイスを提供する別個のシステムです。
EEM では、次のイベント検出器が使用できます。
■アプリケーション特有のイベント検出器:任意の EEM ポリシーがイベントをパブリッシュできます。
■IOS CLI イベント検出器:CLI によって入力されたコマンドに基づいてポリシーを生成します。
■Generic Online Diagnostics(GOLD)イベント検出器:GOLD 障害イベントが特定のカードおよびサブカードで検出されたとき、イベントをパブリッシュします。
■カウンタ イベント検出器:ネームド カウンタが指定されたしきい値を超えたとき、イベントをパブリッシュします。
■インターフェイス カウンタ イベント検出器:指定されたインターフェイスの汎用 Cisco IOS インターフェイス カウンタが定義されたしきい値を超えたとき、イベントをパブリッシュします。しきい値は絶対値か増分値で指定できます。たとえば、増分値を 50 に設定した場合、インターフェイスカウンタが 50 増えると、イベントがパブリッシュされます。
この検出器は、エントリ値と終了値の変化率に基づいて、インターフェイスに関するイベントをパブリッシュします。
■None イベントディテクタ: event manager run CLI コマンドが EEM ポリシーを実行したときにイベントをパブリッシュします。EEM は、ポリシー内のイベント仕様に基づいて、ポリシーをスケジューリングして実行します。EEM ポリシーは、 event manager run コマンドが実行される前に、手動で識別して登録する必要があります。
■活性挿抜(OIR)イベント検出器:ハードウェアの挿入または取り外し(OIR)イベントが発生したときに、イベントをパブリッシュします。
■リモート プロシージャ コール(RPC):セキュア シェル(SSH)を使用した暗号化接続を介してスイッチの外側から EEM ポリシーを起動し、XML ベースのメッセージ交換に、Simple Object Access Protocol(SOAP)データ符号化を使用します。さらに、EEM ポリシーを実行してから、SOAP XML フォーマットの応答内の出力を取得します。
■SNMP イベント検出器:次の場合に、標準 SNMP MIB オブジェクトをモニタし、イベントを生成できます。
–オブジェクトが指定した値と一致するか指定したしきい値を超える。
–期間の開始時における監視対象のオブジェクト ID(OID)値と、イベントがパブリッシュされたときの実際の OID 値の違いである SNMP デルタ値が、指定された値と一致する。
■SNMP 通知イベント検出器:スイッチが受信した SNMP トラップおよび通知メッセージを代行受信します。着信メッセージが指定された値と一致するか、定義されたしきい値を超えたとき、イベントがパブリッシュされます。
■Syslog イベント検出器:正規表現パターンマッチを持つ Syslog メッセージを選別できます。選別されたメッセージをさらに限定し、指定された時間内に特定の回数の発生を記録するように要求できます。指定されたイベント基準での一致により、設定されたポリシー処理がトリガーされます。
■Timer イベントディテクタ:次のさまざまな種類のタイマーのイベントをパブリッシュします。
–absolute-time-of-day タイマーは、指定された絶対的な日時が発生したとき、イベントをパブリッシュします。
–カウントダウン タイマーは、タイマーがゼロにカウントダウンされたとき、イベントをパブリッシュします。
–ウォッチドッグ タイマーは、タイマーがゼロにカウントダウンされたとき、イベントをパブリッシュします。タイマーは初期値に自動リセットされ、再びカウントダウンを開始します。
–CRON タイマーは、UNIX 標準 CRON 仕様を使用して、イベントをパブリッシュする時期を定義することによって、イベントをパブリッシュします。CRON タイマーは、1 分間にイベントを複数回パブリッシュすることはありません。
■ウォッチドッグ イベント ディテクタ(IOSWDSysMon):次のイベントのいずれかが発生するときにイベントをパブリッシュします。
–Cisco IOS プロセスでの CPU の利用率がしきい値を超えたとき
–Cisco IOS プロセスでのメモリの利用率がしきい値を超えたとき
同時に 2 つのイベントを監視でき、イベントがパブリッシュされる基準は、いずれかまたは両方のイベントが指定されたしきい値を超えた場合です。
Embedded Event Manager のアクション
イベントに反応して次の処理が発生します。
■名前付きカウンタの修正。
■アプリケーション特有のイベントのパブリッシュ。
■SNMP トラップの生成。
■優先化された syslog メッセージの生成。
■Cisco 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)スクリプトで定義します。
ユーザ定義の変数
ユーザ定義のポリシーに対して、ユーザにより定義されます。
■シスコ定義の変数
特定のサンプル ポリシーに対して、シスコにより定義されます。
■シスコ組み込み変数(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 には次のイベント ディテクタが導入されています。
■ネイバー探索:次の場合に自動ネイバー検出に応答するポリシーをパブリッシュできます。
–Cisco Discovery Protocol(CDP)のキャッシュ エントリが追加、削除、または更新された場合。
–リンク層検出プロトコル(LLDP)キャッシュ エントリが追加、削除、または更新された場合。
–インターフェイスのリンク ステータスが変更された場合。
–インターフェイスのライン ステータスが変更された場合。
■ID:AAA の許可および認証が成功した場合、障害が発生した場合、またはポート上で通常のユーザトラフィックの送信が許可された後にイベントを生成します。
■Mac-Address-Table:MAC アドレスが MAC アドレステーブルで学習された場合にイベントを生成します。
注: Mac-Address-Table イベントディテクタは、スイッチプラットフォームでだけサポートされていて、MAC アドレスが学習されたレイヤ 2 インターフェイスだけで使用できます。レイヤ 3 インターフェイスはアドレスを学習せず、ルータは通常、学習された MAC アドレスの EEM を通知するのに必要な MAC アドレス テーブル インフラストラクチャをサポートしません。
EEM 3.2 では、新しいイベント検出器で動作するアプレットをサポートするための CLI コマンドも導入されています。