# 11 Внешние проверки

#### - Обзор

Внешняя проверка исполняется Zabbix сервером выполнением shell скрипта
или бинарного файла.

Внешние проверки не требуют на наблюдаемом узле сети какого-либо агента.

Синтаксис ключа элемента данных:

    скрипт[<параметр1>,<параметр2>,...]

Где:

|АРГУМЕНТ|ОПРЕДЕЛЕНИЕ|
|----------------|----------------------|
|**скрипт**|Имя shell скрипта или бинарного файла.|
|**параметр(ы)**|Опциональные параметры командной строки.|

Если вы не хотите передавать какие-нибудь параметры скрипту, вы можете
использовать:

    script[] или
    script

Zabbix сервер заглянет в папку указанную как размещение внешних скриптов
(параметр 'ExternalScripts' в [файле конфигурации Zabbix
сервера](/ru/manual/appendix/config/zabbix_server)) и выполнит заданную
команду. Команда будет выполнена от имени пользователя под которым
запущен Zabbix сервер, так что любые права доступа или переменные среды
должны быть обработаны в оболочке скрипта, если необходимо, и права
доступа на команду должны разрешать этому пользователю выполнение
скрипта. Для выполнения доступны только те команды, которые имеются в
наличии в указанной папке.

::: notewarning
Не злоупотребляйте внешними проверками! Каждый
скрипт требует запуска процесса форка Zabbix сервером, запуск множества
скриптов может значительно снизить производительность
Zabbix.
:::

#### - Пример использования

Выполнение скрипта **check\_oracle.sh** с первым параметром "-h". Второй
параметр будет заменен IP адресом или DNS именем узла сети в зависимости
от выбранного в настройках узла сети.

    check_oracle.sh["-h","{HOST.CONN}"]

Предположим, что узел сети настроен на использование IP адреса, тогда
Zabbix выполнит:

    check_oracle.sh "-h" "192.168.1.4"

#### - Результат внешней проверки

Результирующим значением проверки является стандартный вывод вместе со
стандартным выводом ошибок (возвращается полный вывод с обрезанными
пробелами в конце начиная с Zabbix 2.0).

::: noteimportant
Текстовый (символ,​ журнал или текстовый типы
данных) элемент данных не станет неподерживаемым в случае вывода
стандартной ошибки.
:::

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