Cisco ME 3400E イーサネット アクセス スイッチ ソ フトウェア コンフィギュレーション ガイド,12.2(52)SE
Embedded Event Manager の設定
Embedded Event Manager の設定
発行日;2012/01/30 | 英語版ドキュメント(2009/10/01 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 17MB) | フィードバック

目次

Embedded Event Manager の設定

Embedded Event Manager の概要

イベント ディテクタ

Embedded Event Manager のアクション

Embedded Event Manager ポリシー

Embedded Event Manager の環境変数

EEM 3.2

Embedded Event Manager の設定

Embedded Event Manager アプレットの登録および定義

Embedded Event Manager TCL スクリプトの登録および定義

Embedded Event Manager 情報の表示

Embedded Event Manager の設定

Embedded Event Manager(EEM)は、Cisco IOS デバイス内部におけるイベント検出および回復の、分散方式およびカスタマイズ方式のアプローチです。EEM は、イベントを監視し、監視対象イベントが発生したり、何らかのしきい値に達したりしたときに、通知や、対処、またはその他の EEM アクションを実行する機能を備えています。発生時に実行するイベントおよび実行するアクションは、EEM ポリシーによって定義します。

この章では EEM の設定方法、および、EEM を使用して Cisco ME 3400E イーサネット アクセス スイッチを監視および管理する方法について説明します。この章で使用するコマンドの構文および使用方法の詳細については、このリリースのスイッチ コマンド リファレンスおよび『 Cisco IOS Network Management Command Reference 』を参照してください。EEM マニュアル セット全体については、『Cisco IOS Network Management Configuration Guide』に記載されているマニュアルを参照してください。

Embedded Event Manager の概要

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

Cisco IOS CLI を使用した Embedded Event Manager ポリシーの作成

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

Tcl を使用した Embedded Event Manager ポリシーの作成

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

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

「Embedded Event Manager の概要」

「Embedded Event Manager の設定」

「Embedded Event Manager 情報の表示」

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

Embedded Event Manager の設定

「Embedded Event Manager アプレットの登録および定義」

「Embedded Event Manager TCL スクリプトの登録および定義」

Embedded Event Manager の設定の詳細については、『Cisco IOS Network Management Configuration Guide』 Release 12.4T を参照してください。

Embedded Event Manager アプレットの登録および定義

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


) 1 つの EEM アプレット内で許可される event applet コマンドは 1 つだけです。action applet コマンドは複数でも許可されます。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 { 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

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

EEM アプレットがトリガーされるときのアクションを指定します。他の CLI コマンドをアプレットに追加する場合、このアクションを繰り返します。

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

msg-text には、引数に文字テキスト、環境変数、またはその 2 つの組み合せを指定できます。

ステップ 5

end

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

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

Embedded Event Manager TCL スクリプトの登録および定義

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

 

コマンド
目的

ステップ 1

configure terminal

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

ステップ 1

show event manager environment [all | variable-name]

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

(任意)キーワード all を指定すると、EEM 環境変数が表示されます。

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

ステップ 2

configure terminal

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

ステップ 3

event manager environment variable-name string

指定した EEM 環境変数の値を指定します。必要なすべての環境変数に関して、このステップを繰り返します。

ステップ 4

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

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

ステップ 5

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 タイマー 環境変数の例を示します。毎日、毎時間、2 分ごとという設定が行われています。

Switch (config)# event manager environment_cron_entry 0-59/2 0-23/1 * * 0-6
 
This example shows the sample EEM policy named tm_cli_cmd.tcl registered as a system policy. The system policies are part of the Cisco IOS image. User-defined TCL scripts must first be copied to flash memory.
 
Switch (config)# event manager policy tm_cli_cmd.tcl type system

Embedded Event Manager 情報の表示

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