У меня очень странная проблема.
Кажется, когда я выполняю check_nrpe
команда для проверки нагрузки на удаленные машины, работает на server1
, но точно такая же команда не работает на server2
, и он возвращает:
Warning threshold must be float or float triplet!
Usage:
check_load [-r] -w WLOAD1,WLOAD5,WLOAD15 -c CLOAD1,CLOAD5,CLOAD15
Обе машины похожи, CentOS 7. На обеих машинах я установил агент NRPE следующим образом:
yum install nrpe
и на обеих машинах я установил check_load
плагин следующим образом:
yum install nagios-plugins-load
Команда определена как на server1, так и на server2 в именно таким же образом в /etc/nrpe.d/commands.cfg
файл:
command[check_load]=/usr/lib64/nagios/plugins/check_load -r -w $ARG1$ -c $ARG2$
Я перезапускаю службу NRPE на обеих машинах после изменения конфигурации, так что проблема не в этом. Теперь фактическая команда NRPE, которую я отправляю на server1 и server2, выглядит так:
check_nrpe -H server1 -c check_load -a .15,.10,.05 .30,.25,.20
вывод server1:
OK - load average per CPU: 0.00, 0.01, 0.03|load1=0.000;0.150;0.300;0; load5=0.005;0.100;0.250;0; load15=0.025;0.050;0.200;0;
Именно та же команда для server2:
check_nrpe -H server2 -c check_load -a .15,.10,.05 .30,.25,.20
приводит к появлению вышеуказанного предупреждающего сообщения!
Выполнение check_load
команда локально на server1 и server2, работает на обоих серверах .. так это проблема с NRPE? Но тогда почему server1 работает, а server2 нет ..? SELinux выключен везде ..
Как это возможно?! В этом нет никакого смысла!
ОБНОВИТЬ:
После того, как я изменил свой commands.cfg
файл на server2
кому:
command[check_load]=/usr/lib64/nagios/plugins/check_load -r $ARG1$ $ARG2$
(убраны флаги -w и -c)
а затем выполните эту команду:
check_nrpe -H server2 -c check_load -a -w 0.15 -c 0.30
статус возвращается, предупреждения больше нет, но он возвращает статус нагрузки в CRITICAL
.. и если я выполню команду локально на server2 с теми же пороговыми значениями, она вернет OK
..
check_load -w 0.15 -c 0.30
это ошибка в NRPE?
ОБНОВИТЬ:
Кажется, это было раньше:
https://forums.meulie.net/t/warning-threshold-must-be-float-or-float-triplet/1525
но, к сожалению, никакого решения не было ..
Обновить:
Решение:
Сервер, получающий команды NRPE, должен разрешать входящие аргументы, поэтому это должно быть установлено в /etc/nagios/nrpe.cfg
:
dont_blame_nrpe=1
Решено: P