Triggers are logical expressions that "evaluate" data gathered by items and represent the current system state.
While items are used to gather system data, it is highly impractical to follow these data all the time waiting for a condition that is alarming or deserves attention. The job of "evaluating" data can be left to trigger expressions.
Trigger expressions allow to define a threshold of what state of data is "acceptable". Therefore, should the incoming data surpass the acceptable state, a trigger is "fired" - or changes status to PROBLEM.
A trigger may have the following status:
|OK||This is a normal trigger state. Called FALSE in older Zabbix versions.|
|PROBLEM||Normally means that something happened. For example, the processor load is too high. Called TRUE in older Zabbix versions.|
Trigger status (the expression) is recalculated every time Zabbix server receives a new value that is part of the expression.
If time-based functions (nodata(), date(), dayofmonth(), dayofweek(), time(), now()) are used in the expression, the trigger is recalculated every 30 seconds by a Zabbix timer process. If both time-based and non-time-based functions are used in an expression, it is recalculated when a new value is received and every 30 seconds.
You can build trigger expressions with different degrees of complexity.
Après avoir activé un déclencheur (changement de son état de configuration de Désactivé à Activé), l'expression du déclencheur est évaluée dès qu'un élément qu'il contient reçoit une valeur ou que le moment de gérer une fonction basée sur le temps arrive.
La plupart des fonctions de déclenchement sont évaluées en fonction des données de la valeur d'historique de l'élément, tandis que certaines fonctions de déclenchement pour l'analyse à long terme, par exemple trendavg(), trendcount(), etc., utilisent les données de tendance.
A trigger is recalculated every time Zabbix server receives a new value that is part of the expression. When a new value is received, each function that is included in the expression is recalculated (not just the one that received the new value).
Additionally, a trigger is recalculated each time when a new value is received and every 30 seconds if time-based functions are used in the expression.
Time-based functions are nodata(), date(), dayofmonth(), dayofweek(), time(), now(); they are recalculated every 30 seconds by the Zabbix history syncer process.
Triggers that reference trend functions only are evaluated once per the smallest time period in the expression. See also trend functions.
An evaluation period is used in functions referencing the item history. It allows to specify the interval we are interested in. It can be specified as time period (30s, 10m, 1h) or as a value range (#5 - for five latest values).
The evaluation period is measured up to "now" - where "now" is the latest recalculation time of the trigger (see Calculation time above); "now" is not the "now" time of the server.
The evaluation period specifies either:
It is possible that an unknown operand appears in a trigger expression if:
In this case a trigger generally evaluates to "unknown" (although there are some exceptions). For more details, see Expressions with unknown operands.
It is possible to get notified on unknown triggers.