[comment]: # ({d3fd8a91-0aa26ab0})
# 1 Test della pre-elaborazione

[comment]: # ({/d3fd8a91-0aa26ab0})

[comment]: # ({168568ad-ad67af50})
### Test

Testare i passaggi di preprocessing è utile per assicurarsi che pipeline di preprocessing complesse producano i risultati attesi, senza dover attendere che il valore dell'item venga ricevuto e preprocessato.

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

È possibile eseguire test:

-   rispetto a un valore ipotetico
-   rispetto a un valore reale da un host

Ogni passaggio di preprocessing può essere testato singolarmente, così come tutti i passaggi possono essere testati insieme. Quando si fa clic sul pulsante *Test* o *Test all steps* rispettivamente nel blocco Actions, viene aperta una finestra di test.

[comment]: # ({/168568ad-ad67af50})

[comment]: # ({28a496d9-45423233})
##### Test del valore ipotetico

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

|Parameter|Description|
|--|--------|
|*Get value from host*|Se si desidera testare un valore ipotetico, lasciare questa casella di controllo non selezionata.<br>Vedi anche: [Testing real value](#testing-real-value).|
|*Value*|Immettere il valore di input da testare.<br>Facendo clic nel campo del parametro o sul pulsante di visualizzazione/modifica ![](../../../../../assets/en/manual/config/items/pencil.png) si aprirà una finestra area di testo per immettere il valore o un blocco di codice.|
|*Not supported*|Selezionare questa casella di controllo per testare un valore non supportato.<br>Questa opzione è utile per testare il passaggio di preprocessing *Check for not supported value*.|
|*Error*|Immettere il testo dell'errore.<br>Questo campo è abilitato quando *Get value from host* non è selezionato, ma *Not supported* è selezionato.<br>Se *Get value from host* è selezionato, questo campo viene compilato con il messaggio di errore effettivo (sola lettura) proveniente dall'host.|
|*Time*|Viene visualizzato l'orario del valore di input: `now` (sola lettura).|
|*Previous value*|Immettere un valore di input precedente con cui confrontare.<br>Solo per i passaggi di preprocessing *Change* e *Throttling*.|
|*Previous time*|Immettere l'orario del valore di input precedente con cui confrontare.<br>Solo per i passaggi di preprocessing *Change* e *Throttling*.<br>Il valore predefinito si basa sul valore del campo 'Update interval' dell'item (se è '1m', questo campo viene compilato con `now-1m`). Se non viene specificato nulla o l'utente non ha accesso all'host, il valore predefinito è `now-30s`.|
|*Macros*|Se vengono utilizzate macro, vengono elencate insieme ai rispettivi valori. I valori sono modificabili a scopo di test, ma le modifiche verranno salvate solo nell'ambito del contesto di test.|
|*End of line sequence*|Selezionare la sequenza di fine riga per valori di input multilinea:<br>**LF** - sequenza LF (line feed)<br>**CRLF** - sequenza CRLF (carriage-return line-feed).|
|*Preprocessing steps*|I passaggi di preprocessing sono elencati; il risultato del test viene visualizzato per ciascun passaggio dopo aver fatto clic sul pulsante *Test*.<br>I risultati del test vengono troncati a una dimensione massima di 512KB quando vengono inviati al frontend. Se un risultato viene troncato, viene visualizzata un'icona di avviso. La descrizione dell'avviso viene visualizzata al passaggio del mouse. Si noti che i dati superiori a 512KB vengono comunque elaborati completamente da Zabbix server.<br>Se il passaggio non riesce nel test, viene visualizzata un'icona di errore. La descrizione dell'errore viene visualizzata al passaggio del mouse.<br>Nel caso in cui per il passaggio sia specificato "Custom on fail" e tale azione venga eseguita, viene visualizzata una nuova riga subito dopo la riga del passaggio di test del preprocessing, che mostra quale azione è stata eseguita e quale risultato ha prodotto (errore o valore).|
|*Result*|Il risultato finale del test dei passaggi di preprocessing viene visualizzato in tutti i casi in cui tutti i passaggi vengono testati insieme (quando si fa clic sul pulsante *Test all steps*).<br>Viene inoltre visualizzato il tipo di conversione al tipo di valore dell'item, ad esempio `Result converted to Numeric (unsigned)`.<br>I risultati del test vengono troncati a una dimensione massima di 512KB quando vengono inviati al frontend. Se un risultato viene troncato, viene visualizzata un'icona di avviso. La descrizione dell'avviso viene visualizzata al passaggio del mouse. Si noti che i dati superiori a 512KB vengono comunque elaborati completamente da Zabbix server.|

Fare clic su *Test* per vedere il risultato dopo ciascun passaggio di preprocessing.

I valori di test vengono memorizzati tra le sessioni di test, sia per i singoli passaggi sia per tutti i passaggi, consentendo all'utente di modificare i passaggi di preprocessing o la configurazione dell'item e quindi tornare alla finestra di test senza dover reinserire le informazioni. Tuttavia, i valori vengono persi al refresh della pagina.

Il test viene eseguito da Zabbix server. Il frontend invia una richiesta corrispondente al server e attende il risultato. La richiesta contiene il valore di input e i passaggi di preprocessing (con le macro utente espanse). Per i passaggi *Change* e *Throttling*, è possibile specificare facoltativamente un valore e un orario precedenti. Il server risponde con i risultati per ciascun passaggio di preprocessing.

Tutti gli errori tecnici o gli errori di convalida dell'input vengono visualizzati nella casella degli errori nella parte superiore della finestra di test.

[comment]: # ({/28a496d9-45423233})

[comment]: # ({e1608e2f-43637da5})
##### Test del valore reale

Per testare il preprocessing su un valore reale:

-   Seleziona la casella di controllo *Get value from host*
-   Inserisci o verifica i parametri dell'host (indirizzo host, porta, nome proxy/no
    proxy) e i dettagli specifici dell'item (come la community SNMPv2 o le credenziali di
    sicurezza SNMPv3). Questi campi sono contestuali:
    -   I valori vengono precompilati, quando possibile, cioè per gli item
        che richiedono un agent, prendendo le informazioni dall'interfaccia agent
        selezionata dell'host
    -   I valori devono essere compilati manualmente per gli item del template
    -   I valori delle macro in testo semplice vengono risolti
    -   Quando il valore del campo (o parte del valore) è un segreto o una macro Vault, il campo sarà vuoto e dovrà essere compilato manualmente. Se un parametro dell'item contiene un valore di macro segreta, viene visualizzato il seguente messaggio di avviso: "Item contains user-defined macros with secret values. Values of these macros should be entered manually."
    -   I campi sono disabilitati quando non sono necessari nel contesto del tipo di item (ad esempio, i campi indirizzo host e proxy sono disabilitati per gli item calcolati)
