Cisco Nexus 9000 シリーズ NX-OS システム管理コンフィギュレーション ガイド リリース 6.x
Embedded Event Manager の設定
Embedded Event Manager の設定
発行日;2014/01/21 | 英語版ドキュメント(2013/11/21 版) | ドキュメントご利用ガイド | ダウンロード ; この章pdf , ドキュメント全体pdf (PDF - 2MB) | フィードバック

目次

Embedded Event Manager の設定

EEM について

EEM の概要

ポリシー

イベント文

アクション文

VSH スクリプト ポリシー

環境変数

EEM イベント相関

ハイ アベイラビリティ

仮想化のサポート

EEM のライセンス要件

EEM の前提条件

注意事項と制約事項

デフォルト設定値

EEM の設定

環境変数の定義

CLI によるユーザ ポリシーの定義

イベント文の設定

アクション文の設定

VSH スクリプトによるポリシーの定義

VSH スクリプト ポリシーの登録およびアクティブ化

ポリシーの上書き

メモリのしきい値の設定

EEM パブリッシャとしての Syslog の設定

EEM 設定の確認

EEM のコンフィギュレーション例

Embedded Event Manager の設定

この章では、Embedded Event Manager(EEM)を設定して Cisco NX-OS デバイス上のクリティカル イベントを検出し、対処する方法について説明します。

この章は、次の項で構成されています。

「EEM について」

「EEM のライセンス要件」

「EEM の前提条件」

「注意事項と制約事項」

「デフォルト設定値」

「EEM の設定」

「EEM 設定の確認」

「EEM のコンフィギュレーション例」

EEM について

EEM はデバイス上で発生するイベントをモニタし、設定に基づいて各イベントの回復またはトラブルシューティングのためのアクションを実行します。

この項では、次のトピックについて取り上げます。

「EEM の概要」

「ポリシー」

「イベント文」

「アクション文」

「VSH スクリプト ポリシー」

「環境変数」

「EEM イベント相関」

「ハイ アベイラビリティ」

「仮想化のサポート」

EEM の概要

EEM は次の 3 種類の主要コンポーネントからなります。

イベント文:別の Cisco NX-OS コンポーネントからモニタし、アクション、回避策、または通知が必要になる可能性のあるイベント。

アクション文:電子メールの送信、インターフェイスのディセーブル化など、イベントから回復するために EEM が実行できるアクション。

ポリシー:イベントのトラブルシューティングまたはイベントからの回復を目的とした 1 つまたは複数のアクションとペアになったイベント。

ポリシー

EEM ポリシーは、イベント文および 1 つまたは複数のアクション文からなります。イベント文では、探すイベントとともに、イベントのフィルタリング特性を定義します。アクション文では、イベントの発生時に EEM が実行するアクションを定義します。

図 12-1 に、EEM ポリシーの基本的な 2 種類の文を示します。

図 12-1 EEM ポリシー文

 

 

コマンドライン インターフェイス(CLI)または VSH スクリプトを使用して EEM ポリシーを設定できます。

EEM からデバイス全体のポリシー管理ビューが得られます。スーパーバイザ上で EEM ポリシーを設定すると、EEM がイベント タイプに基づいて、正しいモジュールにポリシーをプッシュします。EEM はモジュール上でローカルに、またはスーパーバイザ上で(デフォルトのオプション)、発生したイベントに対応するアクションを実行します。

EEM はスーパーバイザ上でイベント ログを維持します。

Cisco NX-OS には、設定済みのさまざまなシステム ポリシーがあります。これらのシステム ポリシーでは、デバイスに関連する多数の一般的なイベントおよびアクションが定義されています。システム ポリシー名は、2 個の下線記号(__)から始まります。

使用するネットワークに合わせてユーザ ポリシーを作成できます。ユーザ ポリシーを作成すると、そのポリシーと同じイベントに関連するシステム ポリシー アクションが EEM によって発生したあと、ユーザ ポリシーで指定したアクションが行われます。ユーザ ポリシーを設定する場合には、「CLI によるユーザ ポリシーの定義」を参照してください。

一部のシステム ポリシーは上書きすることもできます。設定した上書き変更がシステム ポリシーの代わりになります。イベントまたはアクションの上書きが可能です。

設定済みのシステム ポリシーを表示して、上書き可能なポリシーを判断するには、 show event manager system-policy コマンドを使用します。

上書きポリシーを設定する場合は、「ポリシーの上書き」を参照してください。


show running-config eem コマンドを使用して、各ポリシーのコンフィギュレーションを確認してください。イベント文が指定されていて、アクション文が指定されていない上書きポリシーを設定した場合、アクションは開始されません。また、障害も通知されません。



) 上書きポリシーには、必ずイベント文を指定します。上書きポリシーにイベント文が含まれていないと、システム ポリシーで可能性のあるイベントがすべて上書きされます。


イベント文

イベントは、回避、通知など、何らかのアクションが必要なデバイス アクティビティです。これらのイベントは通常、インターフェイスやファンの誤動作といったデバイスの障害に関連します。

