[comment]: # ({a3e485f1-e02835c7})
# 3 Rilevamento dei problemi con i trigger

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

[comment]: # ({a9988a1a-2412d13e})
Il rilevamento dei problemi in Zabbix si basa sui **trigger**. 

Un trigger descrive la condizione del problema, consentendo a Zabbix di reagire se il problema si verifica.

Il flusso completo del rilevamento dei problemi è il seguente:

1. Assicurati di avere un [item](/manual/config/items) che raccolga dati.

2. Definisci il trigger per questo item. Senza un trigger, Zabbix si limita a raccogliere dati, ma non reagisce mai ad essi.

3. Osserva i problemi rilevati:

   -   In *Monitoring* > *[Problems](/manual/web_interface/frontend_sections/monitoring/problems)* 
   -   Nel [widget](/manual/web_interface/frontend_sections/dashboards/widgets/problems) *Problems*

4. Ricevi notifiche, esegui comandi remoti (se definiti).

Tieni presente che i template ufficiali di Zabbix contengono trigger predefiniti. 
Consulta la guida sull'applicazione di un template per [monitorare Linux](/manual/installation/quick_guides/monitor_linux).

[comment]: # ({/a9988a1a-2412d13e})

[comment]: # ({61226957-7bb4f85b})
#### Che cos'è un "trigger"?

Un trigger descrive la *condizione di problema*, tramite l'[espressione del trigger](/manual/config/triggers/expression/).

La condizione di problema, quando si verifica nella realtà, corrisponde al momento in cui il trigger "scatta" (in Zabbix viene creato un problema).

La condizione di problema può basarsi sull'ultimo valore, sul valore medio, su una stringa rilevata e su molte altre [funzioni](/manual/config/triggers/expression#functions). I trigger non possono essere creati per item che restituiscono valori con tipo di [dato](/manual/config/items/item#configuration) binario o JSON.

Una semplice espressione di trigger calcola la funzione (ad esempio, **`max()`** per il valore massimo) per i dati specificati tra parentesi (in genere item di dati e finestra temporale), quindi confronta questo calcolo con una soglia.

Per esempio:

```default
max(/host/vfs.fs.size[/,free],5m)<10G
``` 

Questo trigger scatta se lo [spazio su disco](/manual/config/items/itemtypes/zabbix_agent#vfs.fs.size) libero, misurato nell'arco di 5 minuti, è rimasto costantemente sotto i 10 GB.

Un trigger può avere i seguenti stati:

|Stato del trigger|Descrizione|In Zabbix|
|-|-----|----|
|**OK**|L'espressione del trigger è stata valutata come "0" (o FALSE)|Nessun problema creato<br>Il problema è risolto (se esisteva)|
|**Problem**|L'espressione del trigger è stata valutata come "1" (o TRUE)|Viene creato un problema|

Talvolta la valutazione dell'espressione del trigger non è possibile per qualche motivo. Vedere [Stato sconosciuto dell'espressione](/manual/config/triggers/expression#unknown-expression-state).

Altre risorse:

-   [Esempi di trigger](/manual/config/triggers/trigger_examples)
-   [Configurazione di un trigger](/manual/config/triggers/trigger)
-   [Best practice](/manual/config/triggers/best_practices)

[comment]: # ({/61226957-7bb4f85b})

[comment]: # ({3d1f425b-6781ee38})
#### Frequenza di calcolo

Un trigger viene ricalcolato ogni volta che il server Zabbix 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 30 secondi (dal history syncer) se l'espressione contiene uno dei seguenti elementi:

-   funzioni di [data e ora](/manual/config/triggers/expression/time)
-   funzione [nodata()](/manual/config/triggers/expression/history#nodata)

I trigger che contengono solo funzioni di [trend](/manual/config/triggers/expression/trends) vengono valutati una volta per il più piccolo intervallo di tempo presente nell'espressione. Mentre molte funzioni dei trigger utilizzano i dati di [history](/manual/config/items/history_and_trends) dei valori degli item, le funzioni di trend utilizzano i dati di trend.

[comment]: # ({/3d1f425b-6781ee38})

