Embedded Event Manager システム イベントおよび設定例

この付録では、Embedded Event Manager(EEM)システム ポリシー、イベント、およびポリシーのコンフィギュレーション例について説明します。

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

EEM システム ポリシー

次の表に、Embedded Event Manager(EEM)のシステム ポリシーを示します。

イベント

説明(Description)

__BootupPortLoopback

CallHome を実行し、影響があるポートのエラーを無効にして、GOLD "BootupPortLoopback" テストに1 回連続で失敗した場合は、その後影響を受けたポートでのエラー テストを記録します。

__PortLoopback

CallHome を実行し、Syslog、OBFL、または例外ログにエラーを記録し、GOLD "PortLoopback" テストに 10 回連続で失敗した場合は、その後影響を受けたポートでの HM テストをディセーブルにします。

__RewriteEngineLoopback

CallHome を実行し、Syslog、OBFL、または例外ログにエラーを記録し、GOLD "RewriteEngine" テストに 10 回連続で失敗した場合は、その後影響を受けたポートでの HM テストをディセーブルにします。

__asicmem

GOLD "AsicMemory" テストに失敗した場合には、CallHome を実行し、エラーを記録します。テストの失敗の原因となる問題は一時的なものである可能性があるため、カーネルパニックによるリカバリ リロードを試行します。

(注)  

 

テストが失敗したときにカーネルパニックを回避するには、EEM システム ポリシーを上書します。

__asic_register_check

CallHome を実行し、エラーを記録し、GOLD "ASICRegisterCheck" テストに 20 回連続で失敗した場合は、その後その ASIC デバイスおよびインスタンスの HM テストをディセーブルにします。

__compact_flash

CallHome を実行し、エラーを記録し、GOLD "CompactFlash" テストに 20 回連続で失敗した場合は、その後 HM テストをディセーブルにします。

__crypto_device

CallHome を実行し、GOLD "CryptoDevice" テストに失敗するとエラーを記録します。

__eobc_port_loopback

CallHome を実行し、GOLD "EOBCPortLoopback" テストに失敗するとエラーを記録します。

__ethpm_debug_1

アクション:なし

__ethpm_debug_2

アクション:なし

__ethpm_debug_3

アクション:なし

__ethpm_debug_4

アクション:なし

__ethpm_link_flap

420 秒間隔でリンク フラップが 30 を超えています。アクション:エラー。ポートをディセーブルにします。

__external_compact_flash

CallHome を実行し、エラーを記録し、GOLD "ExternalCompactFlash" テストに 20 回連続で失敗した場合は、その後 HM テストをディセーブルにします。

__fpgareg

GOLD "FpgaRegTest" テストに 20 回連続で失敗した場合は、CallHome を実行し、エラーを記録し、その後 HM テストをディセーブルにします。テストの失敗の原因となる問題は一時的なものである可能性があるため、カーネルパニックによるリカバリ リロードを試行します。

(注)  

 

テストが失敗したときにカーネルパニックを回避するには、EEM システム ポリシーを上書します。

__L2ACLRedirect

L2ACLRedirect テストを 10 回連続で失敗した場合は、CallHome を実行し、エラーを記録し、その後 HM テストをディセーブルにします。テストの失敗の原因となる問題は一時的なものである可能性があるため、カーネルパニックによるリカバリ リロードを試行します。

(注)  

 

テストが失敗したときにカーネルパニックを回避するには、EEM システム ポリシーを上書します。

__lcm_module_failure

2 度電源を切って入れ直し、電源を切ります。

__management_port_loopback

CallHome を実行し、GOLD "ManagementPortLoopback" テストに失敗するとエラーを記録します。

__nvram

CallHome を実行し、エラーを記録し、GOLD "NVRAM" テストに 20 回連続で失敗した場合は、その後 HM テストをディセーブルにします。

__pfm_fanabsent_all_systemfan

両方のファン トレイ(f1 と f2)が 2 分間存在しない場合シャットダウンします。

__pfm_fanbad_all_systemfan

ファンで障害が発生した場合シスログに記録します。

__pfm_fanbad_any_singlefan

ファンで障害が発生した場合シスログに記録します。

__pfm_power_over_budget

不十分な電力超過バジェットに対するシスログ警告

__pfm_tempev_major

TempSensor メジャーしきい値アクション:シャットダウン

__pfm_tempev_minor