EEM ではイベント フィルタを定義して、クリティカル イベントまたは指定された時間内で繰り返し発生したイベントだけが関連付けられたアクションのトリガーになるようにします。

図 12-2 に、EEM が処理するイベントを示します。

図 12-2 EEM の概要

 

イベント文では、ポリシー実行のトリガーになるイベントを指定します。複数のイベント トリガーを設定できます。複数イベントの設定の詳細については、「EEM イベント相関」を参照してください。

EEM はイベント文に基づいてポリシーをスケジューリングし、実行します。EEM はイベントおよびアクション コマンドを検証し、定義に従ってコマンドを実行します。


) 発生したイベントでデフォルトのアクションを処理できるようにする場合は、event-default アクション文を許可して EEM ポリシーを設定する必要があります。


アクション文

アクション文では、ポリシーによって実行されるアクションを記述します。各ポリシーに複数のアクション文を設定できます。ポリシーにアクションを関連付けなかった場合、EEM はイベント観察を続けますが、アクションは実行されません。

EEM がアクション文でサポートするアクションは、次のとおりです。

CLI コマンドの実行

カウンタのアップデート

例外の記録

モジュールの強制的シャットダウン

デバイスのリロード

電力のバジェット超過による特定モジュールのシャットダウン

Syslog メッセージの生成

Call Home イベントの生成

SNMP 通知の生成

システム ポリシー用デフォルト アクションの使用


) 発生したイベントでデフォルトのアクションを処理できるようにする場合は、デフォルトのアクションを許可する EEM ポリシーを設定する必要があります。たとえば、match 文で CLI コマンドを照合する場合、EEM ポリシーに event-default アクション文を追加する必要があります。この文がないと、EEM では CLI コマンドを実行できません。



) ユーザ ポリシーまたは上書きポリシーの中に、相互に否定したり、関連付けられたシステム ポリシーに悪影響を与えたりするようなアクション文がないかどうかを確認してください。


VSH スクリプト ポリシー

テキスト エディタを使用し、VSH スクリプトでポリシーを作成することもできます。このようなポリシーにも、他のポリシーと同様、イベント文およびアクション文(複数可)を使用します。また、これらのポリシーでシステム ポリシーを補うことも上書きすることもできます。VSH スクリプト ポリシーを作成したら、そのポリシーをデバイスにコピーしてアクティブにします。VSH スクリプト ポリシーを設定するには、「VSH スクリプトによるポリシーの定義」を参照してください。

環境変数

すべてのポリシーに使用できる、EEM の環境変数を定義できます。環境変数は、複数のポリシーで使用できる共通の値を設定する場合に便利です。たとえば、外部電子メール サーバの IP アドレスに対応する環境変数を作成できます。

パラメータ置換フォーマットを使用することによって、アクション文で環境変数を使用できます。

例 12-1 に、「EEM action」というリセット理由を指定し、モジュール 1 を強制的にシャットダウンするアクション文の例を示します。

例 12-1 アクション文

switch (config-eem-policy)# action 1.0 forceshut module 1 reset-reson “EEM action.”
 

シャットダウンの理由に default-reason という環境変数を定義すると、例 12-2 のように、リセット理由を環境変数に置き換えることができます。

例 12-2 環境変数を使用するアクション文

switch (config-eem-policy)# action 1.0 foreshut module 1 reset-reason $default-reason
 

この環境変数は、任意のポリシーで再利用できます。環境変数の詳細については、「環境変数の定義」を参照してください

EEM イベント相関

イベントの組み合わせに基づいて EEM ポリシーをトリガーできます。まず、EEM ポリシーで複数のイベントを作成および区別するために tag キーワードを使用します。次に、一連のブール演算子( AND OR ANDNOT )を使用して、回数および時間をもとに、カスタム処理をトリガーするこれらのイベントの組み合わせを定義できます。


) EEM イベント相関の設定については、「CLI によるユーザ ポリシーの定義」を参照してください。


ハイ アベイラビリティ

Cisco NX-OS は、EEM のステートレス リスタートをサポートします。リブートまたはスーパーバイザ スイッチオーバーの後に、Cisco NX-OS は実行コンフィギュレーションを適用します。

仮想化のサポート

アクションまたはイベントがすべて表示されるわけではありません。ポリシーを設定するには、network-admin の権限が必要です。

EEM のライセンス要件

 

製品
ライセンス要件

Cisco NX-OS

EEM にはライセンスは不要です。ライセンス パッケージに含まれていない機能は nx-os イメージにバンドルされており、無料で提供されます。Cisco NX-OS のライセンス スキームの詳細は、『 Cisco NX-OS Licensing Guide 』を参照してください。

EEM の前提条件

EEM の前提条件は、次のとおりです。

EEM を設定するには、network-admin のユーザ権限が必要です。

注意事項と制約事項

EEM に関する設定時の注意事項および制約事項は、次のとおりです。

設定可能な EEM ポリシーの最大数は 500 です。

