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