TempSensor マイナーしきい値アクション:シスログ

__primary_bootrom

CallHome を実行し、エラーを記録し、GOLD "PrimaryBootROM" テストに 20 回連続で失敗した場合は、その後 HM テストをディセーブルにします。

__pwr_mgmt_bus

CallHome を実行し、エラーを記録し、GOLD "PwrMgmtBus" テストに 20 回連続で失敗した場合は、モジュールまたはスパインカードの HM テストをディセーブルにします。

__real_time_clock

CallHome を実行し、エラーを記録し、GOLD "RealTimeClock" テストに 20 回連続で失敗した場合は、その後 HM テストをディセーブルにします。

__secondary_bootrom

CallHome を実行し、エラーを記録し、GOLD "SecondaryBootROM" テストに 20 回連続で失敗した場合は、その後 HM テストをディセーブルにします。

__spine_control_bus

CallHome を実行し、エラーを記録し、GOLD "SpineControlBus" テストに 20 回連続で失敗した場合は、そのモジュールまたはスパインカードの HM テストをディセーブルにします。

__standby_fabric_loopback

CallHome を実行し、エラーを記録し、10 回連続で失敗した場合は、その後 HM テストをディセーブルにします。

__status_bus

CallHome を実行し、エラーを記録し、GOLD "StatusBus" テストに 5 回連続で失敗した場合は、その後 HM テストをディセーブルにします。

__system_mgmt_bus

Call Home を実行し、エラーを記録し、GOLD "SystemMgmtBus" テストに 20 回連続で失敗した場合は、そのファンまたは電源の HM テストを無効にします。

__usb

Call Home を実行し、GOLD "USB" テストに失敗するとエラーを記録します。

EEM イベント

次の表は、デバイスで使用できる EEM イベントについて説明します。

EEM イベント

説明

application

アプリケーション固有のイベントをパブリッシュします。

cli

ワイルドカードを使用したパターンを照合する CLI コマンドが入力されます。

counter

EEM カウンタが指定された値または範囲に達します。

fanabsent

システム ファン トレイがありません。

fanbad

システム ファンで障害が生成されます。

fib

ユニキャスト FIB のルートまたは TCAM の使用状況をモニタします。

Gold

GOLD テスト失敗条件がヒットします。

インターフェイス

インターフェイス カウンタがしきい値を超えます。

メモリ

使用可能なシステム メモリがしきい値を超えます。

両側面)

指定したモジュールが、選択したステータスになります。

module-failure

モジュール障害が生成されます。

なし

指定されたイベントがないポリシー イベントを実行します。

oir

活性挿抜が発生します。

policy-default

デフォルトのパラメータおよびしきい値が、上書きするシステム ポリシーのイベントに使用されます。

poweroverbudget

プラットフォーム ソフトウェアが電力バジェット条件を検出します。

snmp

SNMP オブジェクト ID(OID)の状態が変化します。

storm-control

プラットフォーム ソフトウェアがイーサネット パケット ストーム条件を検出します。

syslog

syslog メッセージを監視し、ポリシーの検索文字列に基づいてポリシーを呼び出します。

sysmgr

システム マネージャがイベントを生成します。

温度

システムの温度レベルがしきい値を超えます。

timer

指定された時間に到達します。

トラック

トラッキング対象オブジェクトの状態が変化します。

EEM ポリシーの設定例

CLI イベントの設定例

インターフェイス シャットダウンのモニタリング

インターフェイスのシャットダウンをモニタする例を示します。

switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
switch(config)# event manager applet monitorShutdown
switch(config-applet)#
switch(config-applet)# description “Monitors interface shutdown.”
switch(config-applet)# event cli match “conf t; interface *; shutdown”
switch(config-applet)# action 1.0 cli show interface e 3/1
switch(config)# copy running-config startup-config


(注)  


EEM ポリシーの一部として入力された show コマンドの出力は、「eem_archive_」というプレフィックスが付加されたテキスト ファイルとして logflash にアーカイブされます。アーカイブされている出力を表示するには、show file logflash:eem_archive_n コマンドを使用します。

モジュール パワーダウンのモニタリング

モジュールのパワーダウンをモニタする例を示します。

switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
switch(config)# event manager applet monitorPoweroff
switch(config-applet)#
switch(config-applet)# description “Monitors module power down.”
switch(config-applet)# event cli match “conf t; poweroff *”
switch(config-applet)# action 1.0 cli show module
switch(config)# copy running-config startup-config