ユーザ ポリシーまたは上書きポリシー内のアクション文が、相互に否定したり、関連付けられたシステム ポリシーに悪影響を与えたりするようなことがないようにする必要があります。

発生したイベントでデフォルトのアクションを処理できるようにする場合は、デフォルトのアクションを許可する EEM ポリシーを設定する必要があります。たとえば、match 文で CLI コマンドを照合する場合、EEM ポリシーに event-default アクション文を追加する必要があります。この文がないと、EEM では CLI コマンドを実行できません。

イベント文が指定されていて、アクション文が指定されていない上書きポリシーを設定した場合、アクションは開始されません。また、障害も通知されません。

上書きポリシーにイベント文が含まれていないと、システム ポリシーで可能性のあるイベントがすべて上書きされます。

通常のコマンド式に適用できるルールは、すべてのキーワードを拡張する必要があること、そして * 記号のみが引数の置換に使用できることです。

EEM イベント相関はスーパーバイザ モジュールだけでサポートされます。

EEM イベント相関は、単一ポリシー内の別のモジュール間ではサポートされません。

EEM イベント相関は 1 つのポリシーに最大 4 つのイベント文をサポートします。イベント タイプは同じでも別でもかまいませんが、サポートされるイベント タイプは、cli、カウンタ、モジュール、モジュール障害、oir、snmp、syslog だけです。

複数のイベント文が EEM ポリシーに存在する場合は、各イベント文に tag キーワードと一意な tag 引数が必要です。

EEM イベント相関はシステムのデフォルト ポリシーを上書きしません。

デフォルト アクション実行は、タグ付きのイベントで設定されているポリシーではサポートされません。

Python から EEM を呼び出すことができます。Python の詳細については、『 Cisco Nexus 9000 Series NX-OS Programmability Guide 』を参照してください。

デフォルト設定値

表 12-1 に、EEM パラメータのデフォルト設定を示します。

 

表 12-1 デフォルトの EEM パラメータ

パラメータ
デフォルト

システム ポリシー

Active

EEM の設定

システム ポリシーに基づいて実行されるアクションを含むポリシーを作成できます。システム ポリシーに関する情報を表示するには、 show event manager system-policy コマンドを使用します。システム ポリシーの詳細については、 「Embedded Event Manager システム イベントおよびコンフィギュレーション例」 を参照してください。

この項では、次のトピックについて取り上げます。

「環境変数の定義」

「CLI によるユーザ ポリシーの定義」

「VSH スクリプトによるポリシーの定義」

「VSH スクリプト ポリシーの登録およびアクティブ化」

「ポリシーの上書き」

「メモリのしきい値の設定」

「EEM パブリッシャとしての Syslog の設定」

環境変数の定義

EEM ポリシーでパラメータとして機能する変数を定義できます。

手順の概要

1. configure terminal

2. event manager environment variable-name variable-value

3. (任意)show event manager environment { variable-name | all}

4. (任意) copy running-config startup-config

手順の詳細

 

コマンド
目的

ステップ 1

configure terminal

 

Example:

switch# configure terminal

Enter configuration commands, one per line. End with CNTL/Z.

switch(config)#

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

ステップ 2

event manager environment variable-name variable-value

 

Example:

switch(config)# event manager environment emailto “admin@anyplace.com”

EEM 用の環境変数を作成します。 variable-name は大文字と小文字を区別し、最大 29 文字の英数字を使用できます。 variable-value には最大 39 文字の英数字を引用符で囲んで使用できます。

ステップ 3

show event manager environment { variable-name | all }

 

Example:

switch(config)# show event manager environment all

(任意)設定した環境変数に関する情報を表示します。

ステップ 4

copy running-config startup-config

 

Example:

switch(config)# copy running-config startup-config

(任意)リブートおよびリスタート時に実行コンフィギュレーションをスタートアップ コンフィギュレーションにコピーして、変更を継続的に保存します。

CLI によるユーザ ポリシーの定義

CLI を使用して、デバイスにユーザ ポリシーを定義できます。

この項では、次のトピックについて取り上げます。

「イベント文の設定」

「アクション文の設定」

手順の概要

1. configure terminal

2. event manager applet applet-nam e

3. (任意)description policy-description

4. event event-statement
(イベント文が複数の場合は手順 4 を繰り返してください)。

5. (任意)tag tag { and | andnot | or } tag [ and | andnot | or { tag }] { happens occurs in seconds }

6. action number [ . number2 ] action-statement
(アクション文が複数の場合は手順 6 を繰り返してください)。

7. (任意)show event manager policy-state name [ module module-id ]

8. (任意)copy running-config startup-config

手順の詳細

 

コマンド
目的

ステップ 1

configure terminal

 

Example:

switch# configure terminal

Enter configuration commands, one per line. End with CNTL/Z.

switch(config)#

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

ステップ 2

event manager applet applet-name

 

Example:

switch(config)# event manager applet monitorShutdown

switch(config-applet)#

EEM にアプレットを登録し、アプレット コンフィギュレーション モードを開始します。 applet-name では、大文字と小文字が区別され、最大 29 の英数字を使用できます。

