Прямо к делу.
NRPE.CFG Модификации:
Хост Nagios добавлен в список разрешенных:
allowed_hosts=127.0.0.1,192.168.1.10
Удален # перед command_prefix=/usr/bin/sudo
После этого я перезагрузил сервис.
/etc/init.d/nagios-nrpe-server restart
Я также редактировал /etc/sudoers
# User privilege specification root ALL=(ALL:ALL) ALL nagios ALL=NOPASSWD: /usr/lib/nagios/plugins/
Бег:
$ ./check_users -w 5 -c 10 USERS OK - 1 users currently logged in |users=1;5;10;0
Работает и я получаю свои результаты
Бег:
su nagios -c "./check_users -c 2 -w 2"
Ни в чем не решается.
С хоста Nagios в новую удаленную систему я могу запустить:
check_nrpe -H 192.168.1.20
И я получаю NPRE v2.12
в результате.
Я проверил, что Nagios является владельцем папки плагинов, но все равно не пошел.
Любые советы были бы полезны.
(и да, я погуглил и прочитал 10-20 тем, но все равно не пошел)
Мне кажется, что у вас нет строки "requiretty" в вашем sudoers
файлы, убедитесь, что у вас есть следующая строка:
Defaults:nagios !requiretty
Это означает, что пользователю nagios (только) не требуется иметь tty для запуска команды, поэтому я подозреваю, что ваша команда не работает.
Если вы не уверены, какой пользователь запускает nagios, вы можете проверить это в файле конфигурации, который обычно находится в /etc/nagios/nrpe.cfg
.
Если бы у меня возникла эта проблема, я бы сначала хотел убедиться, что пользователь nagios может успешно запустить команду, и для этого я бы разрешил пользователю nagios входить в систему, отредактировав ее строку в /etc/passwd
из:
nagios:x:113:120::/var/lib/nagios:/bin/false
кому:
nagios:x:113:120::/var/lib/nagios:/bin/bash
Тогда я бы su - nagios
чтобы продолжить устранение неполадок, а затем, после решения проблемы, я верну эту строку к /bin/false
.
Можете ли вы успешно выполнить check_users с помощью sudo (как пользователь, выполняющий nrpe)? т.е.
sudo ./check_users -c 2 -w 2
Не случайно ли в CentOS есть requiretty в верхней части файла sudoers? Если да, то это вероятный виновник. Вы можете попробовать временно отключить его глобально или просто отключить для пользователя nagios.
Пожалуйста, проверьте, nrpe процесс точно убивается при перезапуске службы. У меня была такая же проблема. Использование:
ps -ef | grep nrpe
чтобы проверить, выполняется ли процесс, а затем:
kill -9 `ps -ef | grep nrpe | awk '{print $2}'`
команда убить его вручную.
Возможно проблема с пользователем nagios. Пожалуйста, проверьте, есть ли у пользователя nagios права на запуск плагинов.
разрешения плагина должны быть такими:
rwxr-xr-x 1 nagios nagios 163831 May 30 2016 check_users