ロールバックを開始するトリガーの追加

ロールバックを開始するトリガーを追加する例を示します。

switch# configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
switch(config)#
switch(config)# event manager applet rollbackTrigger
switch(config-applet)#
switch(config-applet)# description “Rollback trigger.”
switch(config-applet)# event cli match “rollback *”
switch(config-applet)# action 1.0 cli copy running-config bootflash:last_config
switch(config)# copy running-config startup-config

メジャーしきい値を上書き(無効化)する設定例

メジャーしきい値に達したときにシャットダウンを防ぐ方法

メジャーしきい値に達したことによるシャットダウンを防ぐ例を示します。

switch# configure terminal
switch(config)# event manager applet myappletname override __pfm_tempev_major
switch(config)# end

デフォルト コンフィギュレーションに戻す例を示します。

switch# configure terminal
switch(config)# no event manager applet myappletname override __pfm_tempev_major
switch(config)# end

One Bad センサーの無効化

センサー 3 で障害が発生した場合(他のセンサーに影響なし)に、モジュール 2 でセンサー 3 だけをディセーブルにする例を示します。

switch# configure terminal
switch(config)# event manager applet myappletname override __pfm_tempev_major
switch(config-applet)# event temperature module 2 sensor 3 threshold major
switch(config-applet)# end

デフォルト コンフィギュレーションに戻す例を示します。

switch# configure terminal
switch(config)# no event manager applet myappletname override __pfm_tempev_major
switch(config)# end

複数の不良センサーを無効にする方法

モジュール 2 のセンサー 5、6、7 で障害が発生した場合(他のセンサーに影響なし)に、これらのセンサーをディセーブルにする例を示します。

switch# configure terminal
switch(config)# event manager applet myappletname override __pfm_tempev_major
switch(config-applet)# event temperature module 2 sensor 5 threshold major
switch(config-applet)# end
switch# configure terminal
switch(config)# event manager applet myappletname override __pfm_tempev_major
switch(config-applet)# event temperature module 2 sensor 6 threshold major
switch(config-applet)# end
switch# configure terminal
switch(config)# event manager applet myappletname override __pfm_tempev_major
switch(config-applet)# event temperature module 2 sensor 7 threshold major
switch(config-applet)# end

デフォルト コンフィギュレーションに戻す例を示します。

switch# configure terminal
switch(config)# no event manager applet myappletname override __pfm_tempev_major
switch(config)# end

モジュール全体の上書き(無効化)

誤動作するモジュール 2 をディセーブルにする例を示します。

switch# configure terminal
switch(config)# event manager applet myappletname override __pfm_tempev_major
switch(config-applet)# event temperature module 2 threshold major
switch(config-applet)# end

デフォルト コンフィギュレーションに戻す例を示します。

switch# configure terminal
switch(config)# no event manager applet myappletname override __pfm_tempev_major
switch(config)# end

複数のモジュールおよびセンサーの上書き(無効)

誤動作するモジュール 2 のセンサー 3、4、7 とモジュール 3 のすべてのセンサーをディセーブルにする例を示します。

switch# configure terminal
switch(config)# event manager applet myappletname override __pfm_tempev_major
switch(config-applet)# event temperature module 2 sensor 3 threshold major
switch(config-applet)# end
switch# configure terminal
switch(config)# event manager applet myappletname override __pfm_tempev_major
switch(config-applet)# event temperature module 2 sensor 4 threshold major
switch(config-applet)# end
switch# configure terminal
switch(config)# event manager applet myappletname override __pfm_tempev_major
switch(config-applet)# event temperature module 2 sensor 7 threshold major
switch(config-applet)# end
switch# configure terminal
switch(config)# event manager applet myappletname override __pfm_tempev_major
switch(config-applet)# event temperature module 3 threshold major
switch(config-applet)# end

デフォルト コンフィギュレーションに戻す例を示します。

switch# configure terminal
switch(config)# no event manager applet myappletname override __pfm_tempev_major
switch(config)# end

1 つのセンサーを有効にして、すべてのモジュールの残りのセンサーをすべて無効にする方法

モジュール 9 のセンサー 4 を除くすべてのモジュールのすべてのセンサーをディセーブルにする例を示します。

