Els triggers són expressions lògiques que "avaluen" les dades recollides pels elements i representen l'estat actual del sistema.
Tot i que els elements s'empren per recollir dades del sistema, és molt poc pràctic fer un seguiment d'aquestes dades tot el temps mentre s'espera una condició greu o que mereixi una atenció especial. La feina d'"avaluar" les dades es pot deixar per als triggers.
Els triggers us permeten establir un llindar per a l'estat "acceptable" de les dades. Per tant, si les dades entrants superen l'estat acceptable, s'"activa" un trigger o canvia el seu estat a PROBLEMA.
Un trigger pot tindre els estats següents:
Estat | Descripció |
---|---|
Correcte | Aquest és un estat de trigger normal. |
Problema | Alguna cosa ha passat. Per exemple, la càrrega de la CPU és massa alta. |
Desconegut | No es pot calcular el valor del trigger. Veieu Estat desconegut. |
En un trigger simple, podem establir un llindar per a una mitjana de cinc minuts d'algunes dades, per exemple, la càrrega de la CPU. Això s'aconsegueix definint un trigger on:
avg(/host/key,5m)>2
Aquest trigger "s'activarà" (es convertirà en un PROBLEMA) si la mitjana de cinc minuts és més gran que 2.
En un trigger més complex, l'expressió pot incloure una combinació de múltiples funcions i diversos llindars. Veieu també: Expressió de trigger.
Després d'activar un trigger (canviant el seu estat de configuració de Disabled a Enabled), l'expressió trigger s'avalua tan bon punt un element que conté rep un valor o quan arriba el moment de gestionar una funció en funció del temps.
La majoria de les funcions de trigger s'avaluen en funció de les dades de valor de l'element històric, mentre que algunes funcions de trigger per a l'anàlisi a llarg termini, per exemple, trendavg(), trendcount() , etc., empren dades de tendències.
Un trigger es torna a calcular cada vegada que el servidor Zabbix rep un valor nou que forma part de l'expressió. Quan es rep un valor nou, es torna a calcular cada funció inclosa a l'expressió (no només la que ha rebut el valor nou).
A més, un trigger es torna a calcular cada vegada que es rep un valor nou i cada 30 segons si s'empren funcions basades en temps a l'expressió.
Les funcions basades en temps són nodata(), date(), dayofmonth(), dayofweek(), time(), now(); es tornen a calcular cada 30 segons pel procés de sincronització de l'historial de Zabbix.
Els triggers que fan referència a funcions de tendència només s'avaluen una vegada per període més curt de l'expressió. Veieu també funcions de tendència.
S'empra un període d'avaluació en funcions que fan referència a l'historial de l'element. Permet especificar l'interval que ens interessa. Es pot especificar com un període de temps (30 s, 10 m, 1 h) o com un rang de valors (#5 - per als cinc darrers valors).
El període d'avaluació es mesura fins a "ara" - on "ara" és el darrer moment de recàlcul del trigger (veieu Temps de càlcul més amunt); "ara" no és l'hora "actual" del servidor.
El període d'avaluació especifica:
Tingueu en compte que:
És possible que un operand desconegut aparegui en un trigger si:
En aquest cas, un trigger normalment s'avalua com a "desconegut" (tot i que hi ha algunes excepcions). Per obtindre més informació, veieu les expressions amb operands desconeguts.
És possible tindre notificacions de triggers desconeguts.