[comment]: # ({e02835c7-e02835c7})
# 3 Déclencheurs

[comment]: # ({/e02835c7-e02835c7})

[comment]: # ({f28c289a-d4a1b8b6})
#### Aperçu

Les déclencheurs sont des expressions logiques qui "évaluent" les données collectées par les éléments
et représentent l'état actuel du système.

Alors que les éléments sont utilisés pour collecter les données du système, il est très peu pratique de
suivre ces données en permanence en attendant une condition alarmante
ou méritant une attention particulière. La tâche d'"évaluation" des données peut être laissée aux
expressions de déclencheur.

Les expressions de déclencheur permettent de définir un seuil indiquant quel état des données est
"acceptable". Par conséquent, si les données entrantes dépassent l'état acceptable, un déclencheur est "déclenché" - ou change son statut en PROBLEM.

Un déclencheur peut avoir les statuts suivants :

|Status|Description|
|-----|-----------|
|OK|Il s'agit d'un statut normal du déclencheur.|
|Problem|Quelque chose s'est produit. Par exemple, la charge du processeur est trop élevée.|
|Unknown|La valeur du déclencheur ne peut pas être calculée. Voir [Statut Unknown](#unknown-status).|

Dans un déclencheur simple, nous pouvons vouloir définir un seuil pour une moyenne sur cinq minutes de certaines données, par exemple la charge CPU. Cela se fait en définissant une expression de déclencheur où :

-   la fonction 'avg' est appliquée à la valeur reçue dans la clé de l'élément
-   une période d'évaluation de cinq minutes est utilisée
-   un seuil de '2' est défini

```
    avg(/host/key,5m)>2
```

Ce déclencheur sera "déclenché" (passera à PROBLEM) si la moyenne sur cinq minutes est *supérieure à* 2.

Dans un déclencheur plus complexe, l'expression peut inclure une **combinaison** de plusieurs fonctions et de plusieurs seuils. Voir aussi : [Expression de déclencheur](/manual/config/triggers/expression).

Les déclencheurs ne peuvent pas être créés pour des éléments renvoyant des valeurs avec le [type de données](/manual/config/items/item#configuration) binaire.

[comment]: # ({/f28c289a-d4a1b8b6})

[comment]: # ({b729742d-7c263ca6})
::: notetip
Après l'activation d'un déclencheur (en faisant passer son état de configuration de *Disabled* à *Enabled*), l'expression du déclencheur est évaluée dès qu'un élément qu'il contient reçoit une valeur ou lorsque le moment de traiter les fonctions [date and time](/manual/appendix/functions/time) et/ou [nodata()](/manual/appendix/functions/history#nodata) arrive.
:::

[comment]: # ({/b729742d-7c263ca6})

[comment]: # ({4d0d2ac7-a45a4e79})

La plupart des fonctions de déclenchement sont évaluées en fonction des données de la valeur d'[historique](/manual/config/items/history_and_trends) 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.

[comment]: # ({/4d0d2ac7-a45a4e79})

[comment]: # ({3296f4fc-6781ee38})
#### Temps de calcul

Un déclencheur est recalculé chaque fois que le serveur Zabbix reçoit une nouvelle valeur qui fait partie de l'expression. Lorsqu'une nouvelle valeur est reçue, chaque fonction incluse dans l'expression est recalculée (et pas seulement celle qui a reçu la nouvelle valeur).

De plus, un déclencheur est recalculé à chaque fois qu'une nouvelle valeur est reçue **et** toutes les 30 secondes si des fonctions [date et heure](/manual/appendix/functions/time) et/ou [nodata()](/manual/appendix/functions/history#nodata) sont utilisées dans l'expression.

Les fonctions [date et heure](/manual/appendix/functions/time) et/ou [nodata()](/manual/appendix/functions/history#nodata) sont recalculées toutes les 30 secondes par le processus Zabbix history syncer.

Les déclencheurs qui ne font référence qu'à des fonctions de tendance sont évalués une fois par la plus petite période de temps de l'expression. Voir aussi [fonctions de tendance](/manual/appendix/functions/trends).

[comment]: # ({/3296f4fc-6781ee38})

[comment]: # ({a7542b26-1fa7644e})
#### Période d'évaluation

Une période d'évaluation est utilisée dans les fonctions qui font référence à l'historique de l'élément.
Elle permet de spécifier l'intervalle qui nous intéresse. Elle peut être
spécifiée sous forme de période de temps (30s, 10m, 1h) ou sous forme de plage de valeurs (\#5 - pour
les cinq dernières valeurs).

La période d'évaluation est mesurée jusqu'à "maintenant" - où "maintenant" est le
dernier moment de recalcul du déclencheur (voir [Heure de calcul](#calculation-time) ci-dessus) ; "maintenant" n'est pas l'heure "maintenant" du
serveur.

La période d'évaluation spécifie soit :

-   Toutes les valeurs entre "maintenant - période de temps" et "maintenant" (ou, avec décalage temporel appliqué, entre "maintenant - décalage temporel - période de temps" et "maintenant - décalage temporel").
-   Le nombre spécifié de valeurs passées, jusqu'à "maintenant".

Si aucune donnée n'existe pour la période d'évaluation spécifiée, le déclencheur ou l'élément calculé utilisant cette fonction devient non pris en charge.

Notez que :

-   Si une seule fonction (faisant référence à l'historique des données) est utilisée dans le
    déclencheur, "maintenant" correspond toujours à la dernière valeur reçue. Par exemple, si la
    dernière valeur a été reçue il y a une heure, la période d'évaluation sera
    considérée comme allant jusqu'à la dernière valeur reçue il y a une heure.
-   Un nouveau déclencheur est calculé dès que la première valeur est reçue
    (fonctions d'historique) ; il sera calculé dans les 30 secondes pour les fonctions
    [date et heure](/manual/appendix/functions/time) et [nodata()](/manual/appendix/functions/history#nodata). Ainsi, le déclencheur sera calculé même
    si la période d'évaluation définie (par exemple, une heure) ne s'est
    peut-être pas encore écoulée depuis la création du déclencheur. Le déclencheur sera également
    calculé après la première valeur, même si la plage d'évaluation a été définie,
    par exemple, sur les dix dernières valeurs.

[comment]: # ({/a7542b26-1fa7644e})

[comment]: # ({53f36bf7-cad1df72})
#### Statut inconnu

Il est possible qu'un opérande inconnu apparaisse dans une expression de déclencheur si :

-   un élément non pris en charge est utilisé
-   l'évaluation de la fonction pour un élément pris en charge aboutit à une erreur

Dans ce cas, un déclencheur est généralement évalué comme "unknown" (bien qu'il existe certaines exceptions). Pour plus de détails, voir [Expressions avec des opérandes inconnus](/manual/config/triggers/expression#expressions-with-unknown-operands).

Il est possible de [recevoir une notification](/manual/config/events/sources#internal-events) pour les déclencheurs inconnus.

[comment]: # ({/53f36bf7-cad1df72})