switch# configure terminal
switch(config)# event manager applet myapplet1 override __pfm_tempev_major
switch(config-applet)# end
switch# configure terminal
switch(config)# event manager applet myapplet2 override __pfm_tempev_major
switch(config-applet)# event temperature module 9 sensor 4 threshold major
switch(config-applet)# action 2 policy-default
switch(config-applet)# end

複数のセンサーを有効にして、すべてのモジュールの残りのセンサーをすべて無効にする方法

モジュール 9 のセンサー 4、6、7 を除くすべてのモジュールのすべてのセンサーをディセーブルにする例を示します。

switch# configure terminal
switch(config)# event manager applet myapplet1 override __pfm_tempev_major
switch(config-applet)# end
switch# configure terminal
switch(config)# event manager applet myapplet2 override __pfm_tempev_major
switch(config-applet)# event temperature module 9 sensor 4 threshold major
switch(config-applet)# action 2 policy-default
switch(config-applet)# end
switch# configure terminal
switch(config)# event manager applet myapplet3 override __pfm_tempev_major
switch(config-applet)# event temperature module 9 sensor 6 threshold major
switch(config-applet)# action 3 policy-default
switch(config-applet)# end
switch# configure terminal
switch(config)# event manager applet myapplet4 override __pfm_tempev_major
switch(config-applet)# event temperature module 9 sensor 7 threshold major
switch(config-applet)# action 4 policy-default
switch(config-applet)# end

1 つのモジュールのすべてのセンサーを有効にして、残りのモジュールのすべてのセンサーを無効にする方法

モジュール 9 のすべてのセンサーを除く残りのモジュールのすべてのセンサーをディセーブルにする例を示します。

switch# configure terminal
switch(config)# event manager applet myapplet1 override __pfm_tempev_major
switch(config-applet)# end
switch# configure terminal
switch(config)# event manager applet myapplet2 override __pfm_tempev_major
switch(config-applet)# event temperature module 9 threshold major
switch(config-applet)# action 2 policy-default
switch(config-applet)# end

モジュールのセンサーを組み合わせて有効にして、残りのモジュールのすべてのセンサーを無効にする方法

モジュール 2 の センサー 3、4、7 とモジュール 3 のすべてのセンサーを除くすべてのモジュールのすべてのセンサーをディセーブルにする例を示します。

switch# configure terminal
switch(config)# event manager applet myapplet1 override __pfm_tempev_major
switch(config-applet)# end
switch# configure terminal
switch(config)# event manager applet myapplet2 override __pfm_tempev_major
switch(config-applet)# event temperature module 2 sensor 3 threshold major
switch(config-applet)# action 2 policy-default
switch(config-applet)# end
switch# configure terminal
switch(config)# event manager applet myapplet3 override __pfm_tempev_major
switch(config-applet)# event temperature module 2 sensor 4 threshold major
switch(config-applet)# action 3 policy-default
switch(config-applet)# end
switch# configure terminal
switch(config)# event manager applet myapplet4 override __pfm_tempev_major
switch(config-applet)# event temperature module 2 sensor 7 threshold major
switch(config-applet)# action 4 policy-default
switch(config-applet)# end
switch# configure terminal
switch(config)# event manager applet myapplet5 override __pfm_tempev_major
switch(config-applet)# event temperature module 3 threshold major
switch(config-applet)# action 5 policy-default
switch(config-applet)# end

ファン トレイ取り外しのためのシャットダウンを上書き(無効化)するコンフィギュレーション例

1 つまたは複数のファン トレイ取り外しのためのシャットダウンの上書き(無効)

1 つまたは複数(またはすべて)のファン トレイを取り外せるように、シャットダウンを無効にする例を示します。

switch# configure terminal
switch(config)# event manager applet myappletname override __pfm_fanabsent_any_singlefan
switch(config-applet)# end

デフォルト コンフィギュレーションに戻す例を示します。

switch# configure terminal
switch(config)# no event manager applet myappletname override __pfm_fanabsent_any_singlefan
switch(config-applet)# end

指定したファン トレイを取り外すためのシャットダウンの上書き(無効)

指定したファン トレイ(ファン トレイ 3)を取り外せるように、シャットダウンを無効にする例を示します。

switch# configure terminal
switch(config)# event manager applet myappletname override __pfm_fanabsent_any_singlefan
switch(config-applet)# event fanabsent fan 3 time 60
switch(config-applet)# end

