[comment]: # ({d3fd8a91-0aa26ab0})
# 1. Тестирование предварительной обработки

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

[comment]: # ({168568ad-ad67af50})
### Тестирование

Тестирование этапов предварительной обработки полезно, чтобы убедиться, что сложные конвейеры предварительной обработки выдают ожидаемые от них результаты, не дожидаясь получения и предварительной обработки значения элемента данных.

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

Предварительную обработку можно протестировать:

-   используя гипотетическое значение
-   используя реальное значение, полученное от узла сети

Каждый шаг предобработки можно протестировать отдельно, также можно проверить все этапы одновременно. Когда вы нажимаете кнопку *Тест (Test)* или *Тест всех шагов (Test all steps)* соответственно в блоке *Действия (Actions)*, открывается окно тестирования.

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

[comment]: # ({37e9ec8d-45423233})
##### Проверка гипотетического значения

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

|Parameter|Description|
|--|--------|
|*Get value from host*|Если вы хотите проверить гипотетическое значение, оставьте этот флажок снятым.<br>См. также: [Проверка реального значения](#testing-real-value).|
|*Value*|Введите значение для проверки.<br>Щелчок в поле параметра или по кнопке просмотра/редактирования ![](../../../../../assets/en/manual/config/items/pencil.png) откроет окно текстовой области для ввода значения или блока кода.|
|*Not supported*|Установите этот флажок, чтобы проверить неподдерживаемое значение.<br>Этот параметр полезен для проверки шага предварительной обработки *Check for not supported value*.|
|*Error*|Введите текст ошибки.<br>Это поле доступно, когда флажок *Get value from host* снят, а *Not supported* установлен.<br>Если флажок *Get value from host* установлен, в это поле подставляется фактическое сообщение об ошибке (только для чтения) с узла сети.|
|*Time*|Отображается время входного значения: `now` (только для чтения).|
|*Previous value*|Введите предыдущее входное значение для сравнения.<br>Только для шагов предварительной обработки *Change* и *Throttling*.|
|*Previous time*|Введите время предыдущего входного значения для сравнения.<br>Только для шагов предварительной обработки *Change* и *Throttling*.<br>Значение по умолчанию основано на значении поля 'Update interval' элемента данных (если указано '1m', то в это поле подставляется `now-1m`). Если ничего не указано или у пользователя нет доступа к узлу сети, по умолчанию используется `now-30s`.|
|*Macros*|Если используются какие-либо макросы, они перечисляются вместе со своими значениями. Значения можно редактировать для целей проверки, но изменения будут сохранены только в рамках сеанса проверки.|
|*End of line sequence*|Выберите последовательность конца строки для многострочных входных значений:<br>**LF** - последовательность LF (перевод строки)<br>**CRLF** - последовательность CRLF (возврат каретки + перевод строки).|
|*Preprocessing steps*|Перечислены шаги предварительной обработки; результат проверки отображается для каждого шага после нажатия кнопки *Test*.<br>Результаты проверки обрезаются до максимального размера 512KB при отправке на веб-интерфейс. Результаты проверки можно копировать (не более обрезанных 512KB). Если результат обрезан, отображается значок предупреждения. Описание предупреждения показывается при наведении курсора. Обратите внимание, что данные размером более 512KB по-прежнему полностью обрабатываются сервером Zabbix.<br>Если при проверке шаг завершился с ошибкой, отображается значок ошибки. Описание ошибки показывается при наведении курсора.<br>Если для шага указан параметр "Custom on fail" и это действие выполнено, сразу после строки шага проверки предварительной обработки появляется новая строка, показывающая, какое действие было выполнено и какой результат оно дало (ошибка или значение).|
|*Result*|Итоговый результат проверки шагов предварительной обработки отображается во всех случаях, когда все шаги проверяются вместе (при нажатии кнопки *Test all steps*).<br>Также отображается тип преобразования к типу значения элемента данных, например `Result converted to Numeric (unsigned)`.<br>Результаты проверки обрезаются до максимального размера 512KB при отправке на веб-интерфейс. Итоговый результат можно копировать (не более обрезанных 512KB). Если результат обрезан, отображается значок предупреждения. Описание предупреждения показывается при наведении курсора. Обратите внимание, что данные размером более 512KB по-прежнему полностью обрабатываются сервером Zabbix.|

Нажмите *Test*, чтобы увидеть результат после каждого шага предварительной обработки.

Тестовые значения сохраняются между сеансами проверки для отдельных шагов или для всех шагов, что позволяет пользователю изменять шаги предварительной обработки или конфигурацию элемента данных, а затем возвращаться в окно проверки без необходимости повторного ввода информации. Однако при обновлении страницы значения теряются.

Проверка выполняется сервером Zabbix. Веб-интерфейс отправляет соответствующий запрос на сервер и ожидает результат. Запрос содержит входное значение и шаги предварительной обработки (с раскрытыми пользовательскими макросами). Для шагов *Change* и *Throttling* можно указать необязательные предыдущее значение и время. Сервер отвечает результатами для каждого шага предварительной обработки.

Все технические ошибки или ошибки проверки входных данных отображаются в поле ошибок в верхней части окна проверки.

[comment]: # ({/37e9ec8d-45423233})

[comment]: # ({e1608e2f-43637da5})
##### Тестирование реального значения

Чтобы проверить предварительную обработку на реальном значении:

-   Отметьте опцию *Получить значение с узла сети*
-   Введите или проверьте параметры узла сети (адрес узла сети, порт, имя прокси/отсутствие прокси) 
    и детали, специфичные для элемента данных (такие как SNMPv2 community или учётные данные
    безопасности SNMPv3). Следующие поля являются контекстно-зависимыми:
    -   Значения предварительно заполняются, когда это возможно (например, для элементов данных, 
        требующих агента, информация будет взята из выбранного интерфейса агента узла сети)
    -   Для элементов данных с шаблонов значения необходимо заполнить вручную
    -   Значения макросов в виде простого текста раскрываются
    -   Если значение поля (или часть значения) является скрытым макросом или секретным макросом
        Хранилища, поле будет пустым и должно быть заполнено вручную. Если какой-либо
        параметр элемента данных содержит значение скрытого макроса, отобразится следующее
        сообщение с предупреждением: «Элемент данных содержит пользовательский макрос
        со скрытыми значениями. Значения таких макросов необходимо ввести вручную».
    -   Поля отключаются, когда они не требуются в контексте типа
        элемента данных (например, поля адреса узла сети и прокси
        отключены для вычисляемых элементов данных)
-   Нажмите *Получить значение и протестировать (Get value and test)*, чтобы протестировать предварительную обработку.

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

Если вы выбрали преобразование значений в диалоге настройки элемента данных (поле «Преобразование значений (Show value)»), в диалоге тестирования элемента данных появится ещё одна строка после окончательного результата, которая называется «Применён результат с преобразованием значений» («Result with value map applied»).

Параметры, специфичные для получения реального значения с узла сети:

|Параметр|Описание|
|--|--------|
|*Получить значение с узла сети*<br>*(Get value from host)*|Отметьте эту опцию, чтобы получить реальное значение от узла сети.|
|*Адрес узла сети*<br>*(Host address)*|Введите адрес узла сети.<br>Это поле автоматически заполняется адресом интерфейса узла сети этого элемента данных.|
|*Порт*<br>*(Port)*|Введите порт узла сети.<br>Это поле автоматически заполняется номером порта интерфейса узла сети этого элемента данных.|
|*Дополнительные поля для SNMP интерфейсов<br>(Версия SNMP, SNMP community, Имя контекста и т.д.)*|Смотрите [Настройка SNMP мониторинга](/manual/config/items/itemtypes/snmp#шаг-2) для получения дополнительных сведений о настройке SNMP интерфейса (v1, v2 и v3).<br>Эти поля автоматически заполняются с интерфейса узла сети, которому принадлежит элемент данных.|
|*Прокси*<br>*(Proxy)*|Укажите прокси, если узел сети наблюдается через прокси.<br>В это поле автоматически подставляется сервер прокси данного узла сети (если прокси используется).|
|*Значение*<br>*(Value)*|Значение, полученное от узла сети.<br>При щелчке в поле параметра или на кнопку просмотра/редактирования ![](../../../../../assets/en/manual/config/items/pencil.png) откроется новое окно для ввода значения или блока кода.<br>Значения усекаются до максимального размера 512KБ и только в веб-интерфейсе. Если результат усечён, отобразится значок предупреждения. Описание предупреждения отобразится при наведении указателя мыши. Обратите внимание, что данные более 512KБ, тем не менее, полностью обрабатываются Zabbix сервером.|

Для понимания остальных параметров смотрите [Тестирование гипотетического значения](#тестирование-гипотетического-значения) выше.

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