ステップ 3

description policy-description

 

Example:

switch(config-applet)# description “Monitors interface shutdown.”

(任意)ポリシーの説明になるストリングを設定します。string には最大 80 文字の英数字を使用できます。ストリングは引用符で囲みます。

ステップ 4

event event-statement

 

Example:

switch(config-applet)# event cli match “shutdown”

ポリシーのイベント文を設定します。「イベント文の設定」を参照してください。

イベント文が複数の場合は手順 4 を繰り返してください。

ステップ 5

tag tag { and | andnot | or } tag [and | andnot | or { tag }] {happens occurs in seconds}

 

Example:

switch(config-applet)# tag one or two happens 1 in 10000

(任意)ポリシー内の 複数のイベントを相関付け ます。

occurs 引数の 範囲 は 1 ~ 4294967295 です。 seconds 引数の範囲は 0~4294967295 秒です。

ステップ 6

action number [ . number2 ] action-statement

 

Example:

switch(config-applet)# action 1.0 cli show interface e 3/1

ポリシーのアクション文を設定します。「アクション文の設定」を参照してください。

アクション文が複数の場合は、ステップ 6 を繰り返します。

ステップ 7

show event manager policy-state name [ module module-id ]

 

Example:

switch(config-applet)# show event manager policy-state monitorShutdown

(任意)設定したポリシーの状態に関する情報を表示します。

ステップ 8

copy running-config startup-config

 

Example:

switch(config)# copy running-config startup-config

(任意)リブートおよびリスタート時に実行コンフィギュレーションをスタートアップ コンフィギュレーションにコピーして、変更を継続的に保存します。

イベント文の設定

イベント文を設定するには、EEM コンフィギュレーション モードで次のいずれかのコマンドを使用します。

 

コマンド
目的

event cli [ tag tag] match expression [ count repeats | time seconds ]

 

Example:

switch(config-applet)# event cli match “shutdown”

正規表現と一致するコマンドが入力された場合に、イベントを発生させます。

tag tag キーワードと引数のペアは、複数のイベントがポリシーに含まれている場合、この特定のイベントを識別します。

repeats の範囲は 1 ~ 65000 です。time の範囲は 0 ~ 4294967295 秒です。0 は無制限を示します。

event counter [ tag tag] name counter entry-val entry entry-op { eq | ge | gt | le | lt | ne } [ exit-val exit exit-op { eq | ge | gt | le | lt | ne }]

 

Example:

switch(config-applet)# event counter name mycounter entry-val 20 gt

 

カウンタが、開始演算子に基づいて開始のしきい値を超えた場合にイベントを発生させます。イベントはただちにリセットされます。任意で、カウンタが終了のしきい値を超えたあとでリセットされるように、イベントを設定できます。

tag tag キーワードと引数のペアは、複数のイベントがポリシーに含まれている場合、この特定のイベントを識別します。

counter name は大文字と小文字を区別し、最大 28 の英数字を使用できます。 entry および exit の値の範囲は 0 ~ 2147483647 です。

event fanabsent [ fan number ] time seconds

 

Example:

switch(config-applet)# event fanabsent time 300

秒数で設定された時間を超えて、ファンがデバイスから取り外されている場合に、イベントを発生させます。 number の範囲はモジュールに依存します。 repeats の範囲は 10 ~ 64000 です。

event fanbad [ fan number ] time seconds

 

Example:

switch(config-applet)# event fanbad time 3000

秒数で設定された時間を超えて、ファンが故障状態の場合に、イベントを発生させます。 number の範囲はモジュールに依存します。 repeats の範囲は 10 ~ 64000 です。

event gold module { slot | all } test test-name [ severity { major | minor | moderate }] testing-type { bootup | monitoring | ondemand | scheduled } consecutive-failure count

 

Example:

switch(config-applet)# event gold module 2 test ASICRegisterCheck testing-type ondemand consecutive-failure 2

名前で指定されたオンライン診断テストが、設定された回数だけ連続して、設定された重大度で失敗した場合に、イベントを発生させます。 slot の範囲は 1 ~ 10 です。 test-name は設定されたオンライン診断テストの名前です。 count の範囲は 1 ~ 1000 です。

event memory { critical | minor | severe }

 

Example:

switch(config-applet)# event memory critical

メモリのしきい値を超えた場合にイベントを発生させます。「メモリのしきい値の設定」も参照してください。

event module [ tag tag] status { online | offline | any } module { all | module-num }

 

Example:

switch(config-applet)# event module status offline module all

指定したモジュールが選択された状態になったときにイベントを発生させます。

tag tag キーワードと引数のペアは、複数のイベントがポリシーに含まれている場合、この特定のイベントを識別します。

event module-failure [ tag tag] type failure-type module { slot | all } count repeats [ time seconds ]

 

Example:

switch(config-applet)# event module-failure type lc-failed module 3 count 1

モジュールが設定された障害タイプになった場合に、イベントを発生させます。