デフォルト コンフィギュレーションに戻す例を示します。

switch# configure terminal
switch(config) no event manager applet myappletname override __pfm_fanabsent_any_singlefan
switch(config)# end

指定した複数のファン トレイを取り外すためのシャットダウンの上書き(無効化)

指定した複数のファン トレイ(ファン トレイ 2、3、4)を取り外せるように、シャットダウンを無効にする例を示します。

switch# configure terminal
switch(config)# event manager applet myapplet1 override __pfm_fanabsent_any_singlefan
switch(config-applet)# event fanabsent fan 2 time 60
switch(config-applet)# end
switch# configure terminal
switch(config)# event manager applet myapplet2 override __pfm_fanabsent_any_singlefan
switch(config-applet)# event fanabsent fan 3 time 60
switch(config-applet)# end
switch# configure terminal
switch(config)# event manager applet myapplet3 override __pfm_fanabsent_any_singlefan
switch(config-applet)# event fanabsent fan 4 time 60
switch(config-applet)# end

デフォルト コンフィギュレーションに戻す例を示します。

switch# configure terminal
switch(config)# no event manager applet myappletname override __pfm_fanabsent_any_singlefan
switch(config)# end

1 つを除くすべてのファンを取り外すためのシャットダウンの上書き(無効)

1 つ(ファン トレイ 2)を除くすべてのファン トレイを取り外せるように、シャットダウンを無効にする例を示します。

switch# configure terminal
switch(config)# event manager applet myapplet1 override __pfm_fanabsent_any_singlefan
switch(config-applet)# end
switch# configure terminal
switch(config)# event manager applet myapplet2 override __pfm_fanabsent_any_singlefan
switch(config-applet)# event fanabsent fan 2 time 60
switch(config-applet)# action 2 policy-default
switch(config-applet)# end

ファン トレイの指定したセットを除くファン トレイを取り外すためのシャットダウンの上書き(無効)

指定したファン トレイのセット(ファン トレイ 2、3、4)を除くファンを取り外せるように、シャットダウンを無効にする例を示します。

switch# configure terminal
switch(config)# event manager applet myapplet1 override __pfm_fanabsent_any_singlefan
switch(config-applet)# end
switch(config)# event manager applet myapplet2 override __pfm_fanabsent_any_singlefan
switch(config-applet)# event fanabsent fan 2,3,4 time 60
switch(config-applet)# action 2 policy-default
switch(config-applet)# end

ファン トレイのセットから 1 台を除くすべてのファン トレイを取り外すためのシャットダウンの上書き(無効)

指定したファン トレイのセット(ファン トレイ 2、3、4)の 1 台を除くすべてのファン トレイを取り外せるように、シャットダウンを無効にする例を示します。

switch# configure terminal
switch(config)# event manager applet myapplet1 override __pfm_fanabsent_any_singlefan
switch(config-applet)# end
switch# configure terminal
switch(config)# event manager applet myapplet2 override __pfm_fanabsent_any_singlefan
switch(config-applet)# event fanabsent fan 2 time 60
switch(config-applet)# action 2 policy-default
switch(config-applet)# end
switch# configure terminal
switch(config)# event manager applet myapplet3 override __pfm_fanabsent_any_singlefan
switch(config-applet)# event fanabsent fan 3 time 60
switch(config-applet)# action 3 policy-default
switch(config-applet)# end
switch# configure terminal
switch(config)# event manager applet myapplet4 override __pfm_fanabsent_any_singlefan
switch(config-applet)# event fanabsent fan 4 time 60
switch(config-applet)# action 4 policy-default
switch(config-applet)# end

補足ポリシーを作成するコンフィギュレーション例

ファン トレイが存在しないイベントの補足ポリシーの作成

event fanabsent コマンドを使用して、補足ポリシーを作成する例を示します。

[no] event fanabsent [fan fan-tray-number] time time-interval

ファン トレイ 1 が 60 秒間存在しない場合に、デフォルトのポリシーに加えて、ポリシー myappletname とアクション 3 を実行する例を示します。

switch# configure terminal
switch(config)# event manager applet myappletname
switch(config-applet)# event fanabsent fan 1 time 60
switch(config-applet)# action 3 cli “show env fan”
switch(config-applet)# end

温度しきい値イベントの補足ポリシーの作成

event temperature コマンドを使用して、補足ポリシーを作成する例を示します。

