EEM ポリシーのコンフィギュレーション例
ここでは、次の内容について説明します。
•
「CLI イベントのコンフィギュレーション例」
•
「メジャーしきい値を上書き(ディセーブル)するコンフィギュレーション例」
•
「ファン取り外しのためのシャットダウンを上書き(ディセーブル)するコンフィギュレーション例」
•
「補足ポリシーを作成するコンフィギュレーション例」
•
「電力のバジェット超過ポリシーのコンフィギュレーション例」
•
「シャットダウンするモジュールを選択するコンフィギュレーション例」
•
「活性挿抜イベントのコンフィギュレーション例」
•
「ユーザ syslog を生成するコンフィギュレーション例」
•
「SNMP 通知のコンフィギュレーション例」
•
「ポート トラッキングのコンフィギュレーション例」
インターフェイス シャットダウンの監視
インターフェイスのシャットダウンを監視する例を示します。
Enter configuration commands, one per line. End with CNTL/Z.
switch(config)# event manager applet monitorShutdown
switch(config-applet)# description “Monitors interface shutdown.”
switch(config-applet)# event cli match “shutdown”
switch(config-applet)# action 1.0 cli show interface e 3/1
switch(config)# copy running-config startup-config
モジュール パワーダウンの監視
モジュールのパワーダウンを監視する例を示します。
Enter configuration commands, one per line. End with CNTL/Z.
switch(config)# event manager applet monitorPoweroff
switch(config-applet)# description “Monitors module power down.”
switch(config-applet)# event cli match “poweroff *”
switch(config-applet)# action 1.0 cli show module
switch(config)# copy running-config startup-config
ロールバックを開始するトリガーの追加
ロールバックを開始するトリガーを追加する例を示します。
Enter configuration commands, one per line. End with CNTL/Z.
switch(config)# event manager applet rollbackTrigger
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(config)# event manager applet myappletname override __pfm_tempev_major
デフォルト コンフィギュレーションに戻す例を示します。
switch(config)# no event manager applet myappletname override __pfm_tempev_major
1 つの不良センサをディセーブルにする方法
センサ 3 で障害が発生した場合(他のセンサに影響なし)に、モジュール 2 でセンサ 3 だけをディセーブルにする例を示します。
switch(config)# event manager applet myappletname override __pfm_tempev_major
switch(config-applet)# event temperature module 2 sensor 3 threshold major
switch(config0aooket)# end
デフォルト コンフィギュレーションに戻す例を示します。
switch(config)# no event manager applet myappletname override __pfm_tempev_major
複数の不良センサをディセーブルにする方法
モジュール 2 のセンサ 5、6、7 で障害が発生した場合(他のセンサに影響なし)に、これらのセンサをディセーブルにする例を示します。
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(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(config)# event manager applet myappletname override __pfm_tempev_major
switch(config-applet)# event temperature module 2 sensor 7 threshold major
switch(config-epplet)# end
デフォルト コンフィギュレーションに戻す例を示します。
switch(config)# no event manager applet myappletname override __pfm_tempev_major
モジュール全体の上書き(ディセーブル)
誤動作するモジュール 2 をディセーブルにする例を示します。
switch(config)# event manager applet myappletname override __pfm_tempev_major
switch(config-applet)# event temperature module 2 threshold major
switch(config-applet)# end
デフォルト コンフィギュレーションに戻す例を示します。
switch(config)# no event manager applet myappletname override __pfm_tempev_major
複数のモジュールおよびセンサの上書き(ディセーブル)
誤動作するモジュール 2 のセンサ 3、4、7 とモジュール 3 のすべてのセンサをディセーブルにする例を示します。
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(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(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(config)# event manager applet myappletname override __pfm_tempev_major
switch(config-applet)# event temperature module 3 threshold major
switch(config-applet)# end
デフォルト コンフィギュレーションに戻す例を示します。
switch(config)# no event manager applet myappletname override __pfm_tempev_major
1 つのセンサをイネーブルにして、すべてのモジュールの残りのセンサをすべてディセーブルにする方法
モジュール 9 のセンサ 4 を除くすべてのモジュールのすべてのセンサをディセーブルにする例を示します。
switch(config)# event manager applet myapplet1 override __pfm_tempev_major
switch(config-applet)# end
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(config)# event manager applet myapplet1 override __pfm_tempev_major
switch(config-applet)# end
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(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(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(config)# event manager applet myapplet1 override __pfm_tempev_major
switch(config-applet)# end
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 および 4 のすべてのセンサを除くすべてのモジュールのすべてのセンサをディセーブルにする例を示します。
switch(config)# event manager applet myapplet1 override __pfm_tempev_major
switch(config-applet)# end
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(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(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(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(config)# event manager applet myappletname override __pfm_fanabsent_any_singlefan
switch(config-applet)# end
デフォルト コンフィギュレーションに戻す例を示します。
switch(config)# no event manager applet myappletname override __pfm_fanabsent_any_singlefan
switch(config-applet)# end
指定したファンを取り外すためのシャットダウンの上書き(ディセーブル)
指定したファン(ファン 3)を取り外せるように、シャットダウンをディセーブルにする例を示します。
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(config) no event manager applet myappletname override __pfm_fanabsent_any_singlefan
指定した複数のファンを取り外すためのシャットダウンの上書き(ディセーブル)
指定した複数のファン(ファン 2、3、4)を取り外せるように、シャットダウンをディセーブルにする例を示します。
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(config)# event manager applet myapplet2 override __pfm_fanabsent_any_singlefan
switch(config-applet)# event fanabsent fan 3 time 60
switch(config-applet)# end
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(config)# no event manager applet myappletname override __pfm_fanabsent_any_singlefan
1 つを除くすべてのファンを取り外すためのシャットダウンの上書き(ディセーブル)
1 つ(ファン 2)を除くすべてのファンを取り外せるように、シャットダウンをディセーブルにする例を示します。
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 time 60
switch(config-applet)# action 2 policy-default
switch(config-applet)# end
指定したファンのセットを除くファンを取り外すためのシャットダウンの上書き(ディセーブル)
指定したファンのセット(ファン 2、3、4)を除くファンを取り外せるように、シャットダウンをディセーブルにする例を示します。
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(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 time 60
switch(config-applet)# action 2 policy-default
switch(config-applet)# end
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(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-number ] time time-interval
ファン 1 が 60 秒間存在しない場合に、デフォルトのポリシーに加えて、ポリシー myappletname とアクション 3 を実行する例を示します。
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(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(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(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(config)# event manager applet my5a1 override __pfm_tempev_major
switch(config-applet)# end
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(config)# event manager applet my5b1 override __pfm_tempev_major
switch(config-applet)# end
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 は、 fan 、 module または powersupply です。
event-type は、 insert 、 remove 、または anyoir (装着または取り外し)です。
オプションの device-number では 1 台のデバイスを指定します。省略すると、すべてのデバイスが選択されます。
装着イベントを設定する例を示します。
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(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(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 が生成されます。
p1b-57(config)# 2008 Feb 20 00:08:27 p1b-57 %$ VDC-1 %$ %EEM_ACTION-2-CRIT: "Module is removed"
2008 Feb 20 00:08:27 p1b-57 %$ VDC-1 %$ %PLATFORM-2-MOD_REMOVE: Module 2 removed (Serial number JAB120101PW)
SNMP OID のポーリングによる EEM イベントの生成
スイッチの CPU 使用率を問い合わせるには、SNMP オブジェクト ID(OID)CISCO-SYSTEM-EXT-MIB::cseSysCPUUtilization が使用されます。
cseSysCPUUtilization OBJECT-TYPE
"The average utilization of CPU on the active supervisor."
::= { ciscoSysInfoGroup 1 }
10 秒間隔でポーリングされ、しきい値が 95 % の SNMP ODI を使用する例を示します。
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
switch(config-applet)# 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(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 t; int eth1/2; shut
switch(config-applet)# end
ステップ 3
イーサネット インターフェイス 3/23 が起動したらイーサネット インターフェイス 1/2 を起動する EEM イベントを設定します。
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 t; int eth1/2; no shut
switch(config-applet)# end