3 trigger
Panoramica
I trigger sono espressioni logiche che "valutano" i dati raccolti dagli item e rappresentano lo stato attuale del sistema.
Sebbene gli item vengano utilizzati per raccogliere i dati del sistema, è altamente impraticabile seguire continuamente questi dati in attesa di una condizione allarmante o che richieda attenzione. Il compito di "valutare" i dati può essere lasciato alle espressioni dei trigger.
Le espressioni dei trigger consentono di definire una soglia dello stato dei dati "accettabile". Pertanto, se i dati in arrivo superano lo stato accettabile, un trigger viene "attivato" oppure cambia il proprio stato in PROBLEM.
Un trigger può avere il seguente stato:
| Stato | Descrizione |
|---|---|
| OK | Questo è lo stato normale di un trigger. |
| Problem | Si è verificato qualcosa. Ad esempio, il carico del processore è troppo elevato. |
| Unknown | Non è possibile calcolare il valore del trigger. Vedere Stato Unknown. |
In un trigger semplice potremmo voler impostare una soglia per la media su cinque minuti di alcuni dati, ad esempio il carico della CPU. Questo si ottiene definendo un'espressione del trigger in cui:
- la funzione 'avg' viene applicata al valore ricevuto nella chiave dell'item
- viene utilizzato un periodo di cinque minuti per la valutazione
- viene impostata una soglia pari a '2'
avg(/host/key,5m)>2
Questo trigger si "attiverà" (diventerà PROBLEM) se la media su cinque minuti è superiore a 2.
In un trigger più complesso, l'espressione può includere una combinazione di più funzioni e più soglie. Vedere anche: Espressione del trigger.
Non è possibile creare trigger per gli item che restituiscono valori con il tipo di dati binario.
Dopo aver abilitato un trigger (modificando il suo stato di configurazione da Disabled a Enabled), l'espressione del trigger viene valutata non appena un item in esso riceve un valore oppure quando arriva il momento di gestire le funzioni date and time e/o nodata().
Most trigger functions are evaluated based on item value history data, while some trigger functions for long-term analytics, e.g. trendavg(), trendcount(), etc, use trend data.
Tempo di calcolo
Un trigger viene ricalcolato ogni volta che Zabbix server riceve un nuovo valore che fa parte dell'espressione. Quando viene ricevuto un nuovo valore, ogni funzione inclusa nell'espressione viene ricalcolata (non solo quella che ha ricevuto il nuovo valore).
Inoltre, un trigger viene ricalcolato ogni volta che viene ricevuto un nuovo valore e ogni 30 secondi se nell'espressione vengono usate funzioni data e ora e/o nodata().
Le funzioni data e ora e/o nodata() vengono ricalcolate ogni 30 secondi dal processo Zabbix history syncer.
I trigger che fanno riferimento solo a funzioni di trend vengono valutati una volta per il più piccolo intervallo di tempo presente nell'espressione. Vedi anche funzioni di trend.
Periodo di valutazione
Un periodo di valutazione viene utilizzato nelle funzioni che fanno riferimento alla cronologia dell'item. Consente di specificare l'intervallo di interesse. Può essere specificato come periodo di tempo (30s, 10m, 1h) o come intervallo di valori (#5 - per gli ultimi cinque valori).
Il periodo di valutazione viene misurato fino a "now", dove "now" corrisponde all'ultimo momento di ricalcolo del trigger (vedere Momento del calcolo sopra); "now" non corrisponde all'ora "now" del server.
Il periodo di valutazione specifica una delle seguenti opzioni:
- Tutti i valori compresi tra "now - periodo di tempo" e "now" (oppure, applicando uno scostamento temporale, tra "now - scostamento temporale - periodo di tempo" e "now - scostamento temporale").
- Il numero specificato di valori passati, fino a "now".
Se non esistono dati per il periodo di valutazione specificato, il trigger o l'item calcolato che utilizza questa funzione diventa non supportato.
Si noti che:
- Se nel trigger viene utilizzata una sola funzione (che fa riferimento alla cronologia dei dati), "now" corrisponde sempre all'ultimo valore ricevuto. Ad esempio, se l'ultimo valore è stato ricevuto un'ora fa, il periodo di valutazione verrà considerato fino all'ultimo valore ricevuto un'ora fa.
- Un nuovo trigger viene calcolato non appena viene ricevuto il primo valore (funzioni della cronologia); per le funzioni data e ora e nodata(), verrà calcolato entro 30 secondi. Pertanto, il trigger verrà calcolato anche se il periodo di valutazione impostato (ad esempio, un'ora) non è ancora trascorso dalla creazione del trigger. Il trigger verrà inoltre calcolato dopo il primo valore, anche se l'intervallo di valutazione è stato impostato, ad esempio, sugli ultimi dieci valori.
Stato sconosciuto
È possibile che un operando sconosciuto compaia in un'espressione di trigger se:
- viene usato un item non supportato
- la valutazione della funzione per un item supportato genera un errore
In questo caso, un trigger in genere viene valutato come "sconosciuto" (anche se esistono alcune eccezioni). Per ulteriori dettagli, vedere Espressioni con operandi sconosciuti.
È possibile ricevere una notifica sui trigger sconosciuti.