[no] event temperature [mod module-number] [sensor sensor-number] threshold {major | minor | any}

モジュール 2 のセンサー 3 で温度がマイナーしきい値を超えた場合に、デフォルトのポリシーに加えて、ポリシー myappletname とアクション 1 を実行する例を示します。

switch# configure terminal
switch(config)# event manager applet myappletname
switch(config-applet)# event temperature module 2 sensor 3 threshold minor
switch(config-applet)# action 1 cli “show environ temperature”
switch(config-applet)# end

電力のバジェット超過ポリシーの設定例

電力のバジェット超過ポリシーは、使用可能な電力がゼロ未満に低下し、前に起動されたモジュールを起動状態で維持できなくなった場合に開始します。デフォルトのアクションでは、ユーザに電力のバジェット超過が発生したことを通知する syslog を出力します。

利用可能な電力が赤(負)のゾーンから回復するまでモジュールの電源を落とす追加アクションをイネーブルにできます。

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

モジュールを指定しない場合、電力のバジェット超過シャットダウンはスロット 1 から始まり、電力が赤(負)のゾーンから回復するまでモジュールをシャットダウンします。空のスロットやスーパーバイザ、スタンバイ スーパーバイザ、スパイン、クロスバーを含むスロットは飛ばされます。

利用可能な電力がゼロ未満に低下した場合に、モジュール 1 からモジュールをシャットダウンする例を示します。

switch# configure terminal
switch(config)# event manager applet <myappletname4a> override __pfm_power_over_budget
switch(config-applet)# event poweroverbudget
switch(config-applet)# action 4 overbudgetshut
switch(config-applet)# end

指定された一連のモジュールのシャットダウン

電力のバジェット超過アクションによって、電力が赤(負)のゾーンから回復するまでシャットダウンされるモジュールのリストを指定できます。空のスロットやスーパーバイザ、スタンバイ スーパーバイザ、スパイン、クロスバーを含むスロットは飛ばされます。

利用可能な電力がゼロ未満に低下した場合に、指定されたモジュールのリスト(1、2、7、8)からモジュールをシャットダウンする例を示します。

switch# configure terminal
switch(config)# event manager applet <myappletname4b> override __pfm_power_over_budget
switch(config-applet)# event poweroverbudget
switch(config-applet)# action 5 overbudgetshut module 1,2,7,8
switch(config-applet)# end

シャットダウンするモジュールを選択する設定例

デフォルトでシャットダウンに非上書きモジュールを選択するポリシーの使用

メジャーしきい値を超えた場合に、デフォルトで非上書きモジュールをシャットダウンするよう選択するポリシーを使用する例を示します。

switch# configure terminal
switch(config)# event manager applet my5a1 override __pfm_tempev_major
switch(config-applet)# end
switch# configure terminal
switch(config)# event manager applet my5a2 override __pfm_tempev_major
switch(config-applet)# event temperature module 1-3 sensor 4 threshold major
switch(config-applet)# action 5 policy-default
switch(config-applet)# end

シャットダウンに非上書きモジュールを選択するパラメータ置き換えの使用

メジャーしきい値を超えた場合に、パラメータの置き換えを使用してシャットダウンする非上書きモジュールを選択する例を示します。

switch# configure terminal
switch(config)# event manager applet my5b1 override __pfm_tempev_major
switch(config-applet)# end
switch# configure terminal
switch(config)# event manager applet my5b2 override __pfm_tempev_major
switch(config-applet)# event temperature module 1-3 sensor 8 threshold major
switch(config-applet)# action 6 forceshut module my_module_list reset “temperature-sensor policy trigger”
switch(config-applet)# end

イベント マネージャ パラメータを作成するには、event manager environment コマンドを使用します。イベント マネージャ パラメータの値を表示するには、show event manager environment all コマンドを使用します。

活性挿抜イベントのコンフィギュレーション例

活性挿抜イベント(OIR)には、デフォルトのポリシーがありません。

event oir コマンドを使用して、OIR イベントを設定する例を示します。

event oir device-type event-type [device-number] +

device-type は、fanmodule または powersupply です。

event-type は、insertremove、または anyoir(装着または取り外し)です。

オプションの device-number では 1 台のデバイスを指定します。省略すると、すべてのデバイスが選択されます。

装着イベントを設定する例を示します。

