Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

イベントポリシーを設定して設定を変更する

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ステートメントを設定します。例えば:

commandsステートメントは、設定されたイベントを受信したときにイベントポリシーが実行する設定モードコマンドを指定します。各コマンドを引用符(" ")で囲みます。[edit]階層レベルでコマンドを発行する際の設定モードと同様に、要素、識別子、または値への完全なステートメントパスを指定します。commandsステートメントは、以下の設定モードコマンドを受け入れます。

  • activate

  • deactivate

  • delete

  • set

イベントプロセス(eventd)は、イベントポリシー設定にコマンドが表示された順序でコマンドを実行します。コマンドは候補コンフィギュレーションを更新し、コミットエラーが発生しなければコミットされます。デフォルトでは、イベントポリシーは設定変更とコミット操作を root ユーザーとして実行します。特定のユーザーの権限でこれらのアクションを実行するには、 user-name ステートメントを設定し、ユーザーを指定します。

特定のシナリオでは、例えば、設定のロックを取得できない場合など、設定変更アクションが失敗することがあります。最初の試行が失敗した場合に、指定された回数だけシステムが設定変更アクションを試行するように retry ステートメントを設定します。

さらに、 commit-options 子ステートメントを設定して、イベントポリシーのコミット操作をカスタマイズできます。 表1は 、オプションをまとめたものです。

表1: 変更設定コミットオプション
オプション の説明
check

変更をコミットせずに、候補となる設定構文を検証します。

check synchronize

変更をコミットせずに、両方のルーティング エンジンで候補となるコンフィギュレーション構文を検証します。

force

候補コンフィギュレーションにコミットされていない変更が含まれていても、警告を無視して他のルーティングエンジンにコミットを強制します。

log

コミットコメントを記録します。

synchronize

両方のルーティングエンジンでコミットを同期します。

例えば、イベントポリシーをテストまたはトラブルシューティングする場合、 check コミットオプションを設定して、変更をコミットせずに候補の設定構文を検証できます。デュアルコントロールプレーンシステムでは、 check synchronize ステートメントを設定できます。システムは、一方のコントロールプレーンの候補コンフィギュレーションをもう一方のコントロールプレーンにコピーし、両方の候補コンフィギュレーションが構文的に正しいことを検証します。 check ステートメントと他の commit-options ステートメントは相互に排他的です。

1つのルーティングエンジンで変更をコミットすることも、 synchronize オプションを設定して両方のルーティングエンジンでコミットを同期することもできます。 synchronize オプションを設定すると、リクエスト元のルーティングエンジンはその候補の設定を他のルーティングエンジンにコピーして読み込みます。どちらのルーティング エンジンも、候補となるコンフィギュレーション ファイルに対して構文チェックを実行します。エラーが見つからない場合、コンフィギュレーションが有効になり、両方のルーティングエンジンで現在の運用コンフィギュレーションになります。デフォルトでは、応答ルーティングエンジンにコミットされていない設定変更がある場合、 synchronize オプションは失敗します。ただし、 force オプションを設定することで、ルーティングエンジンにコミット同期を強制し、警告を無視することができます。

以下のコンフィギュレーションは、指定されたコンフィギュレーション・モード・コマンドを実行し、両方のルーティング・エンジンでコンフィギュレーションをコミットします。 log ステートメントは、設定されたコミットコメントを記録します。

例:イベントポリシーを使用して設定を変更する

特定のイベントに応じて設定の変更が必要になる場合があります。イベントポリシーを設定して、イベントポリシーが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にコピー&ペーストします。

イベントポリシーの設定

