[comment]: # translation:outdated

[comment]: # ({188108fa-226b9489})
# 1 Esempi di trigger

Questa pagina è una raccolta di esempi di trigger. 

Gli esempi sono ordinati per caso d'uso:

-   [Host non disponibile](#detect-unavailable-host)
-   [Proxy non disponibile](#detect-unavailable-proxy)
-   [Cluster SMTP non disponibile](#detect-unavailable-smtp-cluster)
-   [Host non raggiungibile](#detect-unreachable-host)
-   [Riavvio imprevisto](#detect-unexpected-reboot)
-   [Modifiche nei file importanti](#detect-changes-in-important-files)
-   [Modifiche nella query DNS](#detect-changes-in-dns-query)
-   [Software non corrispondente su host diversi](#detect-non-matching-software-on-different-hosts)
-   [Orologi non sincronizzati](#detect-unsynchronized-clocks)
-   [Agent obsoleto](#detect-outdated-agent)
-   [Interfaccia instabile](#detect-flapping-interface)
-   [Traffico in ingresso elevato](#detect-high-incoming-traffic)
-   [Spazio su disco insufficiente](#detect-low-disk-space)
-   [Spazio su disco insufficiente (soglia dinamica)](#detect-low-disk-space-dynamic-threshold)
-   [Carico CPU elevato](#detect-high-cpu-load)
-   [Confronto del carico CPU](#compare-cpu-loads)
-   [Confronto del carico CPU a lungo termine](#compare-cpu-loads)
-   [Stringa contenente caratteri speciali](#detect-string-containing-special-characters)

[comment]: # ({/188108fa-226b9489})

[comment]: # ({2116104b-1b661572})
##### Rilevare host non disponibile

```default
max(/host/zabbix[host,agent,available],5m)=0
```
Questo trigger si attiva se lo Zabbix agent sul host non è stato disponibile per 5 minuti.<br>
Funzione: [`max`](/manual/config/triggers/expression/aggregate#max)<br>
Item di dati: [`zabbix[host,agent,available]`](/manual/config/items/itemtypes/internal#host.available)

Alternativa:

```default
nodata(/host/agent.ping,5m)=1
```

Questo trigger si attiva se non sono stati ricevuti dati dallo Zabbix agent per 5 minuti.<br>
Funzione: [`nodata`](/manual/config/triggers/expression/history#nodata)<br>
Item di dati: [`agent.ping`](/manual/config/items/itemtypes/zabbix_agent#agent.ping)

[comment]: # ({/2116104b-1b661572})

[comment]: # ({fedc75b0-de5361b9})
##### Rilevare proxy non disponibile

```default
fuzzytime(/host/zabbix[proxy,{$PROXY_NAME},lastaccess],1m)=0
```

Questo trigger si attiva se i dati del proxy Zabbix sono in ritardo rispetto all'ora del server Zabbix di 1 minuto.<br>
Funzione: [`fuzzytime`](/manual/config/triggers/expression/history#fuzzytime)<br>
Item di dati: [`zabbix[proxy,{$PROXY_NAME},lastaccess]`](/manual/config/items/itemtypes/internal#proxy)

[comment]: # ({/fedc75b0-de5361b9})

[comment]: # ({a2a7ab26-7956e04e})
##### Rilevare un cluster SMTP non disponibile

```default
last(/smtp1.example.com/net.tcp.service[smtp])=0 and last(/smtp2.example.com/net.tcp.service[smtp])=0
```

Questo trigger si attiva se entrambi i server SMTP non sono disponibili.<br>
Funzione: [`last`](/manual/config/triggers/expression/history#last)<br>
Item di dati: [`net.tcp.service`](/manual/config/items/itemtypes/simple_checks#nettcpservice)

[comment]: # ({/a2a7ab26-7956e04e})

[comment]: # ({c2c339fa-567b88a9})
##### Rilevare host non raggiungibile

```default
count(/host/icmpping,30m,,"0")>5
```

Questo trigger si attiva se l'host non è raggiungibile tramite ping per più di 5 volte negli ultimi 30 minuti.<br>
Funzione: [`count`](/manual/config/triggers/expression/history#count)<br>
Item di dati: [`icmpping`](/manual/config/items/itemtypes/simple_checks#icmpping)

[comment]: # ({/c2c339fa-567b88a9})

[comment]: # ({e9862861-b356d712})
##### Rilevare un riavvio imprevisto

```default
change(/host/system.uptime)<0
```

Questo trigger si attiva se viene rilevata una variazione negativa nel valore del tempo di attività del sistema (indicando un riavvio).<br>
Funzione: [`change`](/manual/config/triggers/expression/history#change)<br>
Item di dati: [`system.uptime`](/manual/config/items/itemtypes/zabbix_agent#system.uptime)

[comment]: # ({/e9862861-b356d712})

[comment]: # ({1ee22f8b-49592749})
##### Rilevare modifiche in file importanti

```default
last(/host/vfs.file.cksum[/etc/passwd],#1)<>last(/host/vfs.file.cksum[/etc/passwd],#2)
```

Questo trigger si attiva se `/etc/passwd` è stato modificato. L'espressione è vera quando il checksum precedente di `/etc/passwd` differisce da quello più recente. Espressioni simili possono essere utili per monitorare le modifiche in file importanti, come `/etc/passwd`, `/etc/inetd.conf`, `/kernel`, ecc.<br>
Funzione: [`last`](/manual/config/triggers/expression/history#last)<br>
item di dati: [`vfs.file.cksum`](/manual/config/items/itemtypes/zabbix_agent#vfs.file.cksum)

[comment]: # ({/1ee22f8b-49592749})

[comment]: # ({cc85e7ec-c2b4949f})
##### Rilevare modifiche nella query DNS

```default
last(/Zabbix server/net.dns.record[192.0.2.0,{$WEBSITE_NAME},{$DNS_RESOURCE_RECORD_TYPE},2,1])<>"{$WEBSITE_NAME}           {$DNS_RESOURCE_RECORD_TYPE}       0 mail.{$WEBSITE_NAME}"
```

Notare le virgolette attorno al secondo operando.

Questo trigger si attiva se il risultato della query non è uguale a quello che normalmente restituisce:

```default
example.com           MX       0 mail.example.com
```

Funzione: [`last`](/manual/config/triggers/expression/history#last)<br>
Item di dati: [`net.dns.record[192.0.2.0,{$WEBSITE_NAME},{$DNS_RESOURCE_RECORD_TYPE},2,1]`](/manual/config/items/itemtypes/zabbix_agent#net.dns.record), con le macro definite come segue:

```default
{$WEBSITE_NAME} = example.com
{$DNS_RESOURCE_RECORD_TYPE} = MX
```

[comment]: # ({/cc85e7ec-c2b4949f})

[comment]: # ({0fc019ff-adfc6b9d})
##### Rilevare software non corrispondente su host diversi

```default
last(/host/vfs.file.contents[/etc/os-release])<>last(/host2/vfs.file.contents[/etc/os-release])
```

Questo trigger si attiva se la versione di Ubuntu è diversa su host differenti. Si noti che qui gli operandi sono funzioni che restituiscono stringhe.<br>
Funzione: [`last`](/manual/config/triggers/expression/history#last)<br>
Item di dati: [`vfs.file.contents`](/manual/config/items/itemtypes/zabbix_agent#vfs.file.contents)

[comment]: # ({/0fc019ff-adfc6b9d})

[comment]: # ({101c1203-0e6bfc51})
##### Rilevare orologi non sincronizzati

```default
fuzzytime(/host/system.localtime,10s)=0
```

Il trigger si attiva se l'ora locale del client e l'ora del server Zabbix differiscono di più di 10 secondi.<br>
Funzione: [`fuzzytime`](/manual/config/triggers/expression/history#fuzzytime)<br>
Item di dati: [`system.localtime`](/manual/config/items/itemtypes/zabbix_agent#system.localtime)

Si noti che [`system.localtime`](/manual/config/items/itemtypes/zabbix_agent#systemlocaltime) deve essere configurato come [controllo passivo](/manual/appendix/items/activepassive#passive-checks) per Zabbix agent; in Zabbix agent 2 può essere configurato come controllo attivo.

[comment]: # ({/101c1203-0e6bfc51})

[comment]: # ({108d71c4-62cfb014})
##### Rilevare agent obsoleto

```default
find(/host/agent.version,,"like","beta")=1
```

Questo trigger si attiva se Zabbix agent ha una versione beta. Zabbix agent deve essere aggiornato.<br>
Funzione: [`find`](/manual/config/triggers/expression/history#find)<br>
Item di dati: [`agent.version`](/manual/config/items/itemtypes/zabbix_agent#agent.version)

[comment]: # ({/108d71c4-62cfb014})

[comment]: # ({b4fdf283-3f25a585})
##### Rilevare un'interfaccia instabile

```default
changecount(/host/vfs.file.contents["/sys/class/net/eth0/operstate"],1h)>5 
```

Questo trigger si attiva se lo stato operativo (up/down/unknown) di `eth0` è cambiato più di 5 volte in un'ora.<br>
Funzione: [`changecount`](/manual/config/triggers/expression/history#changecount)<br>
Item di dati: [`vfs.file.contents`](/manual/config/items/itemtypes/zabbix_agent#vfs.file.contents)

[comment]: # ({/b4fdf283-3f25a585})

[comment]: # ({984a4c2f-46e72843})
##### Rileva traffico in ingresso elevato

```default
min(/host/net.if.in[eth0,bytes],5m)>100K
```

Questo trigger si attiva se il numero di byte ricevuti su `eth0` negli ultimi cinque minuti è stato sempre superiore a 100 kilobyte. Probabilmente qualcuno sta scaricando un file di grandi dimensioni.<br>
Funzione: [`min`](/manual/config/triggers/expression/aggregate#min)<br>
Item di dati: [`net.if.in[eth0,bytes]`](/manual/config/items/itemtypes/zabbix_agent#net.if.in)

[comment]: # ({/984a4c2f-46e72843})

[comment]: # ({2e223320-bddf0717})
##### Rilevare spazio su disco insufficiente

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

Il trigger si attiva se lo spazio libero su disco è costantemente (per 5 minuti) inferiore a 10 GB.

È anche possibile definire un'espressione di ripristino:

```default
min(/host/vfs.fs.size[/,free],10m)>40G
```

Il problema viene **risolto** solo quando lo spazio libero su disco è costantemente (per 10 minuti) superiore a 40 GB.<br>
Funzione: [`min`](/manual/config/triggers/expression/aggregate#min)<br>
Item di dati: [`vfs.fs.size`](/manual/config/items/itemtypes/zabbix_agent#vfs.fs.size)

[comment]: # ({/2e223320-bddf0717})

[comment]: # ({e2a732dc-bb0f5278})
##### Rilevare spazio su disco insufficiente (soglia dinamica)

```default
last(/template/hrStorageFree[{#SNMPVALUE}])<last(/template/hrStorageSize[{#SNMPVALUE}])*0.1
```

Il trigger si attiva se lo spazio di archiviazione libero (in unità di allocazione) scende al di sotto del 10 percento. Si noti il valore di un altro item utilizzato per ottenere una soglia del trigger adattiva, applicabile allo spazio di archiviazione individuato di varie dimensioni.
Funzione: [`last`](/manual/config/triggers/expression/history#last)<br>

[comment]: # ({/e2a732dc-bb0f5278})

[comment]: # ({643d3a74-17b607dc})
##### Rilevare un carico elevato della CPU

```default
last(/host/system.cpu.load[all,avg1])>5
```

Il trigger si attiva quando il carico medio del processore è stato superiore a 5 per un minuto.

Varianti:

```default
min(/host/system.cpu.load[all,avg1],5m)>2 and time()<060000
```
```default
min(/host/system.cpu.load[all,avg1],5m)>2 and not (dayofweek()=7 and time()>230000) and not (dayofweek()=1 and time()<010000)
```

Tali trigger analizzano 5 minuti di dati e si attivano solo se il carico della CPU non scende mai sotto 2. Inoltre, questi trigger si attivano:

-   solo durante le ore notturne (00:00-06:00)
-   in qualsiasi momento tranne che per 2 ore nel cambio di settimana (domenica, 23:00 - lunedì, 01:00)

```default
(last(/host/system.cpu.load[all,avg1])>5) + (last(/host2/system.cpu.load[all,avg1])>5) + (last(/host3/system.cpu.load[all,avg1])>5)>=2
```

Questo trigger si attiva se il carico del processore è troppo elevato su almeno due dei tre host.<br>
Funzioni: [`last`](/manual/config/triggers/expression/history#last), [`min`](/manual/config/triggers/expression/aggregate#min), [`dayofweek`](/manual/config/triggers/expression/time#dayofweek), [`time`](/manual/config/triggers/expression/time#time)<br>
Item di dati: [`system.cpu.load`](/manual/config/items/itemtypes/zabbix_agent#system.cpu.load)

[comment]: # ({/643d3a74-17b607dc})

[comment]: # ({49f3b448-47b2e2fd})
##### Confronta i carichi della CPU

```default
avg(/Zabbix server/system.cpu.load,1h)/avg(/Zabbix server/system.cpu.load,1h:now-1d)>2
```

Il trigger si attiva se il carico medio di oggi supera di oltre due volte il carico medio della stessa ora di ieri (utilizzando lo spostamento temporale `now-1d`).<br>
Funzione: [`avg`](/manual/config/triggers/expression/aggregate#avg)<br>
Item di dati: [`system.cpu.load`](/manual/config/items/itemtypes/zabbix_agent#system.cpu.load)

[comment]: # ({/49f3b448-47b2e2fd})

[comment]: # ({e83bf5a3-6906462b})
##### Confrontare i carichi CPU a lungo termine

```default
trendavg(/host/system.cpu.load,1M:now/M)>1.1*trendavg(/host/system.cpu.load,1M:now/M-1M)
```

Questo trigger si attiva se il carico della CPU sul host è aumentato di oltre il 10% nell'ultimo mese<br>
Funzione: [`trendavg`](/manual/config/triggers/expression/trends#trendavg)<br>
Item di dati: [`system.cpu.load`](/manual/config/items/itemtypes/zabbix_agent#system.cpu.load)

È inoltre possibile utilizzare il campo [Nome evento](/manual/config/triggers/trigger#configuration) nella configurazione del trigger per creare un messaggio di avviso significativo, ad esempio per ricevere qualcosa come

`"Il carico del server Exchange è aumentato del 24% in luglio (0.69) rispetto a giugno (0.56)"`

il nome dell'evento deve essere definito come:

```default
Load of {HOST.HOST} server increased by {{?100*trendavg(//system.cpu.load,1M:now/M)/trendavg(//system.cpu.load,1M:now/M-1M)}.fmtnum(0)}% in {{TIME}.fmttime(%B,-1M)} ({{?trendavg(//system.cpu.load,1M:now/M)}.fmtnum(2)}) comparing to {{TIME}.fmttime(%B,-2M)} ({{?trendavg(//system.cpu.load,1M:now/M-1M)}.fmtnum(2)})
```

È inoltre utile consentire la chiusura manuale nella configurazione del trigger per questo tipo di problema.

[comment]: # ({/e83bf5a3-6906462b})

[comment]: # ({4ae4641e-60fad4fc})
##### Rilevare una stringa contenente caratteri speciali

```default
last(/host/vfs.file.contents[/tmp/hello])={$HELLO_MACRO}
```

Il trigger si attiva se il contenuto di `/tmp/hello` è uguale alla stringa definita in `{$HELLO_MACRO}`:

```default
{$HELLO_MACRO} = \" //hello ?\"
```

In alternativa, è possibile confrontarlo direttamente con la stringa:

```default
last(/Zabbix server/vfs.file.contents[/tmp/hello])="\\\" //hello ?\\\""
```

Si noti come i caratteri speciali (`\\` e `"`) vengano sottoposti a escape quando la stringa viene confrontata direttamente.

Funzione: [`last`](/manual/config/triggers/expression/history#last)<br>
Item di dati: [`vfs.file.contents`](/manual/config/items/itemtypes/zabbix_agent#vfs.file.contents)

[comment]: # ({/4ae4641e-60fad4fc})

[comment]: # ({baa6a112-contribute})
::: note-contribute
Hai un esempio di espressione trigger che altri potrebbero trovare utile?<br>
Invia il tuo esempio (includendo sia l'espressione che il contesto) utilizzando il nostro [modulo di suggerimento](#report-example) per inviarlo agli sviluppatori di Zabbix.
:::

[comment]: # ({/baa6a112-contribute})