-   Fai clic su *Get value and test* per testare il preprocessing

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

Se hai specificato una mappatura dei valori nel modulo di configurazione dell'item
(campo 'Show value'), la finestra di dialogo di test dell'item mostrerà un'altra riga dopo
il risultato finale, denominata 'Result with value map applied'.

Parametri specifici per ottenere un valore reale da un host:

|Parameter|Description|
|--|--------|
|*Get value from host*|Seleziona questa casella di controllo per ottenere un valore reale dall'host.|
|*Host address*|Inserisci l'indirizzo host.<br>Questo campo viene compilato automaticamente con l'indirizzo dell'interfaccia host dell'item.|
|*Port*|Inserisci la porta dell'host.<br>Questo campo viene compilato automaticamente con la porta dell'interfaccia host dell'item.|
|*Additional fields for SNMP interfaces<br>(SNMP version, SNMP community, Context name, etc.)*|Vedi [Configuring SNMP monitoring](/manual/config/items/itemtypes/snmp#step-2) per ulteriori dettagli sulla configurazione di un'interfaccia SNMP (v1, v2 e v3).<br>Questi campi vengono compilati automaticamente dall'interfaccia host dell'item.|
|*Proxy*|Specifica il proxy se l'host è monitorato da un proxy.<br>Questo campo viene compilato automaticamente dal proxy dell'host (se presente).|
|*Value*|Valore recuperato dall'host.<br>Facendo clic nel campo del parametro o sul pulsante di visualizzazione/modifica ![](../../../../../assets/en/manual/config/items/pencil.png) si aprirà una finestra di area di testo con il valore o il blocco di codice.<br>I valori vengono troncati a una dimensione massima di 512KB e solo nel frontend. Se un risultato viene troncato, viene visualizzata un'icona di avviso. La descrizione dell'avviso viene visualizzata al passaggio del mouse. Tieni presente che i dati superiori a 512KB vengono comunque elaborati completamente da Zabbix server.|

Per gli altri parametri, vedi [Testing hypothetical
value](#testing-hypothetical-value) sopra.

[comment]: # ({/e1608e2f-43637da5})