tag tag キーワードと引数のペアは、複数のイベントがポリシーに含まれている場合、この特定のイベントを識別します。

repeats の範囲は 0 ~ 4294967295 です。 seconds の範囲は 0 ~ 4294967295 秒です。0 は無制限を示します。

event oir [ tag tag] { fan | module | powersupply } { anyoir | insert | remove } [ number ]

 

Example:

switch(config-applet)# event oir fan remove 4

設定されたデバイス構成要素(ファン、モジュール、または電源モジュール)がデバイスに取り付けられた場合、またはデバイスから取り外された場合に、イベントを発生させます。

tag tag キーワードと引数のペアは、複数のイベントがポリシーに含まれている場合、この特定のイベントを識別します。

任意で、ファン、モジュール、または電源モジュールの具体的な番号を設定できます。 number の範囲は次のとおりです。

ファン番号:モジュール依存

モジュール番号:デバイス依存

電源モジュール番号:範囲は 1 ~ 3

event policy-default count repeats [ time seconds ]

 

Example:

switch(config-applet)# event policy-default count 3

システム ポリシーで設定されているイベントを使用します。このオプションは、ポリシーを上書きする場合に使用します。

repeats の範囲は 1 ~ 65000 です。 seconds の範囲は 0 ~ 4294967295 秒です。0 は無制限を示します。

event poweroverbudget

 

Example:

switch(config-applet)# event poweroverbudget

電力バジェットが設定された電源モジュールの容量を超えた場合に、イベントを発生させます。

event snmp [ tag tag] oid oid get-type { exact | next } entry-op { eq | ge | gt | le | lt | ne } entry -val entry [ exit-comb { and | or }] exit-op { eq | ge | gt | le | lt | ne } exit -val exit exit-time time polling-interval interval

 

Example:

switch(config-applet)# event snmp oid 1.3.6.1.2.1.31.1.1.1.6 get-type next entry-op lt 300 entry-val 0 exit-op eq 400 exit-time 30 polling-interval 300

SNMP OID が、開始演算子に基づいて開始のしきい値を超えた場合にイベントを発生させます。イベントはただちにリセットされます。または任意で、カウンタが終了のしきい値を超えたあとでリセットされるように、イベントを設定できます。OID はドット付き10 進表記です。

tag tag キーワードと引数のペアは、複数のイベントがポリシーに含まれている場合、この特定のイベントを識別します。

entry および exit の値の範囲は 0 ~ 18446744073709551615 です。time の範囲は 0 ~ 2147483647 秒です。interval の範囲は 1 ~ 2147483647 秒です。

event sysmgr memory [ module module-num ] major major-percent minor minor-percent clear clear-percent

 

Example:

switch(config-applet)# event sysmgr memory minor 80

指定したシステム マネージャのメモリのしきい値を超えた場合にイベントを発生させます。パーセンテージの範囲は 1 ~ 99 です。

event sysmgr switchover count count time interval

 

Example:

switch(config-applet)# event sysmgr switchover count 10 time 1000

指定した switchover count が、指定した time interval を超えた場合にイベントを発生させます。switchover count の範囲は 1 ~ 65000 です。time interval の範囲は 0 ~ 2147483647 です。

event temperature [ module slot ] [s ensor number ] threshold { any | major | minor }

 

Example:

switch(config-applet)# event temperature module 2 threshold any

温度センサーが設定されたしきい値を超えた場合に、イベントを発生させます。sensor の範囲は 1 ~ 18 です。

アクション文の設定

アクション文を設定するには、EEM コンフィギュレーション モードで次のいずれかのコマンドを使用します。

 

コマンド
目的

action number [ . number2 ] cli command1 [command2...] [ local ]

 

Example:

switch(config-applet)# action 1.0 cli “show interface e 3/1“

設定された CLI コマンドを実行します。任意で、イベントが発生したモジュール上でコマンドを実行できます。アクション ラベルのフォーマットは number1.number2 です。

number は 16 桁までの任意の数値にできます。 number2 の範囲は 0 ~ 9 です。

action number [ . number2 ] counter name counter value val op { dec | inc | nop | set }

 

Example:

switch(config-applet)# action 2.0 counter name mycounter value 20 op inc

 

設定された値および操作でカウンタを変更します。アクション ラベルのフォーマットは number1.number2 です。

number は 16 桁までの任意の数値にできます。 number2 の範囲は 0 ~ 9 です。

counter name は大文字と小文字を区別し、最大 28 の英数字を使用できます。 val には 0 ~ 2147483647 の整数または置換パラメータを指定できます。

action number [ . number2 ] event-default

 

Example:

switch(config-applet)# action 1.0 event-default

関連付けられたイベントのデフォルト アクションを実行します。アクション ラベルのフォーマットは number1.number2 です。

number は 16 桁までの任意の数値にできます。 number2 の範囲は 0 ~ 9 です。

action number [ . number2 ] forceshut [ module slot | xbar xbar- number ] reset-reason seconds

 

Example:

switch(config-applet)# action 1.0 forceshut module 2 reset-reason “flapping links”

