3 Iniciadores
Descripción general
Los triggers son expresiones lógicas que "evalúan" los datos recopilados por los items y representan el estado actual del sistema.
Mientras que los items se utilizan para recopilar datos del sistema, es muy poco práctico seguir estos datos todo el tiempo esperando una condición que sea alarmante o que merezca atención. El trabajo de "evaluar" los datos puede dejarse a las expresiones de trigger.
Las expresiones de trigger permiten definir un umbral de qué estado de los datos es "aceptable". Por lo tanto, si los datos entrantes superan el estado aceptable, se "dispara" un trigger, o cambia su estado a PROBLEM.
Un trigger puede tener los siguientes estados:
| Estado | Descripción |
|---|---|
| OK | Este es el estado normal del trigger. |
| Problem | Algo ha sucedido. Por ejemplo, la carga del procesador es demasiado alta. |
| Unknown | El valor del trigger no se puede calcular. Consulte Estado Unknown. |
En un trigger simple, podemos querer establecer un umbral para un promedio de cinco minutos de algunos datos, por ejemplo, la carga de la CPU. Esto se logra definiendo una expresión de trigger donde:
- la función 'avg' se aplica al valor recibido en la clave del item
- se utiliza un período de cinco minutos para la evaluación
- se establece un umbral de '2'
avg(/host/key,5m)>2
Este trigger se "disparará" (se convertirá en PROBLEM) si el promedio de cinco minutos es mayor que 2.
En un trigger más complejo, la expresión puede incluir una combinación de múltiples funciones y múltiples umbrales. Consulte también: Expresión de trigger.
No se pueden crear triggers para items que devuelvan valores con el tipo de dato binario.
Después de habilitar un disparador (cambiando su estado de configuración de Deshabilitado a Habilitado), la expresión del disparador se evalúa tan pronto como un elemento en ella recibe un valor o llega el momento de manejar las funciones de fecha y hora y/o nodata().
La mayoría de las funciones del iniciador se evalúan en función del valor histórico de la métrica,, mientras que algunas funciones de iniciador para análisis a largo plazo, p.e. trendavg(), trendcount(), etc., utilizan datos de tendencias.
Tiempo de cálculo
Un disparador se recalcula cada vez que el servidor Zabbix recibe un nuevo valor que forma parte de la expresión. Cuando se recibe un nuevo valor, cada función que está incluida en la expresión se recalcula (no solo la que recibió el nuevo valor).
Además, un disparador se recalcula cada vez que se recibe un nuevo valor y cada 30 segundos si se utilizan funciones de fecha y hora y/o nodata() en la expresión.
Las funciones de fecha y hora y/o nodata() se recalculan cada 30 segundos por el proceso history syncer de Zabbix.
Los disparadores que hacen referencia solo a funciones de tendencia se evalúan una vez por el período de tiempo más pequeño en la expresión. Consulte también funciones de tendencia.
Período de evaluación
Un período de evaluación se utiliza en funciones que hacen referencia al historial del ítem. Permite especificar el intervalo que nos interesa. Puede especificarse como un período de tiempo (30s, 10m, 1h) o como un rango de valores (#5 - para los cinco valores más recientes).
El período de evaluación se mide hasta "ahora", donde "ahora" es el momento de recálculo más reciente del disparador (ver Tiempo de cálculo arriba); "ahora" no es el tiempo "ahora" del servidor.
El período de evaluación especifica:
- Considerar todos los valores entre "ahora-período de tiempo" y "ahora" (o, con desplazamiento de tiempo, entre "ahora-desplazamiento de tiempo-período de tiempo" y "ahora-desplazamiento_de_tiempo")
- Considerar no más que la cantidad num de valores del pasado, hasta
"ahora"
- Si hay 0 valores disponibles para el período de tiempo o la cantidad num especificada, entonces el disparador o ítem calculado que utiliza esta función se vuelve no soportado
Tenga en cuenta que:
- Si solo se utiliza una única función (que hace referencia al historial de datos) en el disparador, "ahora" es siempre el valor recibido más reciente. Por ejemplo, si el último valor se recibió hace una hora, el período de evaluación se considerará hasta el último valor de hace una hora.
- Un nuevo disparador se calcula tan pronto como se recibe el primer valor (funciones de historial); se calculará en un plazo de 30 segundos para las funciones de fecha y hora y nodata(). Por lo tanto, el disparador se calculará incluso aunque quizás el período de evaluación establecido (por ejemplo, una hora) no haya transcurrido desde que se creó el disparador. El disparador también se calculará después del primer valor, incluso si el rango de evaluación se estableció, por ejemplo, en los diez valores más recientes.
Estado desconocido
Es posible que aparezca un operando desconocido en una expresión de iniciador si:
- se utiliza una métrica no soportada
- la evaluación de la función de una métrica soportada produce un error
En este caso, un iniciador generalmente se evalúa como "desconocido" (aunque existen algunas excepciones). Para obtener más detalles, consulte Expresiones con operandos desconocidos.
Es posible recibir notificaciones sobre iniciadores desconocidos.