Períodos de mantenimiento

Overview

Maintenance se utiliza para suprimir problemas durante períodos de tiempo predefinidos.

Puede definir períodos de mantenimiento para hosts y grupos de hosts en Zabbix.

Además, es posible definir el mantenimiento solo para un único trigger (o un subconjunto de triggers) especificando etiquetas de trigger. En este caso, el mantenimiento se activará solo para esos triggers; todos los demás triggers del host o grupo de hosts no estarán en mantenimiento.

Hay dos tipos de mantenimiento: With data collection y No data collection.

Durante el mantenimiento With data collection, los triggers se procesan como de costumbre y se crean eventos cuando es necesario. Sin embargo, si la opción Pause operations for suppressed problems está marcada en la configuración de acciones, las escalaciones de problemas se pausarán para los hosts/triggers en mantenimiento. En este caso, los pasos de escalación que pueden incluir el envío de notificaciones o comandos remotos se ignorarán mientras dure el período de mantenimiento. Tenga en cuenta que las operaciones de recuperación y actualización no se suprimen durante el mantenimiento, solo las escalaciones. Las notificaciones de recuperación no se envían si el problema comenzó durante el mantenimiento.

Por ejemplo, si los pasos de escalación están programados a los 0, 30 y 60 minutos después del inicio de un problema, y hay un mantenimiento de media hora que dura desde 10 minutos hasta 40 minutos después de que surge un problema real, los pasos dos y tres se ejecutarán media hora más tarde, es decir, a los 60 y 90 minutos (siempre que el problema siga existiendo). De forma similar, si un problema surge durante el mantenimiento, la escalación comenzará después del mantenimiento.

Para recibir notificaciones de problemas durante el mantenimiento normalmente (sin demora), debe desmarcar la opción Pause operations for suppressed problems en la configuración de acciones.

Si al menos un host (usado en la expresión del trigger) no está en modo de mantenimiento, Zabbix enviará una notificación de problema.

El server de Zabbix debe estar en ejecución durante el mantenimiento. Los mantenimientos se recalculan cada minuto o tan pronto como se recarga la caché de configuración si hay cambios en el período de mantenimiento.

Los procesos del temporizador comprueban si el estado del host debe cambiarse hacia/desde mantenimiento a los 0 segundos de cada minuto. Además, cada segundo el proceso del temporizador comprueba si algún mantenimiento debe iniciarse o detenerse en función de si hay cambios en los [períodos de mantenimiento] después de la actualización de la configuración. Por lo tanto, la velocidad de inicio/detención de los períodos de mantenimiento depende del intervalo de actualización de la configuración (10 segundos por defecto). Tenga en cuenta que los cambios en el período de mantenimiento no incluyen la configuración de Active since/Active till. Además, si se agrega un host/grupo de hosts a un período de mantenimiento activo existente, los cambios solo se activarán mediante el proceso del temporizador al inicio del siguiente minuto.

Tenga en cuenta que cuando un host entra en mantenimiento, los procesos del temporizador del server de Zabbix leerán todos los problemas abiertos para comprobar si es necesario suprimirlos. Esto puede tener un impacto en el rendimiento si hay muchos problemas abiertos. El server de Zabbix también leerá todos los problemas abiertos al iniciarse, incluso si no hay mantenimientos configurados en ese momento.

Tenga en cuenta que el server de Zabbix (o proxy) siempre recopila datos independientemente del tipo de mantenimiento (incluido el mantenimiento No data collection). Los datos se ignoran posteriormente por el server si se establece No data collection.

Cuando finaliza el mantenimiento No data collection, los triggers que usan la función nodata() no se activarán antes de la siguiente comprobación durante el período que están verificando.

Si se agrega un item de log mientras un host está en mantenimiento y el mantenimiento finaliza, solo se recopilarán las nuevas entradas del archivo de registro desde el final del mantenimiento.

Si se envía un valor con marca de tiempo para un host que está en mantenimiento No data collection (por ejemplo, usando Zabbix sender), ese valor se descartará; sin embargo, es posible enviar un valor con marca de tiempo para un período de mantenimiento expirado, y se aceptará.

Si el período de mantenimiento, los hosts, los grupos o las etiquetas son modificados por el usuario, los cambios solo surtirán efecto después de la sincronización de la caché de configuración.

Configuración

Para configurar un período de mantenimiento:

  1. Vaya a: Data collection > Maintenance.
  2. Haga clic en Create maintenance period (o en el nombre de un período de mantenimiento existente).
  3. Introduzca los parámetros de mantenimiento en el formulario.

Todos los campos obligatorios están marcados con un asterisco rojo.