モジュール、クロスバー、またはシステム全体を強制的にシャットダウンします。アクション ラベルのフォーマットは number1.number2 です。

number は 16 桁までの任意の数値にできます。 number2 の範囲は 0 ~ 9 です。

リセット理由は、引用符で囲んだ最大 80 文字の英数字ストリングです。

action number [ . number2 ] overbudgetshut [ module slot [ - slot ]]

 

Example:

switch(config-applet)# action 1.0 overbudgetshut module 3-5

電力バジェット超過の問題により、1 つまたは複数のモジュールまたはシステム全体を強制的にシャットダウンします。

number は 16 桁までの任意の数値にできます。 number2 の範囲は 0 ~ 9 です。

action number [ . number2 ] policy-default

 

Example:

switch(config-applet)# action 1.0 policy-default

上書きしているポリシーのデフォルト アクションを実行します。アクション ラベルのフォーマットは number1.number2 です。

number は 16 桁までの任意の数値にできます。 number2 の範囲は 0 ~ 9 です。

action number [ . number2 ] reload [ module slot [ - slot ]]

 

Example:

switch(config-applet)# action 1.0 reload module 3-5

1 つまたは複数のモジュールまたはシステム全体を強制的にリロードします。

number は 16 桁までの任意の数値にできます。 number2 の範囲は 0 ~ 9 です。

action number [ . number2 ] snmp-trap {[ intdata1 data [ intdata2 data ] [strdata string]}

 

Example:

switch(config-applet)# action 1.0 snmp-trap strdata “temperature problem”

設定されたデータを使用して SNMP トラップを送信します。 number は 16 桁までの任意の数値にできます。 number2 の範囲は 0 ~ 9 です。

data 引数には、最大 80 桁の任意の数を指定できます。 string には最大 80 文字の英数字を使用できます。

action number [ . number2 ] syslog [ priority prio-val ] msg error-messag e

 

Example:

switch(config-applet)# action 1.0 syslog priority notifications msg “cpu high”

設定されたプライオリティで、カスタマイズした syslog メッセージを送信します。 number は 16 桁までの任意の数値にできます。 number2 の範囲は 0 ~ 9 です。

error-message には最大 80 文字の英数字を引用符で囲んで使用できます。


) 発生したイベントでデフォルトのアクションを処理できるようにする場合は、デフォルトのアクションを許可する EEM ポリシーを設定する必要があります。たとえば、match 文で CLI コマンドを照合する場合、EEM ポリシーに event-default アクション文を追加する必要があります。この文がないと、EEM では CLI コマンドを実行できません。terminal event-manager bypass コマンドを使用して、CLI での すべての EEM ポリシーを、CLI コマンドの実行と一致させることができます。


VSH スクリプトによるポリシーの定義

VSH スクリプトを使用してポリシーを定義できます。

はじめる前に

管理者の権限でログインしていることを確認します。

スクリプト名がスクリプト ファイル名と同じ名前であることを確認します。

手順の詳細


ステップ 1 テキスト エディタで、ポリシーを定義するコマンド リストを指定します。

ステップ 2 テキスト ファイルに名前をつけて保存します。

ステップ 3 ファイルを次のシステム ディレクトリにコピーします。

bootflash://eem/user_script_policies


 

VSH スクリプト ポリシーの登録およびアクティブ化

VSH スクリプトで定義したポリシーを登録してアクティブにできます。

手順の概要

1. configure terminal

2. event manager policy policy-script

3. (任意) show event manager policy internal name

4. (任意) copy running-config startup-config

手順の詳細

 

コマンド
目的

ステップ 1

configure terminal

 

Example:

switch# configure terminal

Enter configuration commands, one per line. End with CNTL/Z.

switch(config)#

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

ステップ 2

event manager policy policy-script

 

Example:

switch(config)# event manager policy moduleScript

EEM スクリプト ポリシーを登録してアクティブにします。 policy-script は大文字と小文字を区別し、最大 29 の英数字を使用できます。

ステップ 3

show event manager policy internal name

 

Example:

switch(config)# show event manager policy internal moduleScript

(任意)設定したポリシーに関する情報を表示します。

ステップ 4

copy running-config startup-config

 

Example:

switch(config)# copy running-config startup-config

(任意)リブートおよびリスタート時に実行コンフィギュレーションをスタートアップ コンフィギュレーションにコピーして、変更を継続的に保存します。

ポリシーの上書き

システム ポリシーは上書き可能です。

手順の概要

1. configure terminal

2. (任意) show event manager policy-state system-policy

3. event manager applet applet-nam e override system-policy

4. (任意) description policy-description

5. event event-statement

6. action number action-statement
(アクション文が複数の場合は手順 6 を繰り返してください)。

7. (任意) show event manager policy-state name

8. (任意) copy running-config startup-config

手順の詳細

 

コマンド
目的

ステップ 1

configure terminal

 

Example:

switch# configure terminal

Enter configuration commands, one per line. End with CNTL/Z.

switch(config)#

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

ステップ 2

show event manager policy-state system-policy

 

