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

Обзор

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

Для внешних проверок не требуется, чтобы на контролируемом узле сети был запущен какой-либо агент.

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

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

Где:

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

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

script[] or
script

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

Не злоупотребляйте внешними проверками, так как для каждого скрипта серверу/прокси 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'

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

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

Элемент данных, который возвращает текст (информация типа character, log или text), не станет неподдерживаемым в случае вывода в стандартный поток ошибок.

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

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

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