Eu tenho um problema muito estranho.
Parece que quando eu executo um comando check_nrpe
para verificar a carga em máquinas remotas, ele funciona em server1
, mas exatamente o mesmo comando não funciona em server2
, e ele 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 similares, o CentOS 7. Em ambas as máquinas eu instalei o agente NRPE da seguinte forma:
yum install nrpe
e em ambas as máquinas instalei o check_load
plugin da seguinte forma:
yum install nagios-plugins-load
O comando é definido no server1 e no server2 em exatamente da mesma maneira, no arquivo /etc/nrpe.d/commands.cfg
:
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 depois que a configuração é alterada, 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
server1 de saída:
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;
Exatamente o 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 comando check_load
localmente no server1 e no server2 funciona em ambos os servidores. Portanto, isso é um problema com o NRPE? Mas então por que o server1 está funcionando e o server2 não ..? O SELinux está desligado em todos os lugares ..
Como isso é possível ?! Isso não faz sentido!
UPDATE:
Depois de alterar meu arquivo commands.cfg
em server2
para:% command[check_load]=/usr/lib64/nagios/plugins/check_load -r $ARG1$ $ARG2$
(removeu os sinalizadores -w e -c)
e, em seguida, faça o seguinte 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 retornará OK
..
check_load -w 0.15 -c 0.30
isso é um bug no NRPE?
UPDATE:
Parece ter acontecido antes: link
mas nenhuma solução dada infelizmente ..
uPdAtE:
SoLuTiOn:
O servidor que está recebendo comandos NRPE deve permitir argumentos de entrada, portanto, isso deve ser configurado em /etc/nagios/nrpe.cfg
:% dont_blame_nrpe=1
Resolvido: P