7 Внешняя проверка

Обзор

Внешняя проверка — это проверка, выполняемая сервером Zabbix путем запуска shell-скрипта или бинарного файла. Однако, если узлы сети контролируются через прокси Zabbix, внешние проверки выполняются прокси.

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

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

script[<parameter1>,<parameter2>,...]

Где:

ARGUMENT DEFINITION
script Имя shell-скрипта или бинарного файла.
parameter(s) Необязательные параметры командной строки.

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

script[] or
script

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

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

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

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

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

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

check_oracle.sh '-h' '192.168.1.4'

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

Возвращаемым значением внешней проверки является стандартный вывод вместе со стандартным выводом ошибок, производимые проверкой.

Элемент данных, возвращающий текст (символ,​ журнал или текстовый типы данных), не станет неподерживаемым в случае появления чего-либо в стандартном выводе ошибок.

Возвращаемое значение ограничено 16 МБ (включая конечные пробелы, которые усекаются); также применяются ограничения базы данных.

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

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