3 Déclencheurs
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. |
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.
Les déclencheurs ne peuvent pas être créés pour des éléments renvoyant des valeurs avec le type de données binaire.
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 et/ou nodata() 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.
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 et/ou nodata() sont utilisées dans l'expression.
Les fonctions date et heure et/ou 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.
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 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 et 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.
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.
Il est possible de recevoir une notification pour les déclencheurs inconnus.