switch# configure terminal
switch(config)# event manager applet myoir
switch(config-applet)# event oir module insert
switch(config-applet)# action 1 syslog priority critical msg “OIR insert event: A Module is inserted”

取り外しイベントを設定する例を示します。

switch# configure terminal
switch(config)# event manager applet myoir
switch(config-applet)# event oir module remove
switch(config-applet)# action 1 syslog priority critical msg “OIR remove event: A Module is removed”

ユーザ syslog を生成するコンフィギュレーション例

action syslog コマンドを使用して、ユーザ syslog を生成する例を示します。

switch# configure terminal
switch(config)# event manager applet myoir
switch(config-applet)# event oir module remove
switch(config-applet)# action 1 syslog priority critical msg “Module is removed”

このイベントが発生すると、次の syslog が生成されます。

switch(config)# 2013 May 20 00:08:27 p1b-57 %$ VDC-1 %$ %EEM_ACTION-2-CRIT: “Module is removed”

Syslog メッセージをモニタする設定例

次に、スイッチからの Syslog メッセージをモニタする例を示します。

switch(config)# event manager applet a1
switch(config-applet)# event syslog occurs 6 period 4294967 pattern "authentication failed"

このイベントがトリガーされると、ポリシーで定義されているアクションが実行されます。

SNMP 通知の設定例

SNMP OID のポーリングによる EEM イベントの生成

スイッチの CPU 使用率を問い合わせるには、SNMP オブジェクト ID(OID)CISCO-SYSTEM-EXT-MIB::cseSysCPUUtilization が使用されます。

cseSysCPUUtilization OBJECT-TYPE
SYNTAX Gauge32 (0..100 )
UNITS "%"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The average utilization of CPU on the active supervisor."
::= { ciscoSysInfoGroup 1 }

10 秒間隔でポーリングされ、しきい値が 95 % の SNMP ODI を使用する例を示します。

switch# configure terminal
switch(config)# event manager applet test_policy
switch(config-applet)# event snmp oid 1.3.6.1.4.1.9.9.305.1.1.1.0 get-type exact entry-op gt entry-val 95 exit-op lt exit-val 90 poll-interval 10

イベント ポリシーのイベントへの応答で SNMP 通知を送信

このタイプのコンフィギュレーションを使用して、重大なイベント トリガーで SNMP 通知を生成できます。

イベント マネージャのアプレット コンフィギュレーション モードからイベントに対して SNMP 通知を送信する例を示します。

switch(config-applet)# action 1.1 snmp-trap intdata1 100 intdata2 300 strdata "CPU Hogging at switch1"
switch(config-applet)# action 1.1 snmp-trap intdata1 100 intdata2 300 strdata "Port Failure eth9/1"

このコンフィギュレーションでは、スイッチから SNMP ホストに SNMP 通知(トラップ)を行います。SNMP ペイロードには、ユーザ定義フィールド intdata1、intdata2、および strdata の値が含まれます。

ポート トラッキングの設定例

1 つのポートの状態を別のポートの状態と一致させるように設定する例を示します(ポート トラッキング)。

イーサネット インターフェイス 1/2 によるイーサネット インターフェイス 3/23 のポート トラッキングを設定するには、次のステップに従います。

手順


ステップ 1

イーサネット インターフェイス 3/23 のステータスを追跡するオブジェクトを作成します。

例:

switch# configure terminal
switch(config)# track 1 interface ethernet 3/23
switch(config-track)# end

ステップ 2

トラッキング オブジェクトがシャットダウンされたらイーサネット インターフェイス 1/2 をシャットダウンする EEM イベントを設定します。

例:

switch(config)# event manager applet track_3_23_down
switch(config-applet)# event track 1 state down
switch(config-applet)# action 1 syslog msg EEM applet track_3_23_down shutting down port eth1/2 due to eth3/23 being down
switch(config-applet)# action 2 cli conf term
switch(config-applet)# action 3 cli interface ethernet 1/2
switch(config-applet)# action 4 cli shut
switch(config-applet)# end

ステップ 3

イーサネット インターフェイス 3/23 が起動したらイーサネット インターフェイス 1/2 を起動する EEM イベントを設定します。

例:

switch# configure terminal
switch(config)# event manager applet track_3_23_up
switch(config-applet)# event track 1 state up
switch(config-applet)# action 1 syslog msg EEM applet track_3_23_down bringing up port eth1/2 due to eth3/23 being up
switch(config-applet)# action 2 cli conf term
switch(config-applet)# action 3 cli interface ethernet 1/2
switch(config-applet)# action 4 cli no shut
switch(config-applet)# end


