Cisco Catalyst Blade Switch 3030 for Dell Software コンフィギュレーション ガイド
組み込みイベント マネージャ(EEM)の設定
組み込みイベント マネージャ(EEM)の設定
発行日;2012/01/31 | 英語版ドキュメント(2011/06/01 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 10MB) | フィードバック

目次

組み込みイベント マネージャ(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

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

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

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

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

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

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

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

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

 

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

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

「イベント ディテクタ」

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

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

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

「EEM 3.2」

イベント ディテクタ

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

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 分間に複数回イベントをパブリッシュしません。

Watchdog イベント ディテクタ(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 Discovery Protocol(CDP; シスコ検出プロトコル)キャッシュ エントリの追加、削除、または更新。

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

インターフェイス リンク ステータスの変更。

インターフェイス ライン ステータスの変更。

ID:ID イベント ディテクタは、AAA 許可および認証が成功したとき、失敗したとき、または、ポート上の通常のユーザ トラフィックのフローが許可された後に、イベントを生成します。

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


) Mac アドレス テーブル イベント ディテクタは、スイッチ プラットフォーム上でだけサポートされ、MAC アドレスが学習されるレイヤ 2 インターフェイスでだけ使用できます。レイヤ 3 インターフェイスはアドレスを学習せず、ルータは通常、学習された MAC アドレスを EFM に通知するために必要な 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

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

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

「組み込みイベントマネージャの 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 』を参照してください