Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

イベントポリシーをトリガーする内部イベントの生成

内部イベントの理解

内部イベント は、イベントポリシーをトリガーするために作成するイベントです。内部イベントはJunos OSプロセスでは生成されず、関連するシステムログメッセージもありません。最大 10 個の内部イベントを設定でき、時間間隔または時刻に基づいて内部イベントを生成できます。イベントポリシーは、他のイベントと同じ方法で内部イベントで照合できます。

手記:

10を超える内部イベントを含む設定をコミットしようとすると、Junos OSでエラーが発生し、コミットが失敗します。

内部イベントを設定するには、 [edit event-options] 階層レベルで以下のステートメントを含めます。

特定の頻度でイベントを生成するように time-interval オプションを構成することも、特定の時刻にイベントを生成するように time-of-day オプションを構成することもできます。Junos OS リリース 14.1 以降、内部イベントの no-drift オプションを設定できるようになりました。 no-driftを設定すると、Junos OSは、イベントをトリガーする際に生じた遅延を次のイベントのトリガーに伝播しません。

start-time オプションでは、間隔ベースのイベントの開始日時を指定できます。そのため、start-time オプションは time-interval オプションで設定する必要があります。start-time オプションを単独で、または time-of-day オプションと一緒に設定し、設定をコミットすると、デバイスはエラーを生成し、コミットは失敗します。例えば:

特定の時刻にイベントを生成する方法

特定の時刻にイベントを生成するには、 time-of-day ステートメントを設定し、イベントが発生する時刻を指定します。 time-of-day イベントは、ローカル デバイスの時刻を基準とし、24 時間形式 hh:mm:ss を使用して設定されます。必要に応じて、UTC オフセットを含めて、UTC (協定世界時) を基準とした時刻を指定できます。構文は hh:mm:ss(+|-)hhmm で、符号は UTC の東を表すプラス (+)、UTC の西を表すマイナス (-) です。

手記:

協定世界時は、グリニッジ子午線とも呼ばれる経度0°子午線上の時間です。ほとんどのタイム ゾーンの標準時刻は、UTC からオフセットされた整数の時間数です。

UTC オフセットを省略すると、Junos OS はデバイスのローカル タイム ゾーン設定に基づいて、設定内の time-of-day ステートメントのオフセットを自動生成します。たとえば、現地時間に東部標準時 (UTC−05:00) を使用するデバイスがあるとします。次のコマンドは、毎晩午前 12:00 (00:00:00) に生成される event-midnight という内部イベントを設定します。

結果として得られる設定には、UTC からのデバイスのオフセットが自動的に含まれます。

UTC を基準とした時刻を設定し、オフセットがデバイスのオフセットと異なる場合、Junos OS はデバイスの現地時間と設定で UTC からのオフセットを反映するように自動的に時刻を変換します。次の例では、毎晩午前 12:00 (00:00:00) に UTC から 6 時間遅れたオフセットで生成される event-midnight-cst という追加の内部イベントを設定します。

結果として得られる設定では、デバイスの現地時間と UTC オフセットを使用してイベントが表示されます。

同じデバイスが別の場所に出荷され、新しいタイム ゾーンを使用するように構成されている場合、構成された内部イベントには新しいローカル時刻とタイム ゾーン オフセットが反映されます。例えば:

手記:

set date 操作モード・コマンドを発行してシステム時刻を変更する場合は、commit full コマンドまたは restart event-process コマンドも発行することをお勧めします。そうしないと、時刻に基づく内部イベントが設定された時刻に生成されない可能性があります。

たとえば、15:55:00 に内部イベントを生成するようにデバイスを設定し、システム時刻を 15:47:17 から 15:53:00 に変更した場合、イベントはシステム時刻が設定された時刻 15:55:00 ではなく、約 16:00 になったときに生成されます。この問題は、 commit full コマンドまたは restart event-process コマンドを発行することによって訂正できます。

イベントポリシーは、他のイベントと同じ方法で内部イベントで照合できます。次の例では、毎晩午前 12:00 (00:00:00) に it-is-midnight という内部イベントを生成します。eventd プロセスは、 it-is-midnight イベントを受信すると、特定のアクションを実行する midnight-chores イベント ポリシーをトリガーします。