Example:

switch(config-applet)# show event manager policy-state __ethpm_link_flap

Policy __ethpm_link_flap

Cfg count : 5

Cfg time interval : 10.000000 (seconds)

Hash default, Count 0

 

(任意)上書きするシステム ポリシーの情報をしきい値を含めて表示します。システム ポリシー名を突き止めるには、 show event manager system-policy コマンドを使用します。システム ポリシーの詳細については、 「Embedded Event Manager システム イベントおよびコンフィギュレーション例」 を参照してください。

ステップ 3

event manager applet applet-name override system-policy

 

Example:

switch(config)# event manager applet ethport override __ethpm_link_flap

switch(config-applet)#

システム ポリシーを上書きし、アプレット コンフィギュレーション モードを開始します。 applet-name は大文字と小文字を区別し、最大 29 の英数字を使用できます。 system-policy は、既存のシステム ポリシーの 1 つにする必要があります。

ステップ 4

description policy-description

 

Example:

switch(config-applet)# description “Overrides link flap policy.”

(任意)ポリシーの説明になるストリングを設定します。string には最大 80 文字の英数字を使用できます。ストリングは引用符で囲みます。

ステップ 5

event event-statement

 

Example:

switch(config-applet)# event policy-default count 2 time 1000

ポリシーのイベント文を設定します。「イベント文の設定」を参照してください。

ステップ 6

action number action-statement

 

Example:

switch(config-applet)# action 1.0 syslog priority warnings msg “Link is flapping.”

ポリシーのアクション文を設定します。「アクション文の設定」を参照してください。

アクション文が複数の場合は、ステップ 6 を繰り返します。

ステップ 7

show event manager policy-state name

 

Example:

switch(config-applet)# show event manager policy-state ethport

(任意)設定したポリシーに関する情報を表示します。

ステップ 8

copy running-config startup-config

 

Example:

switch(config)# copy running-config startup-config

(任意)リブートおよびリスタート時に実行コンフィギュレーションをスタートアップ コンフィギュレーションにコピーして、変更を継続的に保存します。

メモリのしきい値の設定

イベントを発生させるメモリしきい値を設定し、オペレーティング システムがメモリを割り当てられない場合にプロセスを終了させるかどうかを設定できます。

はじめる前に

管理者の権限でログインしていることを確認します。

手順の概要

1. configure terminal

2. system memory-thresholds minor minor severe severe critical critical

3. (任意) system memory-thresholds threshold critical no-process-kill

4. (任意) show running-config | include "system memory"

5. (任意) copy running-config startup-config

手順の詳細

 

コマンド
目的

ステップ 1

configure terminal

 

Example:

switch# configure terminal

Enter configuration commands, one per line. End with CNTL/Z.

switch(config)#

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

ステップ 2

system memory-thresholds minor minor severe severe critical critical

 

Example:

switch(config)# system memory-thresholds minor 60 severe 70 critical 80

EEM メモリ イベントを生成するシステム メモリしきい値を設定します。デフォルト値は次のとおりです。

minor:85

severe:90

critical:95

これらのメモリのしきい値を超えた場合、システムは次の syslog を生成します。

2013 May 7 17:06:30 switch %$ %PLATFORM-2-MEMORY_ALERT: Memory Status Alert : MINOR

2013 May 7 17:06:30 switch %$ %PLATFORM-2-MEMORY_ALERT: Memory Status Alert : SEVERE

2013 May 7 17:06:30 switch %$ %PLATFORM-2-MEMORY_ALERT: Memory Status Alert : CRITICAL

2013 May 7 17:06:35 switch %$ %PLATFORM-2-MEMORY_ALERT: Memory Status Alert : MINOR ALERT RECOVERED

2013 May 7 17:06:35 switch %$ %PLATFORM-2-MEMORY_ALERT: Memory Status Alert : SEVERE ALERT RECOVERED

2013 May 7 17:06:35 switch %$ %PLATFORM-2-MEMORY_ALERT: Memory Status Alert : CRITICAL ALERT RECOVERED

ステップ 3

system memory-thresholds threshold critical no-process-kill

 

Example:

switch(config)# system memory-thresholds threshold critical no-process-kill

(任意)メモリを割り当てられない場合もプロセスを終了しないようにシステムを設定します。デフォルト値では、最もメモリを消費するプロセスから終了できます。

ステップ 4

show running-config | include “system memory”

 

Example:

switch(config-applet)# show running-config | include “system memory”

(任意)システム メモリ設定に関する情報を表示します。

ステップ 5

copy running-config startup-config

 

Example:

switch(config)# copy running-config startup-config

(任意)リブートおよびリスタート時に実行コンフィギュレーションをスタートアップ コンフィギュレーションにコピーして、変更を継続的に保存します。

EEM パブリッシャとしての Syslog の設定

スイッチから Syslog メッセージをモニタできます。

はじめる前に

EEM は、Syslog による登録に使用可能である必要があります。

Syslog デーモンが設定され、実行される必要があります。

制約事項

