Cisco IE 3000 スイッチ ソフトウェア コンフィギュレーション ガイド Cisco IOS Release 15.0(2)SE
組み込みイベント マネージャの設定
組み込みイベント マネージャの設定
発行日;2012/12/16 | 英語版ドキュメント(2012/08/07 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 18MB) | フィードバック

目次

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

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

イベント検出器

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

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

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

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

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

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

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

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

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

この章では、EEM の使用方法と IE3000 スイッチで 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


) この機能は、IP サービス イメージが稼働しているスイッチでだけサポートされます。


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

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

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

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

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

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

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

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

 

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

「イベント検出器」

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

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

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

イベント検出器

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

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

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

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

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

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

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

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

リソースしきい値イベント検出器:グローバル プラットフォームの値およびしきい値に基づいて、ポリシーを生成します。CPU の利用率および残りのバッファ容量などのリソースを含みます。

Remote procedure call(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 メッセージを選別できます。選別されたメッセージをさらに限定し、指定された時間内に特定の回数の発生を記録するように要求できます。指定されたイベント基準での一致により、設定されたポリシー処理がトリガーされます。

タイマー イベント検出器:次のイベントをパブリッシュします。

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

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

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

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

ウォッチドック イベント検出器(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 機能拡張は、EEM ポリシーの開発を容易にします。これらのキーワードは、検出されたイベント、その後の処理、ユーティリティ情報、カウンタ値、およびシステム情報を識別します。

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

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

EEM は EEM ポリシーで環境変数を使用します。これらの変数は、CLI コマンドと event manager environment コマンドを実行することにより、EEM ポリシー TCL スクリプトで定義されます。

ユーザ定義の変数

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

シスコ定義の変数

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

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

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

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

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

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

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

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

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

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

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

 

コマンド
目的

ステップ 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 コマンドを追加します。

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

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

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

EEM で TCL スクリプトを登録し、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

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

EEE に関する情報(EEM の登録されたポリシーや EEM の履歴データを含む)を表示するには、『 Cisco IOS Network Management Command Reference 』を参照してください。