イベントポリシーを設定して設定を変更する
change-configurationステートメントを使用してイベントに応答して設定を変更するイベントポリシーアクションを設定できます。
イベントポリシーは、特定のイベントに応答してアクションを実行します。特定のイベントまたは相関イベントをリッスンするイベントポリシーを設定し、設定を変更できます。例えば、イベントポリシーは、特定のインターフェイスのSNMP_TRAP_LINK_DOWNイベントやSNMP_TRAP_LINK_UPイベントを受信すると、スタティックルートの設定を変更してメトリックを調整したり、ネクストホップを変更したりすることがあります。
イベントポリシーでは、以下の方法を使用して設定を変更できます。
-
設定を変更してコミットするイベントスクリプトを呼び出します。
-
change-configurationイベントポリシーアクションを使用します。このアクションは、設定モードコマンドを実行して設定を変更し、設定をコミットします。
このトピックでは、 change-configuration ステートメント階層を使用して設定を更新する方法について説明します。イベントスクリプトを使用して設定を変更する方法については、 イベントスクリプトを使用した設定の変更を参照してください。
ノンストップアクティブルーティング(NSR)が有効になっているデュアルルーティングエンジンデバイスの設定を変更するために、 change-configuration ステートメントを使用することはお勧めしません。この場合、両方のルーティングエンジンが設定データベースのロックを取得しようとする可能性があり、コミットに失敗する可能性があります。NSR対応デバイスでイベントポリシーを使用して設定を変更するには、プライマリルーティングエンジンでのみコミットを実行するイベントスクリプトを呼び出します。
イベントポリシー change-configuration アクションを使用して設定を変更する
設定モードコマンドを使用して設定を変更するイベントポリシーを作成するには、[edit event-options policy policy-name then]階層レベルでchange-configurationステートメントを設定します。例えば:
[edit event-options policy policy-name then]
change-configuration {
commands {
"set routing-options static route 198.51.100.0/24 next-hop 10.1.3.1";
}
}
commandsステートメントは、設定されたイベントを受信したときにイベントポリシーが実行する設定モードコマンドを指定します。各コマンドを引用符(" ")で囲みます。[edit]階層レベルでコマンドを発行する際の設定モードと同様に、要素、識別子、または値への完全なステートメントパスを指定します。commandsステートメントは、以下の設定モードコマンドを受け入れます。
-
activate -
deactivate -
delete -
set
イベントプロセス(eventd)は、イベントポリシー設定にコマンドが表示された順序でコマンドを実行します。コマンドは候補コンフィギュレーションを更新し、コミットエラーが発生しなければコミットされます。デフォルトでは、イベントポリシーは設定変更とコミット操作を root ユーザーとして実行します。特定のユーザーの権限でこれらのアクションを実行するには、 user-name ステートメントを設定し、ユーザーを指定します。
特定のシナリオでは、例えば、設定のロックを取得できない場合など、設定変更アクションが失敗することがあります。最初の試行が失敗した場合に、指定された回数だけシステムが設定変更アクションを試行するように retry ステートメントを設定します。
さらに、 commit-options 子ステートメントを設定して、イベントポリシーのコミット操作をカスタマイズできます。 表1は 、オプションをまとめたものです。
| オプション | の説明 |
|---|---|
check |
変更をコミットせずに、候補となる設定構文を検証します。 |
check synchronize |
変更をコミットせずに、両方のルーティング エンジンで候補となるコンフィギュレーション構文を検証します。 |
force |
候補コンフィギュレーションにコミットされていない変更が含まれていても、警告を無視して他のルーティングエンジンにコミットを強制します。 |
log |
コミットコメントを記録します。 |
synchronize |
両方のルーティングエンジンでコミットを同期します。 |
例えば、イベントポリシーをテストまたはトラブルシューティングする場合、 check コミットオプションを設定して、変更をコミットせずに候補の設定構文を検証できます。デュアルコントロールプレーンシステムでは、 check synchronize ステートメントを設定できます。システムは、一方のコントロールプレーンの候補コンフィギュレーションをもう一方のコントロールプレーンにコピーし、両方の候補コンフィギュレーションが構文的に正しいことを検証します。 check ステートメントと他の commit-options ステートメントは相互に排他的です。
1つのルーティングエンジンで変更をコミットすることも、 synchronize オプションを設定して両方のルーティングエンジンでコミットを同期することもできます。 synchronize オプションを設定すると、リクエスト元のルーティングエンジンはその候補の設定を他のルーティングエンジンにコピーして読み込みます。どちらのルーティング エンジンも、候補となるコンフィギュレーション ファイルに対して構文チェックを実行します。エラーが見つからない場合、コンフィギュレーションが有効になり、両方のルーティングエンジンで現在の運用コンフィギュレーションになります。デフォルトでは、応答ルーティングエンジンにコミットされていない設定変更がある場合、 synchronize オプションは失敗します。ただし、 force オプションを設定することで、ルーティングエンジンにコミット同期を強制し、警告を無視することができます。
以下のコンフィギュレーションは、指定されたコンフィギュレーション・モード・コマンドを実行し、両方のルーティング・エンジンでコンフィギュレーションをコミットします。 log ステートメントは、設定されたコミットコメントを記録します。
[edit event-options policy policy-name then]
change-configuration {
commands {
"set routing-options static route 198.51.100.0/24 next-hop 10.1.3.1";
}
commit-options {
force;
log "event policy change to static route";
synchronize;
}
}
例:イベントポリシーを使用して設定を変更する
特定のイベントに応じて設定の変更が必要になる場合があります。イベントポリシーを設定して、イベントポリシーが1つ以上の特定のイベントによってトリガーされたときに、設定を変更してコミットすることができます。
この例では、特定のインターフェイスのSNMP_TRAP_LINK_DOWNイベントをシミュレートします。イベントを受信すると、イベントポリシーは change-configuration アクションを使用して設定を変更します。イベント ポリシーは、別の出口インターフェイスを介して新しいネクストホップ IP アドレスを使用するように、静的ルートの設定を更新します。
要件
-
Junos OSを実行するデバイス、またはJunos OS Evolvedを実行しているデバイス。
概要
イベントポリシーアクションを設定して、設定を変更できます。出口インターフェイスge-0/2/1を経由するネクストホップIPアドレス10.1.2.1を持つ10.1.10.0/24ネットワークへのスタティックルートがあるとします。ある時点で、このインターフェイスがダウンし、SNMP_TRAP_LINK_DOWNイベントがトリガーされます。
この例では、update-on-snmp-trap-link-down という名前のイベント ポリシーを作成します。イベントポリシーを設定して、イベントプロセスがインターフェイスge-0/2/1.0に関連するSNMP_TRAP_LINK_DOWNイベントをリッスンするようにします。インターフェイスがダウンした場合、イベント ポリシーは、以下の設定変更を含む設定変更アクションを実行します。
-
ge-0/2/1出口インターフェイスを介する静的ルートを削除します
-
出口インターフェイスge-0/3/1を経由して、ネクストホップIPアドレス10.1.3.1を持つ同じターゲットネットワークへの新しい静的ルートを作成します
イベントポリシーは、ユーザー管理者の権限でアクションを実行します。イベントポリシーは、関連するイベントポリシーを通じて変更が行われたことを示すコミットコメントもログに記録します。イベント ポリシーでは、再試行回数 5 と再試行間隔 4 秒を使用します。最初の設定変更の試みが失敗した場合、システムはさらに 5 回変更を試み、各試行の間に 4 秒間待ちます。
ここでは紹介しませんが、インターフェイスが復旧したときに静的ルートを更新する設定変更アクションを実行する2つ目の同様のイベントポリシーがあるかもしれません。その場合、ポリシーは同じインターフェイスのSNMP_TRAP_LINK_UPイベントでトリガーされます。
設定
CLIクイックコンフィグレーション
この例をすばやく設定するには、以下のコマンドをコピーし、コマンドをテキスト ファイルに貼り付け、改行を削除し、ネットワーク構成に合わせて必要な詳細を変更し、コマンドを [edit] 階層レベルのCLIにコピー&ペーストします。
set event-options policy update-on-snmp-trap-link-down events snmp_trap_link_down set event-options policy update-on-snmp-trap-link-down attributes-match snmp_trap_link_down.interface-name matches ge-0/2/1.0 set event-options policy update-on-snmp-trap-link-down then change-configuration retry count 5 set event-options policy update-on-snmp-trap-link-down then change-configuration retry interval 4 set event-options policy update-on-snmp-trap-link-down then change-configuration commands "delete routing-options static route 10.1.10.0/24 next-hop" set event-options policy update-on-snmp-trap-link-down then change-configuration commands "set routing-options static route 10.1.10.0/24 next-hop 10.1.3.1" set event-options policy update-on-snmp-trap-link-down then change-configuration user-name admin set event-options policy update-on-snmp-trap-link-down then change-configuration commit-options log "updating configuration from event policy update-on-snmp-trap-link-down" set routing-options static route 10.1.10.0/24 next-hop 10.1.2.1 set system syslog file syslog-event-daemon-warning daemon warning
イベントポリシーの設定
ステップバイステップの手順
イベントポリシーを作成し、名前を付けます。
[edit] admin@R1# edit event-options policy update-on-snmp-trap-link-down
イベントポリシーがSNMP_TRAP_LINK_DOWNイベントでトリガーされるように、
eventsステートメントを設定します。ge-0/2/1.0インターフェイスでSNMP_TRAP_LINK_DOWNイベントが発生した場合にのみポリシーがトリガーされるように
attributes-matchステートメントを設定します。[edit event-options policy update-on-snmp-trap-link-down] admin@R1# set events snmp_trap_link_down admin@R1# set attributes-match snmp_trap_link_down.interface-name matches ge-0/2/1.0
イベントポリシーがトリガーされた場合に実行する設定モードコマンドを指定します。
各コマンドを1行で設定し、コマンド文字列を引用符で囲み、完全なステートメントパスを指定します。
[edit event-options policy update-on-snmp-trap-link-down then change-configuration] admin@R1# set commands "delete routing-options static route 10.1.10.0/24 next-hop" admin@R1# set commands "set routing-options static route 10.1.10.0/24 next-hop 10.1.3.1"
(オプション)設定変更を説明するコメントで
logオプションを設定します。コメントは、関連するイベントポリシーを介してコミット操作が成功した後、コミットログに追加されます。[edit event-options policy update-on-snmp-trap-link-down then change-configuration] admin@R1# set commit-options log "updating configuration from event policy update-on-snmp-trap-link-down"
(オプション)デュアルルーティングエンジンを使用している場合は、
synchronizeオプションを設定して、両方のルーティングエンジンで設定をコミットします。警告を無視して、他のルーティングエンジンにコミットを強制するforceオプションを含めます。この例では、synchronizeオプションとforceオプションは設定しません。(オプション)再試行回数と再試行間隔を設定します。
この例では、
countは5に設定され、intervalは4秒です。[edit event-options policy update-on-snmp-trap-link-down then change-configuration] admin@R1# set retry count 5 interval 4
(オプション)設定の変更とコミットが行われる権限の下でユーザー名を設定します。
ユーザー名を指定しない場合、アクションはユーザーrootとして実行されます。
[edit event-options policy update-on-snmp-trap-link-down then change-configuration] admin@R1# set user-name admin
[edit system syslog]階層レベルで新しいログファイルを構成して、ファシリティdaemonと重大度warningのsyslogイベントを記録します。このログは、SNMP_TRAP_LINK_DOWNイベントをキャプチャします。
[edit system syslog] admin@R1# set file syslog-event-daemon-warning daemon warning
この例をテストするために、ネクストホップIPアドレス10.1.2.1で10.1.10.0/24ネットワークへのスタティックルートを設定します。
[edit] admin@R1# set routing-options static route 10.1.10.0/24 next-hop 10.1.2.1
設定をコミットします。
admin@R1# commit
ge-0/2/1インターフェイスを無効にする前に、設定の
[edit routing-options static]階層レベルを確認し、ネクストホップIPアドレスをメモします。admin@R1> show configuration routing-options static ... route 10.1.10.0/24 next-hop 10.1.2.1; ...
イベントポリシーを手動でテストするには、ge-0/2/1インターフェイスを一時的にオフラインにしてSNMP_TRAP_LINK_DOWNイベントを生成します。
[edit] admin@R1# set interfaces ge-0/2/1 disable admin@R1# commit
結果
[edit]
event-options {
policy update-on-snmp-trap-link-down {
events snmp_trap_link_down;
attributes-match {
snmp_trap_link_down.interface-name matches ge-0/2/1.0;
}
then {
change-configuration {
retry count 5 interval 4;
commands {
"delete routing-options static route 10.1.10.0/24 next-hop";
"set routing-options static route 10.1.10.0/24 next-hop 10.1.3.1";
}
user-name admin;
commit-options {
log "updating configuration from event policy update-on-snmp-trap-link-down";
}
}
}
}
}
routing-options {
static {
route 10.1.10.0/24 next-hop 10.1.2.1;
}
}
system {
syslog {
file syslog-event-daemon-warning {
daemon warning;
}
}
}
検証
設定が正常に機能していることを確認します。
インターフェイスのステータスの検証
目的
ge-0/2/1インターフェイスがダウンしており、それがSNMP_TRAP_LINK_DOWNイベントをトリガーしていることを確認します。
アクション
show interfaces ge-0/2/1動作モードコマンドを発行します。コマンド出力は、インターフェイスが管理上オフラインであることを示しています。
admin@R1> show interfaces ge-0/2/1 Physical interface: ge-0/2/1, Administratively down, Physical link is Down <output omitted>
ステップ 8で設定したシステムログファイルの内容を確認します。出力は、ge-0/2/1.0インターフェイスがSNMP_TRAP_LINK_DOWNイベントを生成したことを示しています。
admin@R1> show log syslog-event-daemon-warning Oct 10 18:00:57 R1 mib2d[1371]: SNMP_TRAP_LINK_DOWN: ifIndex 531, ifAdminStatus down(2), ifOperStatus down(2), ifName ge-0/2/1.0
コミットの検証
目的
コミットログとメッセージログファイルを確認して、イベントポリシーのコミット操作が成功したことを確認します。
アクション
show system commit 動作モード コマンドを発行して、コミット ログを表示します。この例では、指定された日時にユーザーadminの権限でイベントポリシーによって設定がコミットされたことがログによって確認されています。
admin@R1> show system commit
0 2011-10-10 18:01:03 PDT by admin via junoscript
updating configuration from event policy update-on-snmp-trap-link-down
1 2011-09-02 14:16:44 PDT by admin via netconf
2 2011-07-08 14:33:46 PDT by root via other
メッセージログファイルを確認します。SNMP_TRAP_LINK_DOWNイベントを受信すると、Junos OS設定されたイベントポリシーアクションを実行して、設定を変更してコミットしました。コミット操作は、ユーザーadminの権限で実行されました。
admin@R1> show log messages | last 20 ... Oct 10 18:00:57 R1 mib2d[1371]: SNMP_TRAP_LINK_DOWN: ifIndex 531, ifAdminStatus down(2), ifOperStatus down(2), ifName ge-0/2/1.0 Oct 10 18:00:59 R1 file[17575]: UI_COMMIT: User 'admin' requested 'commit' operation (comment: updating configuration from event policy update-on-snmp-trap-link-down) Oct 10 18:01:03 R1 eventd: EVENTD_CONFIG_CHANGE_SUCCESS: Configuration change successful: while executing policy update-on-snmp-trap-link-down with user admin privileges
別のログ ファイルを設定する場合は、設定に固有のファイルを確認してください。
意味
show system commit運用モードコマンドの出力とメッセージログファイルから、ユーザー管理者の権限でイベントポリシーによって行われたコミット操作が成功したことを確認します。show system commit出力とメッセージログファイルは、設定されたコミットオプションで指定されたコミットコメントを参照します。
設定変更の確認
目的
ge-0/2/1インターフェイスを無効にした後、設定の [edit routing-options static] 階層レベルを確認して、設定変更を確認します。
アクション
以下の動作モードコマンドを発行します。
admin@R1> show configuration routing-options static ... route 10.1.10.0/24 next-hop 10.1.3.1; ...
意味
イベントポリシーは、新しいIPアドレス10.1.3.1を使用するように設定されたネクストホップを変更しました。新しいIPアドレスの出口インターフェイスはge-0/3/1です。
トラブルシューティング
コミットエラーのトラブルシューティング
問題点
トリガーされたイベントポリシーは指定された設定を変更せず、ログはコミットが失敗したことを確認します。
admin@R1> show log messages | last 20 ... Oct 10 17:48:59 R1 mib2d[1371]: SNMP_TRAP_LINK_DOWN: ifIndex 531, ifAdminStatus down(2), ifOperStatus down(2), ifName ge-0/2/1.0 Oct 10 17:49:01 R1 file[17142]: UI_LOAD_EVENT: User 'admin' is performing a 'rollback' Oct 10 17:49:01 R1 eventd: EVENTD_CONFIG_CHANGE_FAILED: Configuration change failed: rpc to management daemon failed while executing policy update-on-snmp-trap-link-down with user admin privileges
コミットの失敗は、次のようなさまざまな理由で発生する可能性があります。
-
候補のコンフィギュレーションはロックされています
-
設定モードコマンドの構文や順序が正しくありません
-
イベントポリシーアクション用に設定されたユーザーには、要求された変更を行うための適切な権限がありません。
ソリューション
[edit event-options policy update-on-snmp-trap-link-down then change-configuration commands]階層レベルで設定モードコマンドを確認し、構文と実行順序が正しいことを確認します。
さらに、再試行回数と間隔のオプションを増やして、設定がロックされている場合、イベント ポリシーが最初の失敗したインスタンスの後、指定された回数設定の変更を試みるようにします。
また、設定されたユーザーがいる場合、要求された変更を行うための適切な権限レベルを持っていることを確認します。
例:イベントに応答してインターフェイス設定を変更する
この例では、リアルタイムパフォーマンス監視(RPM)プローブを使用して、特定のインターフェイスのPING_TEST_FAILEDイベントを生成します。設定された RPM プローブから 60 秒以内に 3 つのPING_TEST_FAILEDイベントの最初のインスタンスを受信すると、イベント ポリシーは設定変更イベント ポリシー アクションを実行します。このアクションは、指定されたインターフェイスを管理上無効にするように設定を変更します。このタイプのアクションは、ネットワークパフォーマンスに一貫して影響を与えている不安定でフラッピングするインターフェイスがある場合に必要になることがあります。
要件
-
Junos OSを実行するデバイス、またはJunos OS Evolvedを実行しているデバイス。
概要
この例では、disable-interface-on-ping-failureという名前のイベントポリシーを作成します。イベントポリシーを設定して、イベントプロセスが特定のRPMプローブによって生成され、ge-0/3/1インターフェイスに関連付けられたPING_TEST_FAILEDイベントをリッスンするようにします。特定のインターフェイスで 60 秒間隔内に 3 つのPING_TEST_FAILEDイベントが発生した場合、イベント ポリシーは設定変更アクションを実行します。イベントポリシー設定コマンドは、インターフェイスを管理上無効にします。
イベントポリシーをテストするために、この例では、ge-0/3/1インターフェイスに関連付けられたIPアドレスにpingを実行するRPMプローブを設定します。この例では、ge-0/3/1.0インターフェイスはIPv4アドレス10.1.4.1/26で設定されています。デフォルトでは、テストごとに 1 つのプローブが送信され、この例ではテストの間に 5 秒間の一時停止を使用しています。3 回連続したプローブ損失の後、RPM プローブは PING_TEST_FAILED イベントを生成します。複数のRPMテストを同時に実行できるため、イベントポリシーは、受信したPING_TEST_FAILEDイベントの owner-name 属性と test-name 属性をRPMプローブ所有者名およびテスト名と照合します。RPM プローブが 60 秒間隔で 3 つのPING_TEST_FAILEDイベントを生成すると、イベントポリシーがトリガーされ、インターフェイスが無効になります。
このイベント ポリシーは、同じイベントまたは相関イベントが発生するために、同じ設定変更の実行を複数回制限する方法も示します。この例では、 within 60 trigger on 3 ステートメントは、設定変更が60秒間隔以内にPING_TEST_FAILEDイベントが3回発生した場合にのみトリガーされることを指定します。 trigger until 4 ステートメントは、その後にPING_TEST_FAILEDイベントが発生しても、イベントポリシーが再トリガーされないように指定しています。
trigger on 3条件のみを設定すると、コミット操作がループする可能性があります。trigger on 3とtrigger until 4の組み合わせにより、イベントポリシーが同じ設定変更を繰り返し行うのを防ぎます。
設定
RPMプローブを設定する
CLIクイックコンフィグレーション
この例のセクションを迅速に設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルでCLIにコピーアンドペーストして、設定モードから commit を入力します。
set services rpm probe icmp-ping-probe test ping-probe-test probe-type icmp-ping set services rpm probe icmp-ping-probe test ping-probe-test target address 10.1.4.1 set services rpm probe icmp-ping-probe test ping-probe-test test-interval 5 set services rpm probe icmp-ping-probe test ping-probe-test thresholds successive-loss 3 set system syslog file syslog-event-daemon-info daemon info
ステップバイステップの手順
この例のPING_TEST_FAILEDイベントを作成するRPMプローブを設定するには:
所有者icmp-ping-probeでping-probe-testという名前のRPMプローブを作成します。
[edit services rpm] admin@R1# set probe icmp-ping-probe test ping-probe-test
ICMPエコー要求を送信するようにRPMプローブを設定します。
[edit services rpm probe icmp-ping-probe test ping-probe-test] admin@R1# set probe-type icmp-ping
IP アドレス 10.1.4.1 の ge-0/3/1 インターフェイスに ICMP エコー要求を送信するように RPM プローブを設定します。
[edit services rpm probe icmp-ping-probe test ping-probe-test] admin@R1# set target address 10.1.4.1
テストウィンドウの間に5秒間の一時停止を設定します。
[edit services rpm probe icmp-ping-probe test ping-probe-test] admin@R1# set test-interval 5
3 回連続したプローブ損失後に PING_TEST_FAILED イベントがトリガーされるように、RPM プローブしきい値を設定します。
[edit services rpm probe icmp-ping-probe test ping-probe-test] admin@R1# set thresholds successive-loss 3
[edit system syslog]階層レベルで新しいログファイルを構成して、ファシリティdaemonと重大度infoのsyslogイベントを記録します。プローブテスト中に送信されたイベントがキャプチャされます。
[edit system syslog] admin@R1# set file syslog-event-daemon-info daemon info
設定をコミットします。
admin@R1# commit
結果
設定モードから、 show services および show system syslog コマンドを入力して設定を確認します。出力に意図した設定が表示されない場合は、この例の手順を繰り返して設定を修正します。
[edit]
services {
rpm {
probe icmp-ping-probe {
test ping-probe-test {
probe-type icmp-ping;
target address 10.1.4.1;
test-interval 5;
thresholds {
successive-loss 3;
}
}
}
}
}
system {
syslog {
file syslog-event-daemon-info {
daemon info;
}
}
}
イベントポリシーを設定する
CLIクイックコンフィグレーション
この例のセクションを迅速に設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルでCLIにコピーアンドペーストして、設定モードから commit を入力します。
set event-options policy disable-on-ping-failure events ping_test_failed set event-options policy disable-on-ping-failure within 60 trigger on set event-options policy disable-on-ping-failure within 60 trigger 3 set event-options policy disable-on-ping-failure within 65 trigger until set event-options policy disable-on-ping-failure within 65 trigger 4 set event-options policy disable-on-ping-failure attributes-match ping_test_failed.test-owner matches icmp-ping-probe set event-options policy disable-on-ping-failure attributes-match ping_test_failed.test-name matches ping-probe-test set event-options policy disable-on-ping-failure then change-configuration commands "set interfaces ge-0/3/1 disable" set event-options policy disable-on-ping-failure then change-configuration user-name admin set event-options policy disable-on-ping-failure then change-configuration commit-options log "updating configuration from event policy disable-on-ping-failure"
ステップバイステップの手順
イベントポリシーを作成し、名前を付けます。
[edit] admin@R1# edit event-options policy disable-interface-on-ping-failure
PING_TEST_FAILEDイベントで一致するようにイベントポリシーを設定します。
[edit event-options policy disable-interface-on-ping-failure] admin@R1# set events ping_test_failed
60秒以内に3つのPING_TEST_FAILEDイベントが発生した場合にトリガーするようにポリシーを設定します。
[edit event-options policy disable-interface-on-ping-failure] admin@R1# set within 60 trigger on 3
within 65 trigger until 4ステートメントを設定し、3つ以上のPING_TEST_FAILEDイベントが発生した場合にポリシーが再トリガーされないようにします。[edit event-options policy disable-interface-on-ping-failure] admin@R1# set within 65 trigger until 4
イベントポリシーが、関連するRPMプローブによって生成されたPING_TEST_FAILEDイベントによってのみトリガーされるように、
attributes-matchステートメントを設定します。[edit event-options policy disable-interface-on-ping-failure] admin@R1# set attributes-match ping_test_failed.test-owner matches icmp-ping-probe admin@R1# set attributes-match ping_test_failed.test-name matches ping-probe-test
イベントポリシーがトリガーされた場合に実行する設定モードコマンドを指定します。
各コマンドを1行で設定し、コマンド文字列を引用符で囲み、完全なステートメントパスを指定します。
[edit event-options policy disable-interface-on-ping-failure then change-configuration] admin@R1# set commands "set interfaces ge-0/3/1 disable"
(オプション)設定変更を説明するコメントで
logオプションを設定します。コメントは、関連するイベントポリシーを介してコミット操作が成功した後、コミットログに追加されます。
[edit event-options policy disable-interface-on-ping-failure then change-configuration] admin@R1# set commit-options log "updating configuration from event policy disable-interface-on-ping-failure"
(オプション)デュアルルーティングエンジンがある場合は、
synchronizeオプションを設定して、両方のルーティングエンジンで設定をコミットします。警告を無視して、他のルーティングエンジンにコミットを強制するforceオプションを含めます。この例では、synchronizeとforceのオプションは設定しません。(オプション)設定の変更とコミットが行われる権限の下でユーザー名を設定します。
ユーザー名を指定しない場合、アクションはユーザー
rootとして実行されます。[edit event-options policy disable-interface-on-ping-failure then change-configuration] admin@R1# set user-name admin
設定変更を行う前に、
show interfaces ge-0/3/1運用モードコマンドの出力を確認してください。注:インターフェイスが有効になっている必要があります。
admin@R1> show interfaces ge-0/3/1 Physical interface: ge-0/3/1, Enabled, Physical link is Up Interface index: 142, SNMP ifIndex: 531 ...
設定をコミットします。
admin@R1# commit
結果
設定モードから、 show event-options コマンドを入力して設定を確認します。出力に意図した設定が表示されない場合は、この例の手順を繰り返して設定を修正します。
[edit event-options]
policy disable-interface-on-ping-failure {
events ping_test_failed;
within 60 {
trigger on 3;
}
within 65 {
trigger until 4;
}
attributes-match {
ping_test_failed.test-owner matches icmp-ping-probe;
ping_test_failed.test-name matches ping-probe-test;
}
then {
change-configuration {
commands {
"set interfaces ge-0/3/1 disable";
}
user-name admin;
commit-options {
log "updating configuration from event policy disable-interface-on-ping-failure";
}
}
}
}
検証
設定が正常に機能していることを確認します。
イベントの検証
目的
イベントポリシーを手動でテストするには、3つのPING_TEST_FAILEDイベントが生成されるまでge-0/3/1インターフェイスをオフラインにします。
アクション
設定されたsyslogファイルを確認します。連続して失われた後、RPM プローブが PING_TEST_FAILED イベントを生成することを確認します。
admin@R1> show log syslog-event-daemon-info Oct 7 15:48:54 R1 rmopd[1345]: PING_TEST_COMPLETED: pingCtlOwnerIndex = icmp-ping-probe, pingCtlTestName = ping-probe-test Oct 7 15:49:54 R1 rmopd[1345]: PING_TEST_COMPLETED: pingCtlOwnerIndex = icmp-ping-probe, pingCtlTestName = ping-probe-test ... Oct 7 15:52:54 R1 rmopd[1345]: RMOPD_ICMP_SENDMSG_FAILURE: sendmsg(ICMP): No route to host Oct 7 15:52:54 R1 rmopd[1345]: PING_PROBE_FAILED: pingCtlOwnerIndex = icmp-ping-probe, pingCtlTestName = ping-probe-test Oct 7 15:52:54 R1 rmopd[1345]: PING_TEST_FAILED: pingCtlOwnerIndex = icmp-ping-probe, pingCtlTestName = ping-probe-test Oct 7 15:52:57 R1 rmopd[1345]: PING_TEST_FAILED: pingCtlOwnerIndex = icmp-ping-probe, pingCtlTestName = ping-probe-test Oct 7 15:53:00 R1 rmopd[1345]: PING_TEST_FAILED: pingCtlOwnerIndex = icmp-ping-probe, pingCtlTestName = ping-probe-test
コミットの検証
目的
コミットログとメッセージログファイルを確認して、イベントポリシーのコミット操作が成功したことを確認します。
アクション
show system commit 動作モード コマンドを発行して、コミット ログを表示します。
admin@R1> show system commit
0 2011-10-07 15:53:00 PDT by admin via junoscript
updating configuration from event policy disable-interface-on-ping-failure
1 2011-09-02 14:16:44 PDT by admin via netconf
2 2011-07-08 14:33:46 PDT by root via other
メッセージログファイルを確認します。
admin@R1> show log messages | last 20 Oct 7 15:52:54 R1 rmopd[1345]: RMOPD_ICMP_SENDMSG_FAILURE: sendmsg(ICMP): No route to host Oct 7 15:53:00 R1 file[9972]: UI_COMMIT: User 'admin' requested 'commit' operation (comment: updating configuration from event policy disable-interface-on-ping-failure) Oct 7 15:53:02 R1 eventd: EVENTD_CONFIG_CHANGE_SUCCESS: Configuration change successful: while executing policy disable-interface-on-ping-failure with user admin privileges
意味
show system commit動作モードコマンドからの出力とメッセージログファイルは、設定されたイベントポリシーアクションを実行しJunos OS設定を変更してコミットしたことを確認します。指定された日時にユーザー管理者の権限でイベントポリシーを介して行われたコミット操作は成功しました。show system commit出力とメッセージのログファイルは、設定されたコミットオプションで指定されたコミットコメントを参照します。
設定変更の確認
目的
構成の [edit interfaces ge-0/3/1] 階層レベルを確認して、構成の変更を確認します。
アクション
admin@R1> show configuration interfaces ge-0/3/1
disable;
unit 0 {
family inet {
address 10.1.4.1/26;
}
}
意味
ge-0/3/1の設定階層は、イベントポリシーによって変更され、 disable ステートメントが追加されました。
インターフェイスのステータスの検証
目的
設定変更が行われた後、 show interfaces ge-0/3/1 運用モードコマンドの出力を確認します。
アクション
show interfaces ge-0/3/1動作モードコマンドを発行します。イベントポリシー設定変更アクションによってインターフェイスが無効になると、ステータスが「有効」から「管理上ダウン」に変わります。
admin@R1> show interfaces ge-0/3/1 Physical interface: ge-0/3/1, Administratively down, Physical link is Down Interface index: 142, SNMP ifIndex: 531