Назад | Перейти на главную страницу

Zabbix: отладка внешнего скрипта

Я сделал внешний скрипт (snmp_max_io, написанный на Perl). При запуске с IP-адресом он записывает входные данные в системный журнал, печатает одно 64-битное числовое значение и устанавливает значение выхода равным 0.

Пример вывода:

916418801

Я добавил его в / usr / lib / zabbix / externalscripts, где у меня есть другой скрипт, который работает.

Я настроил элемент:

Через некоторое время Zabbix меняет статус на: «Не поддерживается» и «Полученное значение [] не является числовым».

Команда отлично работает при запуске в командной строке от имени пользователя root или zabbix.

Но команда никогда не запускается сервером zabbix (ничего не регистрируется).

Как мне узнать, почему Zabbix считает, что команда возвращает [], хотя явно никогда не запускает ее?

Решение находится в комментариях: сценарий ДОЛЖЕН быть сценарием bash. Таким образом, perl-скрипт должен иметь оболочку bash.

На вашем сервере включен SELinux? Я укусил его несколько раз в подобных ситуациях при использовании Zabbix.

Если getenforce возвращается enabled для тебя, то пора увидеть /var/log/audit журналы каталога и посмотрите, что конкретно мешает Zabbix запускать скрипт.