EEM によって EEM ポリシーを登録する設定例

次に、EEM によって EEM ポリシーを登録する例を示します。

基本的なスイッチ設定:

event manager applet vpc_check_peer_at_startup
event track 101 state up
action 1.0 cli copy bootflash:eem/user_script_policies/load_schedules running-config
 
feature scheduler
 
!!## 2 x dummy loopbacks are required ##!!
interface loopback 101
interface loopback 102
 
track 1 list boolean or
object 13
object 12
object 102
track 2 list boolean and
object 13
object 12
track 12 interface Ethernet 2/24 line-protocol
track 13 interface port-channel 3000 line-protocol
track 101 interface loopback 101 line-protocol
track 102 interface loopback 102 line-protocol


(注)  


この例では、ポート チャネル 3000 が vPC ピア リンクで、イーサネット 2/24 が vPC キープアライブ リンクです。

ブートフラッシュに次のファイルをコピーする必要があります。

  • スーパーバイザのブートフラッシュに作成する必要がある、/eem/user_script_policies と呼ばれるディレクトリ。

  • 次の 5 つのファイルを上記のディレクトリに作成してロードする必要があります。

    • load_schedules

    • remove_vpc_if_peer_failed

    • clean_up

    • unload_schedules

    • restore_vpc

load_schedules ファイルの設定

feature scheduler
 
configure terminal
scheduler job name vpc_check
configure terminal
event manager policy remove_vpc_if_peer_failed
end
 
configure terminal
scheduler job name clean_up
configure terminal
event manager policy clean_up
end
 
configure terminal
scheduler job name trigger
configure terminal
interface loopback 102
shutdown
no shutdown
end
 
configure terminal
scheduler schedule name load_vpc_check
time start +00:00:04
job name vpc_check
 
scheduler schedule name trigger_vpc_check
time start +00:00:05
job name trigger
 
scheduler schedule name load_clean_up
time start +00:00:08
job name clean_up


scheduler schedule name trigger_clean_up
time start +00:00:10
job name trigger

remove_vpc_if_peer_failed ファイルの設定:

event manager applet remove_vpc_if_peer_failed
event track 1 state down
action 1.0 cli show run vpc > bootflash://sup-active/eem/user_script_policies/vpc_saved.cfg
action 2.0 cli show run vpc > bootflash://sup-standby/eem/user_script_policies/vpc_saved.cfg
action 3.0 cli configure terminal
action 4.0 cli no feature vpc
action 5.0 syslog msg severity alert "##### WARNING!!!! PEER SWITCH FAILED TO COME ONLINE. VPC CONFIG REMOVED #####"
action 6.0 cli event manager policy restore_vpc
action 7.0 cli copy bootflash:eem/user_script_policies/unload_schedules running-config
action 8.0 cli no event manager applet remove_vpc_if_peer_failed
action 9.0 cli end

clean_up ファイルの設定:

event manager applet clean_up
event track 102 state up
action 1.0 cli configure terminal
action 2.0 cli no event manager applet remove_vpc_if_peer_failed
action 3.0 cli copy bootflash:eem/user_script_policies/unload_schedules running
action 4.0 cli no event manager applet clean_up
action 5.0 end

unload_schedules ファイルの設定:

no scheduler schedule name load_vpc_check
no scheduler schedule name trigger_vpc_check
no scheduler schedule name load_clean_up
no scheduler schedule name trigger_clean_up
no scheduler job name vpc_check
no scheduler job name trigger
no scheduler job name clean_up

restore_vpc ファイルの設定:

event manager applet restore_vpc
event track 2 state up
action 1.0 cli copy bootflash:eem/user_script_policies/vpc_saved.cfg running-config
action 1.0 syslog priority alerts msg VPC PEER DETECTED. VPC CONFIG RESTORED
action 3.0 cli configure terminal
action 4.0 cli copy bootflash:eem/user_script_policies/unload_schedules running-config
action 5.0 cli no event manager applet restore_vpc
action 6.0 cli end


(注)  


severity キーワードは廃止され、次のパターンのみが許可されます。

[0-9 a-zA-Z][0-9 a-zA-Z]*[-_ ,:/0-9a-zA-Z]*