3 Déclencheurs

Vue d’ensemble

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 servent à 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 nécessitant une attention particulière. La tâche d’« évaluation » des données peut être confiée aux expressions de déclencheur.

Les expressions de déclencheur vous permettent de définir un seuil correspondant à l’état « acceptable » des données. Ainsi, si les données reçues dépassent l’état acceptable, un déclencheur est « activé » - ou change son état en PROBLEM.

Un déclencheur peut avoir l’un des états suivants :

État Description
OK Il s’agit de l’état normal d’un déclencheur.
Problem Un événement 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 État Unknown.

Dans un déclencheur simple, nous pouvons vouloir définir un seuil pour la moyenne sur cinq minutes de certaines données, par exemple la charge du processeur. Pour cela, il faut définir une expression de déclencheur dans laquelle :

  • la fonction 'avg' est appliquée à la valeur reçue dans la clé de l’élément ;
  • une période de cinq minutes est utilisée pour l’évaluation ;
  • un seuil de '2' est défini.
    avg(/host/key,5m)>2

Ce déclencheur sera « activé » (passera à l’état 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 également : Expression de déclencheur.

Il n’est pas possible de créer des déclencheurs pour les é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 faisant référence à l’historique des éléments. Elle permet de spécifier l’intervalle qui nous intéresse. Elle peut être spécifiée sous forme de période (30s, 10m, 1h) ou de plage de valeurs (#5 - pour les cinq dernières valeurs).

La période d’évaluation est mesurée jusqu’à « maintenant » - où « maintenant » correspond à la dernière heure de recalcul du déclencheur (voir Heure du calcul ci-dessus) ; « maintenant » ne correspond pas à l’heure actuelle du serveur.

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

  • Toutes les valeurs comprises entre « maintenant - période » et « maintenant » (ou, avec un décalage temporel appliqué, entre « maintenant - décalage temporel - période » 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.