設定を変更するイベントポリシーの設定
イベント ポリシーは、特定のイベントに応じてアクションを実行します。特定のイベントや相関イベントをリッスンするJunos OS設定でカスタムイベントポリシーを設定し、ログファイルの作成、Junos OSコマンドの呼び出し、イベントスクリプトの実行などのアクションを実行できます。時には、特定のイベントに応答して設定を変更する必要がある場合があります。例えば、特定のインターフェイスのSNMP_TRAP_LINK_DOWNまたはSNMP_TRAP_LINK_UPイベントを受信すると、イベントポリシーアクションは静的ルートの設定を変更して、メトリックを調整したり、ネクストホップを変更したりする場合があります。
イベント ポリシーは、構成を変更してコミットするイベント スクリプトを呼び出すか、 ステートメントを使用して change-configuration
構成を変更する構成モード コマンドを実行することで、構成を変更できます。Junos OS リリース 12.1 以前は、イベント ポリシーによってイベント スクリプトが呼び出され、設定変更が実行されました。Junos OS リリース 12.1 以降では、イベント スクリプトを呼び出すことに加え、Junos OS 設定モード コマンドを使用して設定を変更する アクションで change-configuration
イベント ポリシーを設定できます。
ノンストップアクティブルーティング(NSR)が有効になっているデュアルルーティングエンジンデバイスでは、 ステートメントを使用 change-configuration
して設定を変更しないでください。これは、両方のルーティングエンジンが設定データベースのロックを取得しようとする可能性があるためで、コミットが失敗する可能性があるためです。NSR が有効になっているときにイベント ポリシーによって構成を変更するには、プライマリ ルーティング エンジンでのみコミットを実行するイベント スクリプトを呼び出します。
設定モードコマンドを使用してイベントポリシーを使用して設定を変更するには、 階層レベルで ステートメントを[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)は、設定コマンドをイベント ポリシー設定に表示される順序で実行します。コマンドは、コミット エラーが発生しない場合に、その後コミットされる候補の設定を更新します。
子ステートメントを設定して、 commit-options
イベントポリシーのコミット操作をカスタマイズできます。1つのルーティングエンジンで変更をコミットするか、 オプションを synchronize
設定して、両方のルーティングエンジンでコミットを同期することができます。オプションを synchronize
設定すると、このコマンドを実行するルーティング エンジンがその候補設定をコピーして、他のルーティング エンジンに読み込みます。どちらのルーティング エンジンも、候補の設定ファイルに対して構文チェックを実行します。エラーが見つからない場合、設定はアクティブ化され、両方のルーティング エンジンで現在の動作コンフィギュレーションになります。デフォルトでは、 synchronize
応答するルーティングエンジンがコミットされていない設定変更がある場合、 オプションは機能しません。ただし、 オプションを設定することで、ルーティングエンジンにコミット同期を適用し、警告を force
無視することができます。
さらに、イベント ポリシーのテストやトラブルシューティングを行う場合は、変更をコミットせずに、コミット オプションを check
設定して候補の構成構文を検証できます。デュアルコントロールプレーンシステムでは、 ステートメントが設定されている場合 check synchronize
、1つのコントロールプレーン上の候補設定がもう一方のコントロールプレーンにコピーされ、システムは両方の候補設定が構文的に正しいことを確認します。 check
ステートメントと他 commit-options
のステートメントは相互に排他的です。
設定のロックを取得しているときに、設定変更アクションが失敗する場合があります。最初の試行が retry
失敗した場合、システムが設定イベントポリシーの変更アクションを指定された回数試みするように ステートメントを設定します。ステートメントを user-name
設定して、設定変更を実行し、特定のユーザーの権限でコミットします。ユーザー名を指定しない場合、アクションはユーザー root
として実行されます。