# 3 Triggers

#### Overview

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:

|VALUE|DESCRIPTION|
|-----|-----------|
|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](/fr/manual/config/triggers/expression) with different
degrees of complexity.
