例: イベントへの応答としてインターフェイス設定を変更する
特定のイベントへの応答として構成を変更する必要がある場合があります。Junos OS リリース 12.1 から、1 つ以上の特定のイベントによってイベント ポリシーがトリガーされた場合に設定の変更を行い、コミットするイベント ポリシーを設定できます。
この例では、RPM(リアルタイム パフォーマンス監視)プローブを使用して、特定のインターフェイスPING_TEST_FAILEDイベントを生成します。設定された RPM プローブから 60 秒以内に 3 つの PING_TEST_FAILED イベントの最初のインスタンスを受信すると、イベント ポリシーは設定変更イベント ポリシー アクションを実行し、設定を変更して指定したインターフェイスを管理上無効にします。不安定でフラッピングが多く、常にネットワーク パフォーマンスに影響を及ぼす不安定なフラッピング インターフェイスを使用している場合、このようなアクションが必要になる場合があります。
要件
ルーティング、スイッチング、またはセキュリティ デバイスで動作しているJunos OS リリース 12.1 以降。
概要
この例では、 disable-interface-on-ping-failure という名前のイベント ポリシーを作成します。イベント ポリシーは、イベント プロセスが特定の RPM プローブによって生成され、ge-0/3/1 インターフェイスに関連付けられた PING_TEST_FAILED イベントをリッスンするように設定されています。特定のPING_TEST_FAILED 60 秒間隔で 3 つのイベントが発生した場合、イベント ポリシーは設定変更アクションを実行します。イベント ポリシー設定コマンドは、管理上、インターフェイスを無効にします。
この例では、イベント ポリシーをテストするために、ge-0/3/1 インターフェイスに関連付けられた IP アドレスに ping を実行する RPM プローブを設定します。この例では、ge-0/3/1.0インターフェイスはIPv4アドレス10.1.4.1/26で設定されています。デフォルトではテストごとに 1 つのプローブが送信され、この例ではテスト間で 5 秒間の一時停止を使用します。3 回連続してプローブを損失した後、RPM プローブは 1 つのPING_TEST_FAILED生成します。複数の RPM テストを同時に実行できる可能性があるため、イベント ポリシーは、受信した PING_TEST_FAILED イベントのおよび属性を RPM プローブの所有者名とテスト名 owner-name
test-name
に一致します。RPM プローブが 60 秒の間隔PING_TEST_FAILED 3 つのイベントを生成すると、イベント ポリシーがトリガーされ、インターフェイスが無効になります。
また、このイベント ポリシーは、同じイベントまたは相関イベントが発生した場合に発生した、同じ設定変更の実行を複数回制限する方法も示しています。この例では、 ステートメントは、設定変更が 60 秒の間隔で PING_TEST_FAILED イベントが 3 回目に出現した場合にのみトリガーされるという within 60 trigger on 3
指定をします。ステートメントは、イベントがPING_TEST_FAILEDが再び発生し、イベント ポリシーが再トリガー trigger until 4
されるのを防止する必要があります。
条件のみを設定 trigger on 3
した場合、コミット操作はループに入る可能性があります。イベント ポリシーを trigger on 3
組み trigger until 4
合わせて、同じ設定変更を繰り返し行うのを防ぐ。
構成
RPM プローブの設定
CLI迅速な設定
この例のセクションを迅速に設定するには、以下のコマンドをコピーして、テキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致する必要がある詳細情報を変更し、コマンドを階層レベルで CLI にコピー アンド ペーストして、設定モードから を入力します。 [edit]
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
手順
RPM プローブを設定するには、次の例のイベントPING_TEST_FAILEDを作成します。
所有者の icmp-ping-probe を使用して、ping-probe-test という名前の RPM プローブを作成します。
[edit services rpm] bsmith@R1# set probe icmp-ping-probe test ping-probe-test
RPM プローブを設定して、ICMP echo リクエストを送信します。
[edit services rpm probe icmp-ping-probe test ping-probe-test] bsmith@R1# set probe-type icmp-ping
RPM プローブを設定して、ICMP echo 要求を IP アドレス 10.1.4.1 の ge-0/3/1 インターフェイスに送信します。
[edit services rpm probe icmp-ping-probe test ping-probe-test] bsmith@R1# set target address 10.1.4.1
テスト 時間の間に 5 秒間の一時停止を設定します。
[edit services rpm probe icmp-ping-probe test ping-probe-test] bsmith@R1# set test-interval 5
RPM プローブのしきい値を設定して、プローブPING_TEST_FAILEDが 3 回連続して損失した後にイベントがトリガーされます。
[edit services rpm probe icmp-ping-probe test ping-probe-test] bsmith@R1# set thresholds successive-loss 3
階層レベルで新しいログ ファイルを設定し、設備の syslog イベントと
[edit system syslog]
重大度daemon
を記録しますinfo
。これにより、プローブ テストで送信されたイベントがキャプチャされます。
[edit system syslog] bsmith@R1# set file syslog-event-daemon-info daemon info
設定をコミットします。
bsmith@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迅速な設定
この例のセクションを迅速に設定するには、以下のコマンドをコピーして、テキスト ファイルに貼り付け、改行を削除し、ネットワーク設定に一致する必要がある詳細情報を変更し、コマンドを階層レベルで CLI にコピー アンド ペーストして、設定モードから を入力します。 [edit]
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 bsmith set event-options policy disable-on-ping-failure then change-configuration commit-options log "updating configuration from event policy disable-on-ping-failure"
手順
イベント ポリシーを作成し、名前を指定します。
[edit] bsmith@R1# edit event-options policy disable-interface-on-ping-failure
イベント イベントとイベントを一致PING_TEST_FAILEDします。
[edit event-options policy disable-interface-on-ping-failure] bsmith@R1# set events ping_test_failed
3 つのイベントが 60 PING_TEST_FAILED発生するとトリガーするポリシーを設定します。
[edit event-options policy disable-interface-on-ping-failure] bsmith@R1# set within 60 trigger on 3
ステートメントを設定して、3 つ以上のイベントが発生した場合に
within 65 trigger until 4
PING_TEST_FAILEDを防ぐ。[edit event-options policy disable-interface-on-ping-failure] bsmith@R1# set within 65 trigger until 4
イベント ポリシーが関連付けられた RPM プローブによって生成されたイベントPING_TEST_FAILEDによってのみトリガーされる
attributes-match
ステートメントを設定します。[edit event-options policy disable-interface-on-ping-failure] bsmith@R1# set attributes-match ping_test_failed.test-owner matches icmp-ping-probe bsmith@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] bsmith@R1# set commands "set interfaces ge-0/3/1 disable"
設定の
log
変更を記述するコメントを付け、オプションを設定します。関連するイベント ポリシーを使用してコミット操作が成功した後、コミット ログにコメントが追加されます。
[edit event-options policy disable-interface-on-ping-failure then change-configuration] bsmith@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] bsmith@R1# set user-name bsmith
設定変更が行う
show interfaces ge-0/3/1
前に、動作モード コマンドの出力を確認します。注:インターフェイスが有効になっている必要があります。
bsmith@R1> show interfaces ge-0/3/1 Physical interface: ge-0/3/1, Enabled, Physical link is Up Interface index: 142, SNMP ifIndex: 531 ...
設定をコミットします。
bsmith@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 bsmith; commit-options { log "updating configuration from event policy disable-interface-on-ping-failure"; } } } }
検証
設定が正常に機能されていることを確認します。
イベントの検証
目的
イベント ポリシーを手動でテストするには、3 つのイベントが生成されるまで、ge-0/3/1 インターフェイスをオフラインにしますPING_TEST_FAILEDにします。
アクション
設定済みの syslog ファイルを確認します。RPM プローブが、一連の紛失したプローブのPING_TEST_FAILEDが生成された後に検証します。
bsmith@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
を表示するには、動作モード コマンドを実行します。
bsmith@R1> show system commit 0 2011-10-07 15:53:00 PDT by bsmith 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
メッセージログ ファイルを確認します。
bsmith@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 'bsmith' 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 bsmith privileges
意味
動作モード コマンドとメッセージ ログ ファイルからの出力は、設定されたJunos OSポリシー アクションが実行され、設定を変更してコミット show system commit
されていることを確認します。 コミットの操作は、ユーザーが指定した日時にユーザー ブスミスの権限を受け取るイベント ポリシーを使用して行われた作業が正常に完了しました。出力 show system commit
およびメッセージログファイルは、階層レベルのステートメントで指定 log
されたコミット コメント [edit event-options policy disable-interface-on-ping-failure then change-configuration commit-options]
を参照します。
設定変更の検証
目的
設定の階層レベルを確認して、設定 [edit interfaces ge-0/3/1]
の変更を検証します。
アクション
bsmith@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
コマンドを実行します。イベント ポリシーの設定変更アクションによってインターフェイスが無効になると、ステータスが [有効] から [管理下] に変わります。
bsmith@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