Команда Nagios nrpe не работает, но локальная команда работает - PullRequest
0 голосов
/ 04 декабря 2018

Я использую пользовательский скрипт для проверки физической памяти.
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 МБ (%) Свободной памяти |total = 31513MB используется = 1108MB

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

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

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

1 Ответ

0 голосов
/ 07 декабря 2018

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

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

...