Embedded Event Manager の概要
Embedded Event Manager(EEM)では、主要なシステム イベントが監視され、次に、set ポリシーを介してそれらのイベントに対応したアクションが実行されます。このポリシーは、プログラミングされたスクリプトであり、これを使用し、指定した一連の発生イベントに基づいてアクションを起動するためのスクリプトをカスタマイズできます。このスクリプトにより、カスタム シスログや Simple Network Management Protocol(SNMP; 簡易ネットワーク管理プロトコル)トラップの生成、CLI コマンドの起動、フェールオーバーの強制などの各種アクションが生成されます。すべてのイベント管理がスイッチから管理できるわけではなく、またスイッチと外部ネットワーク管理デバイス間の通信に問題がある場合もあります。これらのことから、EEM のイベント管理機能は便利です。自動回復アクションがスイッチを再起動することなく実行されれば、ネットワークのアベイラビリティは向上します。
図 31-1 に、EEM サーバ、コア イベント パブリッシャ(イベント ディテクタ)、およびイベント サブスクライバ(ポリシー)との間の関係を示します。イベント パブリッシャは、イベント サブスクライバによって提供されるイベント仕様との一致が存在するときに、イベントをスクリーニングします。イベントが発生すると、イベント ディテクタによって、EEM サーバに対して通知されます。システムの現在の状態と、特定のイベントに関してポリシー内で指定されたアクションに基づいて、EEM ポリシーによって回復が実行されます。
図 31-1 Embedded Event Manager コア イベント ディテクタ
EEM 配置の例については、『 EEM Configuration for Cisco Integrated Services Router Platforms Guide 』を参照してください。
ここでは、次の概要について説明します。
•
「イベント ディテクタ」
•
「Embedded Event Manager のアクション」
•
「Embedded Event Manager ポリシー」
•
「Embedded Event Manager の環境変数」
•
「EEM 3.2」
イベント ディテクタ
イベント ディテクタと呼ばれる EEM ソフトウェア プログラムによって、EEM イベントが発生するタイミングが決定されます。各イベント ディテクタはそれぞれ別個のシステムであり、監視されるエージェント(SNMP など)と、アクションを実装できる EEM ポリシーとの間のインターフェイスとなります。
EEM では、次のイベント ディテクタが使用可能です。
•
アプリケーション特有のイベント ディテクタ:あらゆる EEM ポリシーによるイベントの発行を可能にします。
•
IOS CLI イベント ディテクタ:CLI を介して入力されたコマンドに基づいてポリシーを生成します。
•
Generic Online Diagnostics(GOLD)イベント ディテクタ:指定したカードおよびサブカード上で GOLD 障害イベントが検出されたときにイベントを発行します。
•
カウンタ イベント ディテクタ:名前付きカウンタが指定されたしきい値を超えたときにイベントを発行します。
•
インターフェイス カウンタ イベント ディテクタ:指定されたインターフェイス用の汎用 Cisco IOS インターフェイス カウンタが定義されたしきい値を超えたときにイベントを発行します。しきい値は、絶対値としても増分値としても指定できます。たとえば、増分値を 50 に設定すると、インターフェイス カウンタが 50 増加するたびにイベントが発行されます。
このディテクタでは、エントリ値および終了値の変化率に基づいたインターフェイスに関するイベントも発行されます。
•
イベントディテクタなし:event manager run CLI コマンドによって EEM ポリシーが実行されたときにイベントを発行します。EEM は、ポリシー自体の内部のイベント仕様に基づいて、ポリシーをスケジューリングおよび実行します。event manager run コマンドが実行される前に、EEM ポリシーを手動で特定および登録する必要があります。
•
活性挿抜イベント ディテクタ:ハードウェアの挿入または取り外し(OIR)イベントが発生したときにイベントを発行します。
•
Remote Procedure Call(RPC; リモート プロシージャ コール)イベント ディテクタ:Secure Shell(SSH; セキュア シェル)を使用した暗号化接続を介してスイッチの外部から EEM ポリシーを起動し、Simple Object Access Protocol(SOAP)データ符号化を使用して XML ベースのメッセージを交換します。また、EEM ポリシーを実行してから、SOAP XML 形式の応答内の出力を取得します。
•
SNMP イベント ディタクタ:次の場合に、標準 SNMP MIB オブジェクトの監視とイベントの生成を可能にします。
–
オブジェクトが、指定した値に一致するか、指定したしきい値を超える。
–
期間の開始時における監視対象 Object Identifier(OID; オブジェクト ID)値と、イベント発行時における実際の OID 値の違いである SNMP デルタ値が、指定値と一致する。
•
SNMP 通知イベント ディテクタ:SNMP トラップ、およびスイッチによって受信される通知メッセージを代行受信します。このイベントは、着信メッセージが指定値に一致するか、定義されたしきい値を超えたときに生成されます。
•
シスログ イベント ディテクタ:正規表現パターン マッチのためのシスログ メッセージのスクリーニングを可能にします。選択したメッセージをさらに限定し、特定の発生回数を指定した時間内にロギングすることを要求できます。指定したイベント基準が満たされると、設定したポリシー アクションがトリガーされます。
•
タイマー イベント ディテクタ:次のイベントを発行します。
–
指定した絶対日付時刻が発生するときに Absolute-Time-of-Day タイマーがイベントを発行します。
–
タイマーがゼロに向けてカウント ダウンするときにカウントダウン タイマーがイベントを発行します。
–
タイマーがゼロに向けてカウント ダウンするときにウォッチドッグ タイマーがイベントを発行します。タイマーそれ自体が自動的に初期値にリセットされ、カウント ダウンが再開されます。
–
イベントが発行されるタイミングが定義された UNIX 標準 CRON 仕様によって、CRON タイマーがイベントを発行します。CRON タイマーがイベントを発行するのは 1 分ごとに 1 回だけです。
•
ウォッチドッグ イベント ディテクタ(IOSWDSysMon):次のイベントのいずれかが発生するときにイベントを発行します。
–
Cisco IOS 処理の CPU 使用率がしきい値を超える。
–
Cisco IOS 処理のメモリ使用率がしきい値を超える。
2 つのイベントを同時に監視できます。イベント発行基準は、1 つまたは両方のイベントが指定したしきい値を超えることです。
Embedded Event Manager のアクション
イベントに応じて、次のアクションが発生します。
•
名前付きカウンタの変更
•
アプリケーション特有のイベントの発行
•
SNMP トラップの生成
•
プライオリティ付けされたシスログ メッセージの生成
•
Cisco IOS ソフトウェアのリロード
Embedded Event Manager ポリシー
EEM によって、イベントを監視して情報を取得したり、監視対象のイベントが発生した、またはしきい値に達した場合に、適切な対策をとったりすることができます。EEM ポリシーは、イベントを定義し、また、そのイベントが発生したときに実行するアクションを定義するエンティティです。
EEM ポリシーには、アプレットとスクリプトの 2 種類があります。アプレットは、CLI 設定の中で定義される簡単なポリシーです。イベント スクリーニング基準、およびそのイベントが発生するときに実行するアクションを定義するための簡潔な手段です。スクリプトは、ASCII エディタを使用して、ネットワーキング デバイス上で定義します。その後、スクリプト(バイトコード(.tbc)およびテキスト(.tcl)スクリプトにすることが可能)をネットワーキング デバイスにコピーして、EEM で登録します 1 つの .tcl ファイル内に複数のイベントを登録することも可能です。
シスコによるキーワード拡張による TCL の拡張によって、EEM ポリシーの作成が容易になっています。これらのキーワードによって、検出対象イベント、後続のアクション、ユーティリティ情報、カウンタ値、およびシステム情報が識別されます。
EEM ポリシーおよびスクリプトの設定の詳細については、『Cisco IOS Network Management Configuration Guide』 Release 12.4T を参照してください。
Embedded Event Manager の環境変数
EEM では、EEM ポリシー内で環境変数が使用されます。次の変数は、CLI コマンドおよび event manager environment コマンドを実行することによって、EEM ポリシー Tool Command Language(TCL)スクリプト内で定義します。
ユーザ定義変数
ユーザ定義ポリシー用に、ユーザが定義します。
•
シスコ定義変数
特定のサンプル ポリシー用に、シスコが定義したものです。
•
シスコ組み込み変数(EEM アプレット内で使用可能)
シスコによって定義され、読み込み専用と、読み取り/書き込みがあります。読み取り専用変数は、アプレットが実行を開始する前に、システムによって設定されます。単一の読み取り/書き込み変数(_exit_status)によって、同期イベントからトリガーされるポリシーの終了ステータスを設定できます。
シスコ定義環境変数およびシスコ システム定義環境変数は、ある特定のイベント ディテクタに適用することも、すべてのイベント ディテクタに適用することも可能です。ユーザ定義の、またはサンプル ポリシー内のシスコが定義した環境変数は、event manager environment グローバル コンフィギュレーション コマンドを使用して設定します。ポリシーを登録する前に、EEM ポリシー内で変数を定義する必要があります。
EEM でサポートされている環境変数については、『Cisco IOS Network Management Configuration Guide』 Release 12.4T を参照してください。
EEM 3.2
EEM 3.2 は、Cisco IOS リリース 12.2(52)SE 以降でサポートされており、次のイベント ディテクタが導入されています。
•
近接ディスカバリ:近接ディスカバリ イベント ディテクタでは、次の場合に、自動近接検出に応答するためのポリシーを発行する機能が提供されます。
–
Cisco Discovery Protocol(CDP; シスコ検出プロトコル)キャッシュ エントリが追加、削除、または更新される。
–
Link Layer Discovery Protocol(LLDP; リンク レイヤ検出プロトコル)キャッシュ エントリが追加、削除、または更新される。
–
インターフェイス リンク ステータスが変更される。
–
インターフェイス ライン ステータスが変更される。
•
ID:AAA 許可および認証が成功するとき、障害が発生するとき、または、ポート上の通常のユーザ トラフィックがフローを許可された後に、ID イベント ディテクタによって、イベントが生成されます
•
MAC アドレス テーブル:MAC アドレスが MAC アドレス テーブル内で学習されるときに、MAC アドレス テーブル イベント ディテクタによってイベントが生成されます。
(注) MAC アドレス テーブル イベント ディテクタがサポートされるのは、スイッチ プラットフォーム上だけであり、MAC アドレスが学習されるレイヤ 2 インターフェイス上でだけ使用できます。レイヤ 3 インターフェイスでは、アドレスは学習されません。また、通常の場合、ルータでは、学習された MAC アドレスを EEM に通知するために必要な MAC アドレス テーブル インフラストラクチャはサポートされません。
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