Parameter Description
Name Nombre del período de mantenimiento.
Maintenance type Se pueden establecer dos tipos de mantenimiento:
With data collection - los datos son recopilados por el server durante el mantenimiento, y los triggers se procesan;
No data collection - los datos aún pueden recopilarse, pero no se guardan en la base de datos durante el mantenimiento, y los triggers (incluida la función nodata()) no se activan.
Consulte Effect of maintenance periods para ver cómo afecta cada tipo al informe de disponibilidad.
Active since La fecha y hora a partir de la cual la ejecución de los períodos de mantenimiento pasa a estar activa.
Nota: Establecer solo esta hora no activa un período de mantenimiento; los períodos de mantenimiento deben configurarse en Periods (véase más abajo).
Active till La fecha y hora en la que la ejecución de los períodos de mantenimiento deja de estar activa.
Periods Este bloque le permite definir los días y horas exactos en que tiene lugar el mantenimiento. Al hacer clic en se abre una ventana emergente con un formulario flexible de Maintenance period donde puede definir el calendario de mantenimiento. Consulte Maintenance periods para una descripción detallada.
Host groups Seleccione los host groups para los que se activará el mantenimiento. El mantenimiento se activará para todos los hosts de los host groups especificados. Este campo tiene autocompletado, por lo que al empezar a escribir se mostrará una lista desplegable con todos los host groups disponibles.
Especificar un host group padre selecciona implícitamente todos los host groups anidados. Por lo tanto, el mantenimiento también se activará en los hosts de los grupos anidados.
Hosts Seleccione los hosts para los que se activará el mantenimiento. Este campo tiene autocompletado, por lo que al empezar a escribir se mostrará una lista desplegable con todos los hosts disponibles.
Tags Especifique tags para suppress problems con tags coincidentes en hosts en mantenimiento.
Se pueden establecer varias condiciones. La coincidencia del nombre de la tag siempre distingue entre mayúsculas y minúsculas.

Hay dos operadores disponibles para cada condición:
Contains - incluye los nombres de tag especificados cuyos valores de tag contienen la cadena introducida (coincidencia de subcadena, distingue entre mayúsculas y minúsculas);
Equals - incluye los nombres y valores de tag especificados (distingue entre mayúsculas y minúsculas).

Hay dos tipos de cálculo para las condiciones:
And/Or - todas las condiciones deben cumplirse; las condiciones que tengan el mismo nombre de tag se agruparán mediante la condición Or;
Or - basta con que se cumpla una condición.

Las tags solo se pueden especificar si se selecciona el tipo de mantenimiento With data collection.
Description Descripción del período de mantenimiento.
Períodos de mantenimiento

La ventana del período de mantenimiento se utiliza para programar el tiempo de un mantenimiento recurrente o de una sola vez. El formulario es dinámico y los campos disponibles cambian según el Tipo de período seleccionado.

Tipo de período Descripción
Solo una vez Configure un período de mantenimiento de una sola vez:
Fecha - fecha y hora del período de mantenimiento;
Duración del período de mantenimiento - durante cuánto tiempo estará activo el mantenimiento.
Diario Configure un período de mantenimiento diario:
Cada día(s) - frecuencia del mantenimiento (1 - (predeterminado) cada día, 2 - cada dos días, etc.);
A las (hora:minuto) - hora del día en que comienza el mantenimiento;
Duración del período de mantenimiento - durante cuánto tiempo estará activo el mantenimiento.

Cuando el parámetro Cada día(s) es mayor que "1", el día de inicio es el día en que cae la hora de Activo desde. Ejemplos:
- si Activo desde se establece en "2021-01-01 12:00", Cada día(s) se establece en "2" y A las (hora:minuto) se establece en "23:00", entonces el primer período de mantenimiento comenzará el 1 de enero a las 23:00, mientras que el segundo período de mantenimiento comenzará el 3 de enero a las 23:00;
- si Activo desde se establece en "2021-01-01 12:00", Cada día(s) se establece en "2" y A las (hora:minuto) se establece en "01:00", entonces el primer período de mantenimiento comenzará el 3 de enero a las 01:00, mientras que el segundo período de mantenimiento comenzará el 5 de enero a las 01:00.
Semanal Configure un período de mantenimiento semanal:
Cada semana(s) - frecuencia del mantenimiento (1 - (predeterminado) cada semana, 2 - cada dos semanas, etc.);
Día de la semana - en qué día debe tener lugar el mantenimiento;
A las (hora:minuto) - hora del día en que comienza el mantenimiento;
Duración del período de mantenimiento - durante cuánto tiempo estará activo el mantenimiento.

Cuando el parámetro Cada semana(s) es mayor que "1", la semana de inicio es la semana en que cae la hora de Activo desde. Para ver ejemplos, consulte la descripción del parámetro Diario anterior.
Mensual Configure un período de mantenimiento mensual:
Mes - seleccione todos los meses durante los cuales se realiza el mantenimiento regular;
Fecha: Día del mes - seleccione esta opción si el mantenimiento debe tener lugar en la misma fecha cada mes (por ejemplo, cada día 1 del mes) y luego seleccione el día requerido en el campo Día del mes que aparece;
Fecha: Día de la semana - seleccione esta opción si el mantenimiento debe tener lugar solo en ciertos días (por ejemplo, cada primer lunes del mes), luego seleccione (en la lista desplegable) la semana requerida del mes (primera, segunda, tercera, cuarta o última) y después marque las casillas de los día(s) de mantenimiento;
A las (hora:minuto) - hora del día en que comienza el mantenimiento;
Duración del período de mantenimiento - durante cuánto tiempo estará activo el mantenimiento.

