Команда Nagios nrpe не работает, но локальная команда работает

Я использую собственный скрипт для проверки физической памяти.
https://exchange.nagios.org/components/com_mtree/attachment.php?link_id=3329&cf_id=24

(я добавил данные о производительности)

Локально запустить с этим:

/usr/lib64/nagios/plugins/check_custom_memory.sh 

выход:

OK - 30405 МБ (96%) свободной памяти | всего = 31513 МБ использовано = 1108 МБ

Когда я запускаю его с сервера nagios с помощью этой команды (фактический IP-адрес скрыт из соображений безопасности):

/usr/lib64/nagios/plugins/check_nrpe -t 60 -H xxx.xxx.xxx.xxx -c check_custom_memory.sh -a 10 5

выход:

КРИТИЧЕСКИЙ - 30405 МБ (%) свободной памяти | всего = 31513 МБ использовано = 1108 МБ

Кажется, что check_nrpe исключает значение %. Это происходит только на этом сервере, а не на других моих серверах. Все остальные проверки проходят нормально. Любая другая проверка nrpe на удаленный сервер тоже работает нормально. Кажется, это всего лишь одна проверка. Это заставляет меня думать, что это скрипт, но он работает на других серверах и локально, поэтому я в недоумении.

файл /tmp/memcalc имеет права доступа 666 и принадлежит nrpe на удаленном сервере, и я вижу, что он записывается так, как должен, при локальном запуске. При работе с check_nrpe доступ к файлу и его запись не выполняются.

Есть идеи, почему?


person Gene    schedule 04.12.2018    source источник


Ответы (1)


Я считаю, что нашел проблему. Похоже, это как-то связано с запуском selinux. Обычно мы его не используем, но на этом сервере он работает. Кажется, прекращается доступ к записи в файл, созданный в каталоге /tmp, для подсчета процента свободной памяти.

Как результат. Я просто переписал скрипт, чтобы он не использовал временный файл и вычислял проценты, используя простую математику и не будучи точным (и это нормально).

person Gene    schedule 07.12.2018