[comment]: # ({d3fd8a91-0aa26ab0})
# 1 Test du prétraitement

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

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

Tester les étapes de prétraitement est utile pour s'assurer que des pipelines de prétraitement complexes produisent les résultats attendus, sans attendre que la valeur de l'élément soit reçue et prétraitée.

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

Il est possible de tester :

-   avec une valeur hypothétique
-   avec une valeur réelle provenant d'un hôte

Chaque étape de prétraitement peut être testée individuellement, et toutes les étapes peuvent également être testées ensemble. Lorsque vous cliquez sur le bouton *Test* ou *Test all steps* respectivement dans le bloc Actions, une fenêtre de test s'ouvre.

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

[comment]: # ({28a496d9-45423233})
##### Test d'une valeur hypothétique

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

|Parameter|Description|
|--|--------|
|*Get value from host*|Si vous souhaitez tester une valeur hypothétique, laissez cette case à cocher non marquée.<br>Voir aussi: [Test d'une valeur réelle](#testing-real-value).|
|*Value*|Saisissez la valeur d'entrée à tester.<br>Cliquer dans le champ du paramètre ou sur le bouton d'affichage/modification ![](../../../../../assets/en/manual/config/items/pencil.png) ouvrira une fenêtre de zone de texte pour saisir la valeur ou le bloc de code.|
|*Not supported*|Cochez cette case pour tester une valeur non prise en charge.<br>Cette option est utile pour tester l'étape de prétraitement *Check for not supported value*.|
|*Error*|Saisissez le texte de l'erreur.<br>Ce champ est activé lorsque *Get value from host* n'est pas coché, mais que *Not supported* est coché.<br>Si *Get value from host* est coché, ce champ est rempli avec le message d'erreur réel (lecture seule) provenant de l'hôte.|
|*Time*|L'heure de la valeur d'entrée est affichée: `now` (lecture seule).|
|*Previous value*|Saisissez une valeur d'entrée précédente à comparer.<br>Uniquement pour les étapes de prétraitement *Change* et *Throttling*.|
|*Previous time*|Saisissez l'heure de la valeur d'entrée précédente à comparer.<br>Uniquement pour les étapes de prétraitement *Change* et *Throttling*.<br>La valeur par défaut est basée sur la valeur du champ 'Update interval' de l'élément (si '1m', alors ce champ est rempli avec `now-1m`). Si rien n'est spécifié ou si l'utilisateur n'a pas accès à l'hôte, la valeur par défaut est `now-30s`.|
|*Macros*|Si des macros sont utilisées, elles sont listées avec leurs valeurs. Les valeurs sont modifiables à des fins de test, mais les modifications ne seront enregistrées que dans le contexte du test.|
|*End of line sequence*|Sélectionnez la séquence de fin de ligne pour les valeurs d'entrée multilignes:<br>**LF** - séquence LF (line feed)<br>**CRLF** - séquence CRLF (carriage-return line-feed).|
|*Preprocessing steps*|Les étapes de prétraitement sont listées; le résultat du test est affiché pour chaque étape après avoir cliqué sur le bouton *Test*.<br>Les résultats des tests sont tronqués à une taille maximale de 512KB lorsqu'ils sont envoyés à l'interface. Si un résultat est tronqué, une icône d'avertissement s'affiche. La description de l'avertissement s'affiche au survol de la souris. Notez que les données supérieures à 512KB sont toujours entièrement traitées par le serveur Zabbix.<br>Si l'étape a échoué lors du test, une icône d'erreur s'affiche. La description de l'erreur s'affiche au survol de la souris.<br>Dans le cas où "Custom on fail" est spécifié pour l'étape et que cette action est exécutée, une nouvelle ligne apparaît juste après la ligne de l'étape de test de prétraitement, indiquant quelle action a été effectuée et quel résultat elle a produit (erreur ou valeur).|
|*Result*|Le résultat final du test des étapes de prétraitement est affiché dans tous les cas lorsque toutes les étapes sont testées ensemble (lorsque vous cliquez sur le bouton *Test all steps*).<br>Le type de conversion vers le type de valeur de l'élément est également affiché, par exemple `Result converted to Numeric (unsigned)`.<br>Les résultats des tests sont tronqués à une taille maximale de 512KB lorsqu'ils sont envoyés à l'interface. Si un résultat est tronqué, une icône d'avertissement s'affiche. La description de l'avertissement s'affiche au survol de la souris. Notez que les données supérieures à 512KB sont toujours entièrement traitées par le serveur Zabbix.|

Cliquez sur *Test* pour voir le résultat après chaque étape de prétraitement.

Les valeurs de test sont stockées entre les sessions de test, que ce soit pour des étapes individuelles
ou pour toutes les étapes, ce qui permet à l'utilisateur de modifier les étapes de prétraitement ou la configuration de l'élément
puis de revenir à la fenêtre de test sans avoir à ressaisir les informations. Les valeurs sont toutefois perdues lors d'un rafraîchissement de la page.

Le test est effectué par le serveur Zabbix. L'interface envoie une requête correspondante
au serveur et attend le résultat. La requête contient la valeur d'entrée et les étapes de prétraitement (avec les macros utilisateur développées). Pour
les étapes *Change* et *Throttling*, une valeur et une heure précédentes facultatives peuvent
être spécifiées. Le serveur répond avec les résultats de chaque étape de prétraitement.

Toutes les erreurs techniques ou erreurs de validation des entrées sont affichées dans la
zone d'erreur en haut de la fenêtre de test.

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

[comment]: # ({e1608e2f-43637da5})
##### Test de la valeur réelle

Pour tester le prétraitement sur une valeur réelle :

-   Cochez la case *Get value from host*
-   Saisissez ou vérifiez les paramètres de l'hôte (adresse de l'hôte, port, nom du proxy/no
    proxy) ainsi que les détails spécifiques à l'élément (comme la communauté SNMPv2 ou les
    informations d'identification de sécurité SNMPv3). Ces champs sont contextuels :
    -   Les valeurs sont préremplies lorsque cela est possible, c'est-à-dire, pour les éléments
        nécessitant un agent, en prenant les informations de l'interface agent sélectionnée de l'hôte
    -   Les valeurs doivent être saisies manuellement pour les éléments de modèle
    -   Les valeurs des macros en texte brut sont résolues
    -   Lorsque la valeur d'un champ (ou une partie de la valeur) est un secret ou une macro Vault, le champ sera vide et devra être renseigné manuellement. Si un paramètre d'élément contient une valeur de macro secrète, le message d'avertissement suivant s'affiche : "Item contains user-defined macros with secret values. Values of these macros should be entered manually."
    -   Les champs sont désactivés lorsqu'ils ne sont pas nécessaires dans le contexte du type d'élément (par exemple, les champs d'adresse de l'hôte et de proxy sont désactivés pour les éléments calculés)