ステップバイステップの手順
  1. イベントポリシーを作成し、名前を付けます。

  2. イベントポリシーがSNMP_TRAP_LINK_DOWNイベントでトリガーされるように、 events ステートメントを設定します。

    ge-0/2/1.0インターフェイスでSNMP_TRAP_LINK_DOWNイベントが発生した場合にのみポリシーがトリガーされるように attributes-match ステートメントを設定します。

  3. イベントポリシーがトリガーされた場合に実行する設定モードコマンドを指定します。

    各コマンドを1行で設定し、コマンド文字列を引用符で囲み、完全なステートメントパスを指定します。

  4. (オプション)設定変更を説明するコメントで log オプションを設定します。コメントは、関連するイベントポリシーを介してコミット操作が成功した後、コミットログに追加されます。

  5. (オプション)デュアルルーティングエンジンを使用している場合は、 synchronize オプションを設定して、両方のルーティングエンジンで設定をコミットします。警告を無視して、他のルーティングエンジンにコミットを強制する force オプションを含めます。この例では、 synchronize オプションと force オプションは設定しません。

  6. (オプション)再試行回数と再試行間隔を設定します。

    この例では、 count は5に設定され、 interval は4秒です。

  7. (オプション)設定の変更とコミットが行われる権限の下でユーザー名を設定します。

    ユーザー名を指定しない場合、アクションはユーザーrootとして実行されます。

  8. [edit system syslog]階層レベルで新しいログファイルを構成して、ファシリティdaemonと重大度warningのsyslogイベントを記録します。

    このログは、SNMP_TRAP_LINK_DOWNイベントをキャプチャします。

  9. この例をテストするために、ネクストホップIPアドレス10.1.2.1で10.1.10.0/24ネットワークへのスタティックルートを設定します。

  10. 設定をコミットします。

  11. ge-0/2/1インターフェイスを無効にする前に、設定の [edit routing-options static] 階層レベルを確認し、ネクストホップIPアドレスをメモします。

  12. イベントポリシーを手動でテストするには、ge-0/2/1インターフェイスを一時的にオフラインにしてSNMP_TRAP_LINK_DOWNイベントを生成します。

結果

検証

設定が正常に機能していることを確認します。

インターフェイスのステータスの検証

目的

ge-0/2/1インターフェイスがダウンしており、それがSNMP_TRAP_LINK_DOWNイベントをトリガーしていることを確認します。

アクション

show interfaces ge-0/2/1動作モードコマンドを発行します。コマンド出力は、インターフェイスが管理上オフラインであることを示しています。

ステップ 8で設定したシステムログファイルの内容を確認します。出力は、ge-0/2/1.0インターフェイスがSNMP_TRAP_LINK_DOWNイベントを生成したことを示しています。

コミットの検証

目的

コミットログとメッセージログファイルを確認して、イベントポリシーのコミット操作が成功したことを確認します。

アクション

show system commit 動作モード コマンドを発行して、コミット ログを表示します。この例では、指定された日時にユーザーadminの権限でイベントポリシーによって設定がコミットされたことがログによって確認されています。

メッセージログファイルを確認します。SNMP_TRAP_LINK_DOWNイベントを受信すると、Junos OS設定されたイベントポリシーアクションを実行して、設定を変更してコミットしました。コミット操作は、ユーザーadminの権限で実行されました。

注:

別のログ ファイルを設定する場合は、設定に固有のファイルを確認してください。

意味

show system commit運用モードコマンドの出力とメッセージログファイルから、ユーザー管理者の権限でイベントポリシーによって行われたコミット操作が成功したことを確認します。show system commit出力とメッセージログファイルは、設定されたコミットオプションで指定されたコミットコメントを参照します。

設定変更の確認

目的

ge-0/2/1インターフェイスを無効にした後、設定の [edit routing-options static] 階層レベルを確認して、設定変更を確認します。

アクション

以下の動作モードコマンドを発行します。

意味

イベントポリシーは、新しいIPアドレス10.1.3.1を使用するように設定されたネクストホップを変更しました。新しいIPアドレスの出口インターフェイスはge-0/3/1です。

トラブルシューティング

コミットエラーのトラブルシューティング

問題点

トリガーされたイベントポリシーは指定された設定を変更せず、ログはコミットが失敗したことを確認します。

コミットの失敗は、次のようなさまざまな理由で発生する可能性があります。

  • 候補のコンフィギュレーションはロックされています

  • 設定モードコマンドの構文や順序が正しくありません

  • イベントポリシーアクション用に設定されたユーザーには、要求された変更を行うための適切な権限がありません。

ソリューション

