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

1 Обзор

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

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

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

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

Где:

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

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

script[] или
       script

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

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

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

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

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

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

check_oracle.sh "-h" "192.168.1.4"

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

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

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

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