[comment]: # ({29480506-29480506})
# 1 Configurazione di un trigger

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

[comment]: # ({84bca7a2-ea19cfe1})
#### Panoramica

Per configurare un trigger, procedere come segue:

-   Andare su: *Data collection* > *Hosts*
-   Fare clic su *Triggers* nella riga dell'host
-   Fare clic su *Create trigger* a destra (oppure sul nome del trigger per modificare un trigger esistente)
-   Inserire i parametri del trigger nel modulo

Vedere anche le [informazioni generali](/manual/config/triggers) sui trigger e sui relativi tempi di calcolo.

[comment]: # ({/84bca7a2-ea19cfe1})

[comment]: # ({d8575635-f29d794b})
#### Configurazione

La scheda **Trigger** contiene tutti gli attributi essenziali del trigger.

![](../../../../assets/en/manual/config/triggers/trigger.png){width="600"}

Tutti i campi di input obbligatori sono contrassegnati da un asterisco rosso.

|Parameter|Description|
|--|--------|
|*Name*|Nome del trigger.<br>I [macro](/manual/appendix/macros/supported_by_location) supportati sono: {HOST.HOST}, {HOST.NAME}, {HOST.PORT}, {HOST.CONN}, {HOST.DNS}, {HOST.IP}, {ITEM.VALUE}, {ITEM.VALUE.AGE}, {ITEM.VALUE.DATE}, {ITEM.VALUE.TIME}, {ITEM.VALUE.TIMESTAMP}, {ITEM.LASTVALUE}, {ITEM.LASTVALUE.AGE}, {ITEM.LASTVALUE.DATE}, {ITEM.LASTVALUE.TIME}, {ITEM.LASTVALUE.TIMESTAMP}, {ITEM.LOG.\*} e i macro utente {$MACRO}.<br>I macro **$1, $2...$9** possono essere usati per fare riferimento alla prima, seconda...nona costante dell'espressione.<br>*Nota*: i macro $1-$9 verranno risolti correttamente se fanno riferimento a costanti in espressioni relativamente semplici e dirette. Ad esempio, il nome "Processor load above $1 on {HOST.NAME}" cambierà automaticamente in "Processor load above 5 on New host" se l'espressione è last(/New host/system.cpu.load\[percpu,avg1\])>5.|
|*Event name*|Quando definito, questo nome verrà usato per creare il nome dell'evento di problema. Per impostazione predefinita, il nome dell'evento è lo stesso del nome del trigger.<br>Il nome dell'evento può essere usato per costruire avvisi significativi contenenti dati del problema (vedi [esempio](/manual/config/triggers/expression#example-18)).<br>È supportato lo stesso insieme di macro del nome del trigger, più i macro di espressione {TIME}, {TIMESTAMP} e {?EXPRESSION}.|
|*Operational data*|I dati operativi consentono di definire stringhe arbitrarie insieme ai macro. I macro verranno risolti dinamicamente in dati in tempo reale in *Monitoring* > *[Problems](/manual/web_interface/frontend_sections/monitoring/problems)*. Mentre i macro nel nome del trigger (vedi sopra) verranno risolti nei loro valori nel momento in cui si verifica un problema e diventeranno la base di un nome di problema statico, i macro nei dati operativi mantengono la possibilità di visualizzare dinamicamente le informazioni più recenti. Se a livello di trigger non è configurato alcun dato operativo, verranno visualizzati i valori più recenti di tutti gli item dell'espressione.<br>È supportato lo stesso insieme di macro del nome del trigger.|
|*Severity*|Imposta la [severity](severity) richiesta del trigger facendo clic sui pulsanti.|
|*Expression*|[Espressione](expression) logica usata per definire le condizioni di un problema.<br>Sono supportati i [suffissi temporali](/manual/appendix/suffixes#time-suffixes) e i [suffissi della dimensione della memoria](/manual/appendix/suffixes#memory-size-suffixes).<br>Un problema viene creato dopo che tutte le condizioni incluse nell'espressione sono soddisfatte, cioè quando l'espressione viene valutata come TRUE. Il problema verrà risolto non appena l'espressione viene valutata come FALSE, a meno che non siano specificate condizioni di ripristino aggiuntive in *Recovery expression*.|
|*OK event generation*|Opzioni di generazione degli eventi OK:<br>**Expression** - gli eventi OK vengono generati in base alla stessa espressione degli eventi di problema;<br>**Recovery expression** - gli eventi OK vengono generati se l'espressione del problema viene valutata come FALSE e l'espressione di ripristino viene valutata come TRUE;<br>**None** - in questo caso il trigger non tornerà mai autonomamente allo stato OK.|
|*Recovery expression*|[Espressione](expression) logica facoltativa che definisce condizioni aggiuntive che devono essere soddisfatte prima che il problema venga risolto, dopo che l'espressione del problema originale è già stata valutata come FALSE.<br>L'espressione di ripristino è utile per l'[isteresi](/manual/config/triggers/expression#hysteresis) del trigger. Non è **possibile** risolvere un problema solo tramite l'espressione di ripristino se l'espressione del problema è ancora TRUE.<br>Questo campo è disponibile solo se per *OK event generation* è selezionato 'Recovery expression'.|
|*PROBLEM event generation mode*|Modalità di generazione degli eventi di problema:<br>**Single** - viene generato un singolo evento quando un trigger entra per la prima volta nello stato 'Problem';<br>**Multiple** - viene generato un evento a ogni valutazione 'Problem' del trigger.|
|*OK event closes*|Seleziona se l'evento OK chiude:<br>**All problems** - tutti i problemi di questo trigger;<br>**All problems if tag values match** - solo i problemi del trigger con valori dei tag evento corrispondenti.|
|*Tag for matching*|Immetti il nome del tag evento da usare per la correlazione degli eventi.<br>Questo campo viene visualizzato se è selezionato 'All problems if tag values match' per la proprietà *OK event closes* ed è obbligatorio in questo caso.|
|*Allow manual close*|Seleziona per consentire la [chiusura manuale](/manual/config/events/manual_close) degli eventi di problema generati da questo trigger. La chiusura manuale è possibile quando si riconoscono gli eventi di problema.|
|*Menu entry name*|Se non è vuoto, il nome inserito qui (fino a 64 caratteri) viene usato in diverse posizioni del frontend come etichetta per l'URL del trigger specificato nel parametro *Menu entry URL*. Se è vuoto, viene usato il nome predefinito *Trigger URL*.<br>È supportato lo stesso insieme di macro del nome del trigger, più {EVENT.ID}, {HOST.ID} e {TRIGGER.ID}.|
|*Menu entry URL*|Se non è vuoto, l'URL inserito qui (fino a 2048 caratteri) è disponibile come collegamento nel [menu eventi](/manual/web_interface/menu/event_menu) in diverse posizioni del frontend, ad esempio facendo clic sul nome del problema nel widget dashboard *Monitoring > [Problems](/manual/web_interface/frontend_sections/monitoring/problems)* o *[Problems](/manual/web_interface/frontend_sections/dashboards/widgets/problems#using-the-widget)*.<br>È supportato lo stesso insieme di macro del nome del trigger, più {EVENT.ID}, {HOST.ID} e {TRIGGER.ID}. Nota: i macro utente con valori segreti non verranno risolti nell'URL.|
|*Description*|Campo di testo usato per fornire ulteriori informazioni su questo trigger. Può contenere istruzioni per risolvere un problema specifico, dettagli di contatto del personale responsabile, ecc.<br>È supportato lo stesso insieme di macro del nome del trigger.|
|*Enabled*|Deselezionando questa casella, il trigger verrà disabilitato se necessario.<br>I problemi di un trigger disabilitato non vengono più visualizzati nel frontend, ma non vengono eliminati.|

La scheda **Tags** consente di definire [tag](/manual/config/tagging) a livello di trigger. Tutti i problemi di questo trigger saranno contrassegnati con i valori inseriti qui.

![](../../../../assets/en/manual/config/triggers/trigger_b.png){width="600"}

Inoltre, l'opzione *Inherited and trigger tags* consente di visualizzare i tag definiti a livello di template se il trigger proviene da quel template.
Se sono presenti più template con lo stesso tag, questi tag vengono visualizzati una sola volta e i nomi dei template sono separati da virgole.
Un trigger non "eredita" né visualizza i tag a livello di host.

|Parameter|Description|
|--|--------|
|*Name/Value*|Imposta tag personalizzati per contrassegnare gli eventi del trigger.<br>I tag sono una coppia composta da nome e valore del tag. È possibile usare solo il nome oppure associarlo a un valore. Un trigger può avere più tag con lo stesso nome, ma valori diversi.<br>I macro utente, i macro utente con contesto, i macro di discovery a basso livello e le [funzioni](/manual/config/macros/macro_functions) dei macro con `{{ITEM.VALUE}}`, `{{ITEM.LASTVALUE}}` sono supportati nei tag evento. I macro di discovery a basso livello possono essere usati all'interno del contesto del macro.<br>Il macro {TRIGGER.ID} è supportato nei valori dei tag del trigger. Può essere utile per identificare i trigger creati da prototipi di trigger e, ad esempio, per sopprimere i problemi di questi trigger durante la manutenzione.<br>Se la lunghezza totale del valore espanso supera 255, verrà troncata a 255 caratteri.<br>Vedi tutti i [macro](/manual/config/tagging#macro-support) supportati per i tag evento.<br>I [tag evento](/manual/config/tagging) possono essere usati per la correlazione degli eventi, nelle condizioni delle azioni e saranno visibili anche in *Monitoring* > *Problems* o nel widget *Problems*.|

La scheda **Dependencies** contiene tutte le [dipendenze](dependencies)
del trigger.

Fai clic su *Add* per aggiungere una nuova dipendenza.

::: noteclassic
Puoi anche configurare un trigger aprendo uno esistente,
premendo il pulsante *Clone* e salvando poi con un nome diverso.
:::

[comment]: # ({/d8575635-f29d794b})

[comment]: # ({dbfe2e70-dbfe2e70})
#### Testing delle espressioni

È possibile testare l'espressione del trigger configurata per verificare quale sarebbe il risultato dell'espressione in base al valore ricevuto.

La seguente espressione di un template ufficiale viene presa come esempio:

    avg(/Cisco IOS SNMPv2/sensor.temp.value[ciscoEnvMonTemperatureValue.{#SNMPINDEX}],5m)>{$TEMP_WARN}
    or
    last(/Cisco IOS SNMPv2/sensor.temp.status[ciscoEnvMonTemperatureState.{#SNMPINDEX}])={$TEMP_WARN_STATUS}

Per testare l'espressione, fai clic su *Expression constructor* sotto il campo dell'espressione.

![](../../../../assets/en/manual/config/triggers/trigger_test.png)

Nell'Expression constructor, tutte le singole espressioni sono elencate. Per aprire la finestra di test, fai clic su *Test* sotto l'elenco delle espressioni.

![](../../../../assets/en/manual/config/triggers/expr_test_button.png){width="600"}

Nella finestra di test puoi inserire valori di esempio ('80', '70', '0', '1' in questo esempio) e poi vedere il risultato dell'espressione, facendo clic sul pulsante *Test*.

![](../../../../assets/en/manual/config/triggers/expr_test.png){width="600"}

È possibile vedere il risultato delle singole espressioni così come dell'intera espressione.

"TRUE" significa che l'espressione specificata è corretta. In questo caso A, "80" è maggiore del valore specificato {$TEMP_WARN}, "70" in questo esempio. Come previsto, viene visualizzato un risultato "TRUE".

"FALSE" significa che l'espressione specificata non è corretta. In questo caso B, {$TEMP_WARN_STATUS} "1" deve essere uguale al valore specificato, "0" in questo esempio. Come previsto, viene visualizzato un risultato "FALSE".

Il tipo di espressione scelto è "OR". Se almeno una delle condizioni specificate (A o B in questo caso) è TRUE, anche il risultato complessivo sarà TRUE. Ciò significa che il valore corrente supera il valore di avviso e si è verificato un problema.

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