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