Al crear un período de mantenimiento, se utiliza la zona horaria del usuario que lo crea. Sin embargo, cuando se programan períodos de mantenimiento recurrentes (Daily, Weekly, Monthly), se utiliza la zona horaria del server de Zabbix. Para garantizar un comportamiento predecible de los períodos de mantenimiento recurrentes, es necesario usar una zona horaria común para todas las partes de Zabbix.

Cuando termine, haga clic en Add para añadir el período de mantenimiento al bloque Periods.

Tenga en cuenta que los cambios de horario de verano (DST) no afectan a la duración del mantenimiento. Por ejemplo, supongamos que tenemos configurado un mantenimiento de dos horas que normalmente comienza a las 01:00 y finaliza a las 03:00:

  • si después de una hora de mantenimiento (a las 02:00) se produce un cambio de DST y la hora actual cambia de 02:00 a 03:00, el mantenimiento continuará una hora más (hasta las 04:00);
  • si después de dos horas de mantenimiento (a las 03:00) se produce un cambio de DST y la hora actual cambia de 03:00 a 02:00, el mantenimiento se detendrá, porque ya han transcurrido dos horas;
  • si un período de mantenimiento comienza durante la hora que se omite por un cambio de DST, entonces el mantenimiento no comenzará.

Si un período de mantenimiento se establece en "1 day" (el período real del mantenimiento es de 24 horas, ya que Zabbix calcula los días en horas), comienza a las 00:00 y finaliza a las 00:00 del día siguiente:

  • el mantenimiento se detendrá a las 01:00 del día siguiente si la hora actual avanza una hora;
  • el mantenimiento se detendrá a las 23:00 de ese día si la hora actual retrocede una hora.

Mostrar

Mostrando hosts en mantenimiento

Un icono de llave inglesa naranja junto al nombre del host indica que este host está en mantenimiento en:

  • Dashboards
  • Monitoring > Problems
  • Inventory > Hosts > Host inventory details
  • Data collection > Hosts (Consulte la columna 'Status')

Los detalles del mantenimiento se muestran cuando el puntero del mouse se coloca sobre el icono.

Además, los hosts en mantenimiento obtienen un fondo naranja en Monitoring > Maps.

Visualización de problemas suprimidos

Normalmente, los problemas de los hosts en mantenimiento se suprimen, es decir, no se muestran en el frontend.

Los problemas suprimidos también pueden estar ocultos porque se suprimieron manualmente.

Es posible mostrar los problemas suprimidos seleccionando la opción Mostrar problemas suprimidos en estas ubicaciones:

  • Dashboards (en la configuración del widget Problem hosts, Problems, Problems by severity, Trigger overview)
  • Monitoring > Problems (en el filtro)
  • Monitoring > Maps (en la configuración del mapa)
  • notificaciones globales (en la configuración del perfil de usuario)

Cuando se muestran problemas suprimidos, se muestra el siguiente icono: . Si la supresión se debe al mantenimiento del host, se muestran los siguientes iconos:

  • icon_suppression_maintenance.png - el problema se ha suprimido debido al mantenimiento del host.
  • icon_unsuppressed_maintenance.png - el problema se ha dejado de suprimir después del mantenimiento del host.

Al pasar el cursor sobre el icono se muestran más detalles. En los detalles del evento, puede comprobar si el evento se suprimió debido al mantenimiento o si se suprimió manualmente. Si se aplican tanto el mantenimiento como la supresión manual, la supresión manual tiene prioridad en el color del icono.

Cálculo de las colas durante el mantenimiento

Las colas mostradas en el frontend de Zabbix (Administration > Queue) son calculadas por el server de Zabbix. No incluyen los items en mantenimiento No data collection, y la longitud de la cola siempre es cero para estos items, incluso cuando sus valores están retrasados. Los items retrasados en mantenimiento With data collection siguen contándose en la cola.

El proxy de Zabbix no tiene conocimiento de los períodos de mantenimiento porque no existe sincronización de la configuración de mantenimiento entre el server de Zabbix y el proxy. Las comprobaciones internas calculadas en los proxies de Zabbix (por ejemplo, zabbix[queue,,] y zabbix[stats,,,queue,,]) informan de los items retrasados independientemente del estado de mantenimiento en el server de Zabbix.

Como resultado, el frontend de Zabbix y las comprobaciones internas en los proxies de Zabbix pueden informar longitudes de cola diferentes para los mismos items en mantenimiento con No data collection.