-   Cliquez sur *Get value and test* pour tester le prétraitement

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

Si vous avez défini un mappage de valeurs dans le formulaire de configuration de l'élément
(champ 'Show value'), la boîte de dialogue de test de l'élément affichera une autre ligne après
le résultat final, nommée 'Result with value map applied'.

Paramètres spécifiques à l'obtention d'une valeur réelle depuis un hôte :

|Parameter|Description|
|--|--------|
|*Get value from host*|Cochez cette case pour obtenir une valeur réelle depuis l'hôte.|
|*Host address*|Saisissez l'adresse de l'hôte.<br>Ce champ est automatiquement renseigné par l'adresse de l'interface agent de l'hôte.|
|*Port*|Saisissez le port de l'hôte.<br>Ce champ est automatiquement renseigné par le port de l'interface agent de l'hôte.|
|*Additional fields for SNMP interfaces<br>(SNMP version, SNMP community, Context name, etc.)*|Voir [Configuration de la surveillance SNMP](/manual/config/items/itemtypes/snmp#step-2) pour plus de détails sur la configuration d'une interface SNMP (v1, v2 et v3).<br>Ces champs sont automatiquement renseignés à partir de l'interface agent de l'élément.|
|*Proxy*|Indiquez le proxy si l'hôte est surveillé par un proxy.<br>Ce champ est automatiquement renseigné par le proxy de l'hôte (le cas échéant).|
|*Value*|Valeur récupérée depuis l'hôte.<br>Cliquer dans le champ du paramètre ou sur le bouton d'affichage/modification ![](../../../../../assets/en/manual/config/items/pencil.png) ouvrira une fenêtre de zone de texte contenant la valeur ou un bloc de code.<br>Les valeurs sont tronquées à une taille maximale de 512 Ko et uniquement dans l'interface. Si un résultat est tronqué, une icône d'avertissement s'affiche. La description de l'avertissement s'affiche au survol de la souris. Notez que les données supérieures à 512 Ko sont toujours traitées intégralement par le serveur Zabbix.|

Pour le reste des paramètres, voir [Test de la valeur hypothétique](#testing-hypothetical-value) ci-dessus.

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