Generar eventos internos para activar políticas de eventos
Descripción de eventos internos
Los eventos internos son eventos que se crean para activar una directiva de eventos. Los procesos de Junos OS no generan eventos internos y no tienen ningún mensaje de registro del sistema asociado. Puede configurar hasta 10 eventos internos y puede generar un evento interno basado en un intervalo de tiempo o la hora del día. Las políticas de eventos pueden coincidir en eventos internos de la misma manera que coinciden en otros eventos.
Si intenta confirmar una configuración con más de 10 eventos internos, Junos OS genera un error y se produce un error en la confirmación.
Para configurar un evento interno, incluya las siguientes instrucciones en el nivel de [edit event-options]
jerarquía:
[edit event-options] generate-event { event-name (time-interval seconds <start-time start-time> | time-of-day time) <no-drift>; }
Puede configurar la time-interval
opción para generar eventos con una frecuencia específica o puede configurar la time-of-day
opción para generar eventos en un momento específico del día. A partir de Junos OS versión 14.1, puede configurar la no-drift
opción para eventos internos. Al configurar no-drift
, Junos OS no propaga el retraso causado en la activación de un evento al desencadenamiento del evento siguiente.
La start-time
opción permite especificar la fecha y hora de inicio de los eventos basados en intervalos. Por lo tanto, la start-time
opción debe configurarse con la time-interval
opción. Si configura la start-time
opción sola o con la time-of-day
opción y confirma la configuración, el dispositivo genera un error y se produce un error en la confirmación. Por ejemplo:
[edit event-options generate-event event-midnight start-time] 'start-time "2020-9-1.16:50:00 -0700"' 'time-interval' is mandatory for 'start-time' configuration error: commit failed: (statements constraint check failed)
Cómo generar eventos en un momento específico del día
Para generar un evento a una hora específica del día, configure la time-of-day
instrucción y especifique la hora a la que se producirá el evento. Un time-of-day
evento es relativo a la hora del dispositivo local y se configura utilizando el formato hh:mm:ss
de hora de 24 horas. Opcionalmente, puede incluir un desplazamiento UTC para especificar una hora relativa a UTC (hora universal coordinada). La sintaxis es hh:mm:ss(+|-)hhmm
, donde el signo es más (+) para el este de UTC y menos (-) para el oeste de UTC.
El Tiempo Universal Coordinado es el tiempo en el meridiano de longitud 0, también conocido como el meridiano de Greenwich. La hora estándar en la mayoría de las zonas horarias es un número integral de horas desplazadas de UTC.
Si omite el desplazamiento UTC, Junos OS genera automáticamente el desplazamiento de la time-of-day
instrucción en la configuración según la configuración de zona horaria local del dispositivo. Por ejemplo, considere un dispositivo que usa la hora estándar del este (UTC−05:00) para su hora local. El siguiente comando configura un evento interno denominado event-midnight
, que se genera a las 00:00 a.m. (00:00:00) todas las noches.
[edit] user@host# set event-options generate-event event-midnight time-of-day 00:00:00
La configuración resultante incluye automáticamente el desplazamiento del dispositivo desde UTC.
user@host# show event-options generate-event { event-midnight time-of-day "00:00:00 -0500"; }
Si configura la hora relativa a UTC y el desplazamiento es diferente al del dispositivo, Junos OS convierte automáticamente la hora para reflejar la hora local del dispositivo y el desplazamiento de UTC en la configuración. En el ejemplo siguiente se configura un evento interno adicional llamado event-midnight-cst
que se genera todas las noches a las 12:00 AM (00:00:00) con un desplazamiento que está seis horas por detrás de UTC.
[edit] user@host# set event-options generate-event event-midnight-cst time-of-day 00:00:00-0600
La configuración resultante muestra el evento utilizando la hora local del dispositivo y el desplazamiento UTC.
user@host# show event-options generate-event { event-midnight time-of-day "00:00:00 -0500"; event-midnight-cst time-of-day "01:00:00 -0500"; }
Si el mismo dispositivo se envía a una ubicación diferente y está configurado para usar una nueva zona horaria, cualquier evento interno configurado refleja la nueva hora local y el desplazamiento de zona horaria. Por ejemplo:
[edit] user@host# set system time-zone America/Los_Angeles user@host# commit
user@host# show event-options generate-event { event-midnight time-of-day "21:00:00 -0800"; event-midnight-cst time-of-day "22:00:00 -0800"; }
Si modifica la hora del sistema emitiendo el comando del set date
modo operativo, le recomendamos que también emita el commit full
restart event-process
comando o. De lo contrario, es posible que no se genere un evento interno basado en la hora del día a la hora configurada.
Por ejemplo, si configura el dispositivo para generar un evento interno a las 15:55:00 y, a continuación, modifica la hora del sistema de 15:47:17 a 15:53:00, el evento se genera cuando la hora del sistema es aproximadamente 16:00 en lugar de a la hora configurada, 15:55:00. Puede corregir este problema emitiendo el commit full
restart event-process
comando o.
Las políticas de eventos pueden coincidir en eventos internos de la misma manera que coinciden en otros eventos. En el ejemplo siguiente se genera un evento interno llamado it-is-midnight
a las 12:00 AM (00:00:00) todas las noches. Cuando el proceso de eventos recibe el it-is-midnight
evento, activa la directiva de midnight-chores
eventos, que realiza determinadas acciones.
[edit event-options] generate-event { it-is-midnight time-of-day "00:00:00 -0500"; } policy midnight-chores { events it-is-midnight; then { ... actions ... } }
Cómo generar eventos en intervalos de tiempo repetidos
Puede generar un evento a intervalos repetidos, por ejemplo, cada hora, configurando la time-interval
instrucción y especificando la frecuencia del intervalo en segundos. El intervalo de tiempo puede variar de 60 a 2.592.000 segundos. Junos OS genera el primer evento a partir de aproximadamente un intervalo de tiempo después de confirmar la configuración.
Por ejemplo, el siguiente comando configura un evento llamado event-every-hour
que se genera cada hora:
[edit] user@host# set event-options generate-event event-every-hour time-interval 3600
La siguiente política de eventos realiza determinadas acciones cada 3600 segundos cuando se genera el event-every-hour
evento:
[edit event-options] generate-event { event-every-hour time-interval 3600; } policy hourly-checks { events event-every-hour; then { ... actions ... } }
En los dispositivos compatibles, opcionalmente puede configurar la fecha y la hora en que Junos OS comienza a generar eventos basados en intervalos. La configuración de una hora de inicio permite que el dispositivo genere eventos en momentos predecibles, por ejemplo, incluso después de reiniciar un dispositivo. Para especificar una hora de inicio para un evento, configure la start-time
opción además de la time-interval
opción. La hora de inicio es relativa a la hora del dispositivo local y se configura con el formato de hora de 24 horas. La sintaxis es: yyyy-mm-dd.hh:mm
. Por ejemplo:
[edit event-options generate-event] user@host# set every-fifteen-minutes time-interval 900 start-time 2020-09-01.16:50
Si no configura la start-time
opción, Junos OS genera el primer evento aproximadamente en un intervalo de tiempo después de confirmar la configuración, dependiendo del tiempo necesario para que se complete la operación de confirmación. Si configura una hora de inicio que se produce después de la hora de confirmación, Junos OS genera el primer evento a la hora de inicio configurada y el siguiente evento en un intervalo de tiempo después de la hora de inicio, y así sucesivamente. Si configura una hora de inicio cronológicamente anterior a la hora de confirmación, Junos OS generará el primer evento la próxima vez, que es un número integral de intervalos de tiempo después de la hora de inicio. En la tabla 1 se comparan los diferentes escenarios para las horas iniciales de los eventos en función de la hora de inicio, si está configurada, y la hora a la que se confirma la configuración.
|
|
Tiempo de compromiso |
Primer evento |
Segundo evento |
---|---|---|---|---|
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 |
Del mismo modo, si configura una hora de inicio, Junos OS seguirá generando el siguiente evento en función de la hora de inicio configurada, incluso si reinicia el dispositivo o reinicia el proceso del evento. La Tabla 2 compara las horas iniciales de los eventos después de reiniciar el dispositivo. Como se muestra en la tabla, cuando se especifica una hora de inicio, el dispositivo genera predeciblemente el siguiente evento como un número integral de intervalos de tiempo después de la hora de inicio. Cuando no se especifica una hora de inicio, el siguiente evento es un intervalo de tiempo después de que el dispositivo vuelva a estar en línea e inicie el proceso del evento. En este caso, el dispositivo tardó varios minutos en reiniciarse e iniciar los procesos de Junos OS, por lo que el evento se produce mucho después de la hora del siguiente evento esperado.
|
|
Primer evento |
Tiempo de reinicio |
Próximo evento |
---|---|---|---|---|
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 |
Opcionalmente, puede incluir un desplazamiento UTC para especificar una hora de inicio relativa a UTC anexando (+|-)hhmm
a la hora, donde el signo es más (+) para el este de UTC y menos (-) para el oeste de UTC, por ejemplo, 2020-09-14.11:00-0800. Incluso si especifica un desplazamiento UTC, la start-time
configuración siempre muestra la hora y el desplazamiento UTC para la zona horaria local del dispositivo.
En el ejemplo siguiente se configura la hora de inicio con un desplazamiento UTC:
[edit event-options generate-event] user#host# set every-twenty-minutes time-interval 1200 start-time 2020-09-16.20:30-0200
La configuración resultante muestra la hora del evento y el desplazamiento UTC para la zona horaria local del dispositivo.
[edit event-options generate-event] user@host# show every-twenty-minutes time-interval 1200 start-time "2020-9-16.17:30:00 -0500";