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选项可以为基于间隔的事件指定开始日期和时间。因此,必须使用该选项配置time-intervalstart-time选项。如果单独配置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) 作为其本地时间。以下命令配置一个名为 event-midnight的内部事件,该事件在每晚上午 12:00 (00:00:00) 生成。

生成的配置会自动包括设备与 UTC 的偏移量。

如果配置了相对于 UTC 的时间,并且偏移量与设备的偏移量不同,Junos OS 会自动转换时间,以反映配置中设备的本地时间和与 UTC 的偏移量。以下示例配置一个名为的附加内部事件,该事件 event-midnight-cst 每天晚上上午 12:00 (00:00:00) 生成,偏移量比 UTC 晚 6 小时。

生成的配置使用设备的本地时间和 UTC 偏移量显示事件。

如果将同一设备运送到其他位置,并且配置为使用新时区,则任何配置的内部事件都会反映新的本地时间和时区偏移量。例如:

注意:

如果您通过发出 set date 操作模式命令来修改系统时间,我们建议您也发出 commit fullrestart event-process 命令。否则,可能无法在配置的时间生成基于一天中时间的内部事件。

例如,如果将设备配置为在 15:55:00 生成内部事件,然后将系统时间从 15:47:17 修改为 15:53:00,则会在系统时间大约为 16:00 时生成事件,而不是在配置的时间 15:55:00 生成。您可以通过发出 commit fullrestart event-process 命令来更正此问题。

事件策略可以像匹配其他事件一样匹配内部事件。下面的示例生成每晚在上午 12:00 (00:00:00) 调用 it-is-midnight 的内部事件。当事件进程收到 it-is-midnight 事件时,它会触发 midnight-chores 事件策略,该策略会执行某些操作。

如何以重复的时间间隔生成事件

您可以通过配置 time-interval 语句并指定间隔频率(以秒为单位)以重复的间隔(例如,每小时)生成事件。时间间隔的范围为 60 到 2,592,000 秒。Junos OS 会在您提交配置后大约一个时间间隔生成第一个事件。

例如,以下命令配置每小时生成的一个调用 event-every-hour 的事件:

以下事件策略在生成事件时 event-every-hour 每 3600 秒执行一次某些操作:

在支持的设备上,您可以选择配置 Junos OS 开始生成基于间隔的事件的日期和时间。配置开始时间可使设备在可预测的时间生成事件,例如,即使在设备重新启动后也是如此。要指定事件的开始时间,请除配置选项外time-interval,还配置start-time该选项。开始时间相对于本地设备时间,并使用 24 小时制时间格式进行配置。语法为:yyyy-mm-dd.hh:mm。例如:

如果未配置该 start-time 选项,Junos OS 将在您提交配置后大约一个时间间隔内生成第一个事件,具体取决于完成提交操作所需的时间。如果配置在提交时间之后发生的开始时间,Junos OS 将在配置的开始时间生成第一个事件,并在开始时间之后的某个时间间隔生成下一个事件,依此类推。如果配置的开始时间在提交时间之前按时间顺序排列,则 Junos OS 将在下次生成第一个事件,即开始时间之后的整数时间间隔。 表 1 根据开始时间(如果已配置)和提交配置的时间,比较了初始事件时间的不同方案。

表 1:启动时提交示例

time-interval (秒)

start-time

提交时间

第一个事件

第二次活动

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 比较了设备重新启动后的初始事件时间。如表中所示,指定开始时间时,设备可以预测地将下一个事件生成为开始时间之后的整数时间间隔。如果未指定开始时间,则下一个事件是设备重新联机并开始事件进程后的一个时间间隔。在这种情况下,设备需要几分钟才能重新启动并启动 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 偏移量,以指定相对于 UTC (+|-)hhmm 的开始时间,方法是追加到时间,其中符号为 UTC 以东的加号 (+),UTC 以西的符号为负 (-),例如 2020-09-14.11:00-0800。即使指定了 UTC 偏移量, start-time 配置也始终显示设备本地时区的时间和 UTC 偏移量。

以下示例使用 UTC 偏移量配置开始时间:

生成的配置显示设备本地时区的事件时间和 UTC 偏移量。