syslog メッセージをモニタする検索文字列の最大数は 10 です。

手順の概要

1. configure terminal

2. event manager applet applet-name

3. event syslog [tag tag ] {occurs number | period seconds | pattern msg-text | priority priority }

4. (任意) copy running-config startup-config

手順の詳細

 

コマンド
目的

ステップ 1

configure terminal

 

Example:

switch# configure terminal

Enter configuration commands, one per line. End with CNTL/Z.

switch(config)#

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

ステップ 2

event manager applet applet- name

 

Example:

switch(config)# event manager applet abc

switch(config-applet)#

EEM にアプレットを登録し、アプレット コンフィギュレーション モードを開始します。

ステップ 3

event syslog [tag tag ] {occurs number | period seconds | pattern msg-text | priority priority }

 

Example:

switch(config-applet)# event syslog occurs 10

Syslog メッセージをモニタし、ポリシー内の検索文字列に基づいてポリシーを呼び出します。

tag tag キーワードと引数のペアは、複数のイベントがポリシーに含まれている場合、この特定のイベントを識別します。

occurs number のキーワードと引数のペアは発生数を指定します。指定できる範囲は 1 ~ 65000 です。

period seconds のキーワードと引数のペアは、イベントの発生間隔を指定します。指定できる範囲は 1 ~ 4294967295 です。

pattern msg-text のキーワードと引数のペアは、一致する正規表現を指定します。パターンには、文字テキスト、環境変数、またはこの 2 つの組み合わせを含めることができます。文字列に空白が含まれる場合は、引用符で囲みます。

priority priority のキーワードと引数のペアは、Syslog メッセージの優先度を指定します。このキーワードを指定しないと、すべての Syslog メッセージのプライオリティ レベルが「情報レベル」に設定されます。

ステップ 4

copy running-config startup-config

 

Example:

switch(config-applet)# copy running-config startup-config

(任意)リブートおよびリスタート時に実行コンフィギュレーションをスタートアップ コンフィギュレーションにコピーして、変更を継続的に保存します。

EEM 設定の確認

EEM のコンフィギュレーション情報を表示するには、次の作業のいずれかを行います。

 

コマンド
目的

show event manager environment [ variable-name | all ]

イベント マネージャの環境変数に関する情報を表示します。

show event manager event-types [ event | all | module slot ]

イベント マネージャのイベント タイプに関する情報を表示します。

show event manager history events [ detail ] [ maximum num-events ] [ severity { catastrophic | minor | moderate | severe }]

すべてのポリシーについて、イベント履歴を表示します。

show event manager policy internal [ policy-name ] [ inactive ]

設定したポリシーに関する情報を表示します。

show event manager policy-state policy-name

しきい値を含め、ポリシーの状態に関する情報を表示します。

show event manager script system [ policy-name | all ]

スクリプト ポリシーに関する情報を表示します。

show event manager system-policy [ all ]

定義済みシステム ポリシーに関する情報を表示します。

show running-config eem

EEM の実行コンフィギュレーションに関する情報を表示します。

show startup-config eem

EEM のスタートアップ コンフィギュレーションに関する情報を表示します。

EEM のコンフィギュレーション例

モジュール 3 の中断のないアップグレード エラーのしきい値だけを変更することによって、__lcm_module_failure システム ポリシーを上書きする方法の例を示します。この例では、syslog メッセージも送信されます。その他のすべての場合、システム ポリシー __lcm_module_failure の設定値が適用されます。

event manager applet example2 override __lcm_module_failure
event module-failure type hitless-upgrade-failure module 3 count 2
action 1 syslog priority errors msg module 3 “upgrade is not a hitless upgrade!”
action 2 policy-default
 

__ethpm_link_flap システム ポリシーを上書きし、インターフェイスをシャットダウンする方法の例を示します。

event manager applet ethport override __ethpm_link_flap
event policy-default count 2 time 1000
action 1 cli conf t
action 2 cli int et1/1
action 3 cli no shut
 

CLI コマンドの実行を許可し、ユーザがデバイスでコンフィギュレーション モードを開始すると SNMP 通知を送る EEM ポリシーを作成する例を示します。

event manager applet TEST
event cli match "conf t"
action 1.0 snmp-trap strdata "Configuration change"
action 2.0 event-default
 

) EEM ポリシーに event-default アクション文を追加する必要があります。この文がないと、EEM では CLI コマンドを実行できません。


次に、EEM ポリシーの複数イベントを関連付け、イベント トリガーの組み合わせに基づいてポリシーを実行する例を示します。この例では、EEM ポリシーは、指定された syslog パターンのいずれかが 120 秒以内に発生したときにトリガーされます。

event manager applet eem-correlate
event syslog tag one pattern "copy bootflash:.* running-config.*”
event syslog tag two pattern “copy run start”
event syslog tag three pattern “hello”
tag one or two or three happens 1 in 120
action 1.0 reload module 1

) 追加の EEM の設定例については、付録 B「Embedded Event Manager システム イベントおよびコンフィギュレーション例」を参照してください。