繰り返し時間間隔でイベントを生成する方法

time-interval ステートメントを設定し、間隔の頻度を秒単位で指定することで、例えば毎時など、繰り返し間隔でイベントを生成できます。時間間隔の範囲は 60 秒から 2,592,000 秒です。Junos OS は、設定をコミットしてから約 1 時間間隔で開始する最初のイベントを生成します。

たとえば、次のコマンドは、1 時間ごとに生成される event-every-hour というイベントを設定します。

次のイベント ポリシーは、 event-every-hour イベントが生成されると、3600 秒ごとに特定のアクションを実行します。

サポートされているデバイスでは、オプションで、Junos OSが間隔ベースのイベントの生成を開始する日時を設定できます。開始時刻を構成すると、デバイスの再起動後など、予測可能な時刻にデバイスからイベントを生成できます。イベントの開始時刻を指定するには、time-interval オプションに加えて [start-time] オプションを設定します。開始時刻は、ローカル デバイスの時刻を基準とし、24 時間形式を使用して設定されます。構文は yyyy-mm-dd.hh:mm です。例えば:

start-time オプションを設定しない場合、Junos OS は、コミット操作の完了に必要な時間に応じて、設定をコミットしてから約 1 時間間隔で最初のイベントを生成します。コミット時間の後に発生する開始時間を設定すると、Junos OS は設定された開始時間に最初のイベントを生成し、開始時間後の 1 時間間隔で次のイベントを生成します。開始時刻をコミット時刻より時系列的に前に設定すると、Junos OS は、開始時刻以降の時間間隔の整数である最初のイベントを次回に生成します。表 1 は、開始時刻(設定されている場合)と設定がコミットされた時刻に基づく初期イベント時間の異なるシナリオを比較しています。

表 1: 開始時のコミットの例

time-interval (秒)

start-time

コミット時間

最初のイベント

第2回イベント

900

2020-09-01.17:00:08

2020-09-01.17:15:30

2020-09-01.17:30:30

900

2020-09-01.17:10

2020-09-01.17:00:08

2020-09-01.17:10:00

2020-09-01.17:25:00

900

2020-09-01.16:50

2020-09-01.17:00:08

2020-09-01.17:05:00

2020-09-01.17:20:00

900

2020-09-01.16:50

2020-09-01.17:17:08

2020-09-01.17:20:00

2020-09-01.17:35:00

同様に、開始時間を設定した場合、デバイスを再起動したりイベント プロセスを再開したりしても、Junos OSは設定された開始時間に基づいて次のイベントを生成します。 表 2 は、デバイス再起動後の初期イベント時間を比較したものです。表に示すように、開始時刻を指定すると、デバイスは開始時刻の後の整数の時間間隔として次のイベントを予測可能に生成します。開始時刻を指定しない場合、次のイベントは、デバイスがオンラインに戻り、イベント プロセスを開始してから 1 時間間隔になります。この場合、デバイスが再起動してJunos OSプロセスが開始されるまでに数分を要したため、次に予想されるイベントの時間よりかなり後にイベントが発生します。

表 2: 開始時の再起動の例

time-interval (秒)

start-time

最初のイベント

再起動時間

次のイベント

900

2020-09-01.16:50:00

2020-09-01.16:55:00

2020-09-01.17:13:08

900

2020-09-01.16:50

2020-09-01.16:50:00

2020-09-01.16:55:00

2020-09-01.17:05:00

必要に応じて、UTC オフセットを含めることで、 (+|-)hhmm UTC を基準とした開始時刻を指定することができます (符号は UTC の東の場合はプラス (+)、UTC の西の場合はマイナス (-) です (例: 2020-09-14.11:00-0800)。UTC オフセットを指定した場合でも、 start-time 設定には常にデバイスのローカル タイム ゾーンの時刻と UTC オフセットが表示されます。

次に、UTC オフセットを使用して開始時刻を設定する例を示します。

結果として得られる設定には、デバイスのローカルタイムゾーンのイベント時間とUTCオフセットが表示されます。