[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 3trigger until 4の組み合わせにより、イベントポリシーが同じ設定変更を繰り返し行うのを防ぎます。

設定

RPMプローブを設定する

CLIクイックコンフィグレーション

この例のセクションを迅速に設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルでCLIにコピーアンドペーストして、設定モードから commit を入力します。

ステップバイステップの手順

この例のPING_TEST_FAILEDイベントを作成するRPMプローブを設定するには:

  1. 所有者icmp-ping-probeでping-probe-testという名前のRPMプローブを作成します。

  2. ICMPエコー要求を送信するようにRPMプローブを設定します。

    IP アドレス 10.1.4.1 の ge-0/3/1 インターフェイスに ICMP エコー要求を送信するように RPM プローブを設定します。

  3. テストウィンドウの間に5秒間の一時停止を設定します。

  4. 3 回連続したプローブ損失後に PING_TEST_FAILED イベントがトリガーされるように、RPM プローブしきい値を設定します。

  5. [edit system syslog]階層レベルで新しいログファイルを構成して、ファシリティdaemonと重大度infoのsyslogイベントを記録します。

    プローブテスト中に送信されたイベントがキャプチャされます。

  6. 設定をコミットします。

結果

設定モードから、 show services および show system syslog コマンドを入力して設定を確認します。出力に意図した設定が表示されない場合は、この例の手順を繰り返して設定を修正します。

イベントポリシーを設定する

CLIクイックコンフィグレーション

この例のセクションを迅速に設定するには、以下のコマンドをコピーしてテキストファイルに貼り付け、改行を削除し、ネットワーク設定に一致させる必要がある詳細情報を変更し、コマンドを [edit] 階層レベルでCLIにコピーアンドペーストして、設定モードから commit を入力します。

ステップバイステップの手順
  1. イベントポリシーを作成し、名前を付けます。

  2. PING_TEST_FAILEDイベントで一致するようにイベントポリシーを設定します。

  3. 60秒以内に3つのPING_TEST_FAILEDイベントが発生した場合にトリガーするようにポリシーを設定します。

  4. within 65 trigger until 4ステートメントを設定し、3つ以上のPING_TEST_FAILEDイベントが発生した場合にポリシーが再トリガーされないようにします。

  5. イベントポリシーが、関連するRPMプローブによって生成されたPING_TEST_FAILEDイベントによってのみトリガーされるように、 attributes-match ステートメントを設定します。

  6. イベントポリシーがトリガーされた場合に実行する設定モードコマンドを指定します。

    各コマンドを1行で設定し、コマンド文字列を引用符で囲み、完全なステートメントパスを指定します。

  7. (オプション)設定変更を説明するコメントで log オプションを設定します。

    コメントは、関連するイベントポリシーを介してコミット操作が成功した後、コミットログに追加されます。

  8. (オプション)デュアルルーティングエンジンがある場合は、 synchronize オプションを設定して、両方のルーティングエンジンで設定をコミットします。警告を無視して、他のルーティングエンジンにコミットを強制する force オプションを含めます。この例では、 synchronizeforce のオプションは設定しません。

  9. (オプション)設定の変更とコミットが行われる権限の下でユーザー名を設定します。

    ユーザー名を指定しない場合、アクションはユーザー rootとして実行されます。

  10. 設定変更を行う前に、 show interfaces ge-0/3/1 運用モードコマンドの出力を確認してください。

    注:

    インターフェイスが有効になっている必要があります。

  11. 設定をコミットします。

結果

設定モードから、 show event-options コマンドを入力して設定を確認します。出力に意図した設定が表示されない場合は、この例の手順を繰り返して設定を修正します。

検証

設定が正常に機能していることを確認します。

イベントの検証

目的

イベントポリシーを手動でテストするには、3つのPING_TEST_FAILEDイベントが生成されるまでge-0/3/1インターフェイスをオフラインにします。

アクション

設定されたsyslogファイルを確認します。連続して失われた後、RPM プローブが PING_TEST_FAILED イベントを生成することを確認します。

コミットの検証

目的

コミットログとメッセージログファイルを確認して、イベントポリシーのコミット操作が成功したことを確認します。

アクション

show system commit 動作モード コマンドを発行して、コミット ログを表示します。

メッセージログファイルを確認します。

意味

show system commit動作モードコマンドからの出力とメッセージログファイルは、設定されたイベントポリシーアクションを実行しJunos OS設定を変更してコミットしたことを確認します。指定された日時にユーザー管理者の権限でイベントポリシーを介して行われたコミット操作は成功しました。show system commit出力とメッセージのログファイルは、設定されたコミットオプションで指定されたコミットコメントを参照します。

設定変更の確認

目的

構成の [edit interfaces ge-0/3/1] 階層レベルを確認して、構成の変更を確認します。

アクション
意味

ge-0/3/1の設定階層は、イベントポリシーによって変更され、 disable ステートメントが追加されました。

インターフェイスのステータスの検証

目的

設定変更が行われた後、 show interfaces ge-0/3/1 運用モードコマンドの出力を確認します。

アクション

show interfaces ge-0/3/1動作モードコマンドを発行します。イベントポリシー設定変更アクションによってインターフェイスが無効になると、ステータスが「有効」から「管理上ダウン」に変わります。