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 el siguiente estado:
| 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, es posible que queramos 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 superior a 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 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 menor período de tiempo 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 item. 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 la hora del último recálculo del trigger (consulte Hora de cálculo arriba); "ahora" no es la hora "actual" del server.
El período de evaluación especifica una de las siguientes opciones:
- Considerar todos los valores entre "ahora-período de tiempo" y "ahora" (o, con desplazamiento temporal, entre "ahora-desplazamiento temporal-período de tiempo" y "ahora-desplazamiento temporal")
- Considerar no más de num valores del pasado, hasta
"ahora"
- Si hay 0 valores disponibles para el período de tiempo o el recuento num especificado, entonces el trigger o el item calculado que utiliza esta función pasa a no ser compatible
Tenga en cuenta lo siguiente:
- Si en el trigger se utiliza solo una única función (que hace referencia al historial de datos), "ahora" siempre es el último valor recibido. Por ejemplo, si el último valor se recibió hace una hora, se considerará que el período de evaluación llega hasta el último valor recibido hace una hora.
- Un trigger nuevo se calcula en cuanto se recibe el primer valor (funciones de historial); se calculará en un plazo de 30 segundos para las funciones date and time y nodata(). Por lo tanto, el trigger se calculará aunque quizá el período de evaluación establecido (por ejemplo, una hora) todavía no haya transcurrido desde que se creó el trigger. El trigger también se calculará después del primer valor, aunque el rango de evaluación se haya establecido, 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.