[comment]: # ({e02835c7-e02835c7})
# 3 trigger

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

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

I trigger sono espressioni logiche che "valutano" i dati raccolti dagli item
e rappresentano lo stato corrente del sistema.

Mentre gli item vengono usati per raccogliere i dati di sistema, è altamente impraticabile
seguirli continuamente in attesa di una condizione allarmante
o che meriti attenzione. Il compito di "valutare" i dati può essere lasciato alle
espressioni dei trigger.

Le espressioni dei trigger consentono di definire una soglia di ciò che è uno stato
"accettabile" dei dati. Pertanto, se i dati in ingresso superano lo stato accettabile,
un trigger viene "attivato" - oppure cambia il proprio stato in PROBLEM.

Un trigger può avere i seguenti stati:

|Status|Description|
|-----|-----------|
|OK|Questo è uno stato normale del trigger.|
|Problem|È accaduto qualcosa. Ad esempio, il carico del processore è troppo alto.|
|Unknown|Il valore del trigger non può essere calcolato. Vedere [Stato Unknown](#unknown-status).|

In un trigger semplice potremmo voler impostare una soglia per una 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 usato un periodo di valutazione di cinque minuti
-   viene impostata una soglia di '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](/manual/config/triggers/expression).

Non è possibile creare trigger per item che restituiscono valori con il [tipo di dato](/manual/config/items/item#configuration) binario.

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

[comment]: # ({b729742d-7c263ca6})
::: notetip
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](/manual/appendix/functions/time) e/o [nodata()](/manual/appendix/functions/history#nodata).
:::

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

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

Most trigger functions are evaluated based on item value
[history](/manual/config/items/history_and_trends) data, while some
trigger functions for long-term analytics, e.g. **trendavg()**,
**trendcount()**, etc, use trend data.

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

[comment]: # ({3296f4fc-6781ee38})
#### 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](/manual/appendix/functions/time) e/o [nodata()](/manual/appendix/functions/history#nodata).

Le funzioni [data e ora](/manual/appendix/functions/time) e/o [nodata()](/manual/appendix/functions/history#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](/manual/appendix/functions/trends).

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

[comment]: # ({a7542b26-1fa7644e})
#### 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 intervallo di tempo (30s, 10m, 1h) oppure come intervallo di valori (\#5 - per
gli ultimi cinque valori).

Il periodo di valutazione viene misurato fino a "now" - dove "now" è il
momento dell'ultima ricalcolazione del trigger (vedere [Calculation
time](#calculation-time) sopra); "now" non è il tempo "now" del
server.

Il periodo di valutazione specifica quindi:

-   Tutti i valori compresi tra "now - intervallo di tempo" e "now" (oppure, con lo spostamento temporale applicato, tra "now - spostamento temporale - intervallo di tempo" e "now - spostamento 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" è sempre l'ultimo valore ricevuto. Ad esempio, se l'ultimo valore è stato ricevuto un'ora fa, il periodo di valutazione sarà considerato fino all'ultimo valore di un'ora fa.
-   Un nuovo trigger viene calcolato non appena viene ricevuto il primo valore (funzioni di cronologia); verrà calcolato entro 30 secondi per le funzioni [date and time](/manual/appendix/functions/time) e [nodata()](/manual/appendix/functions/history#nodata). 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.

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

[comment]: # ({53f36bf7-cad1df72})
#### 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](/manual/config/triggers/expression#expressions-with-unknown-operands).

È possibile [ricevere una notifica](/manual/config/events/sources#internal-events) sui trigger sconosciuti.

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

