7 Внешняя проверка
Обзор
Внешняя проверка — это проверка, выполняемая сервером Zabbix путем запуска shell-скрипта или бинарного файла. Однако, когда узлы сети контролируются через прокси Zabbix, внешние проверки выполняются прокси.
Для внешних проверок не требуется, чтобы на контролируемом узле сети был запущен агент.
Синтаксис ключа элемента данных:
script[<parameter1>,<parameter2>,...]
Где:
| ARGUMENT | DEFINITION |
|---|---|
| script | Имя shell-скрипта или бинарного файла. |
| parameter(s) | Необязательные параметры командной строки. |
Если вы не хотите передавать скрипту какие-либо параметры, можно использовать:
script[] or
script
Сервер Zabbix или прокси выполнит поиск в каталоге, указанном для внешних скриптов, и запустит команду (см. параметр ExternalScripts в файле конфигурации сервера/прокси Zabbix).
Команда будет выполнена от имени того же пользователя, что и сервер 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'
Результат внешней проверки
Возвращаемое значение внешней проверки — это стандартный вывод вместе со стандартным выводом ошибок, сформированными проверкой.
Элемент данных, который возвращает текст (символьный, журнал или тип информации text), не станет неподдерживаемым в случае вывода в стандартный поток ошибок.
Возвращаемое значение ограничено 16 МБ (включая завершающие пробельные символы, которые усекаются); также применяются ограничения базы данных.
Если запрошенный скрипт не найден или сервер/прокси Zabbix не имеет прав на его выполнение, элемент данных станет неподдерживаемым, и будет отображено соответствующее сообщение об ошибке.
В случае тайм-аута элемент данных станет неподдерживаемым, будет отображено соответствующее сообщение об ошибке, а процесс, созданный для скрипта, будет завершён.