
Eu tenho um problema muito estranho.
Parece que quando executo um check_nrpe
comando para verificar a carga em máquinas remotas, ele funciona no server1
, mas exatamente o mesmo comando não funciona no server2
, e retorna:
Warning threshold must be float or float triplet!
Usage:
check_load [-r] -w WLOAD1,WLOAD5,WLOAD15 -c CLOAD1,CLOAD5,CLOAD15
Ambas as máquinas são semelhantes, CentOS 7. Em ambas as máquinas instalei o agente NRPE da seguinte forma:
yum install nrpe
e nas duas máquinas instalei o check_load
plugin da seguinte forma:
yum install nagios-plugins-load
O comando é definido em server1 e server2 emexatamenteda mesma forma, no /etc/nrpe.d/commands.cfg
arquivo:
command[check_load]=/usr/lib64/nagios/plugins/check_load -r -w $ARG1$ -c $ARG2$
Eu reinicio o serviço NRPE em ambas as máquinas após alterações de configuração, então esse não é o problema. Agora, o comando NRPE real que estou enviando para server1 e server2 é:
check_nrpe -H server1 -c check_load -a .15,.10,.05 .30,.25,.20
servidor de saída1:
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;
Exatamenteo mesmo comando para server2:
check_nrpe -H server2 -c check_load -a .15,.10,.05 .30,.25,.20
resulta na mensagem de aviso acima!
Executar o check_load
comando localmente no servidor1 e no servidor2 funciona em ambos os servidores. Então isso é um problema com o NRPE? Mas então por que o server1 está funcionando e o server2 não ..? SELinux está desligado em todos os lugares.
Como isso é possível?! Isso não faz nenhum sentido!
ATUALIZAR:
Depois de mudar meu commands.cfg
arquivo server2
para:
command[check_load]=/usr/lib64/nagios/plugins/check_load -r $ARG1$ $ARG2$
(removi os sinalizadores -w e -c)
e então faça este comando:
check_nrpe -H server2 -c check_load -a -w 0.15 -c 0.30
o status é retornado, não há mais aviso, mas retorna o status da carga em CRITICAL
.. e se eu fizer o comando localmente no server2 com os mesmos valores de limite, ele retorna OK
..
check_load -w 0.15 -c 0.30
isso é um bug no NRPE?
ATUALIZAR:
Parece que já aconteceu antes:
https://forums.meulie.net/t/warning-threshold-must-be-float-or-float-triplet/1525
mas nenhuma solução dada infelizmente ..
atualizar:
SoLuTiOn:
O servidor que está recebendo comandos NRPE deve permitir a entrada de argumentos, portanto deve ser definido em /etc/nagios/nrpe.cfg
:
dont_blame_nrpe=1
Resolvido :P