
Tengo un problema muy extraño.
Parece que cuando ejecuto un check_nrpe
comando para verificar la carga en máquinas remotas, funciona en server1
, pero exactamente el mismo comando no funciona server2
y devuelve:
Warning threshold must be float or float triplet!
Usage:
check_load [-r] -w WLOAD1,WLOAD5,WLOAD15 -c CLOAD1,CLOAD5,CLOAD15
Ambas máquinas son similares, CentOS 7. En ambas máquinas instalé el agente NRPE de la siguiente manera:
yum install nrpe
y en ambas máquinas instalé el check_load
complemento de la siguiente manera:
yum install nagios-plugins-load
El comando se define tanto en el servidor1 como en el servidor2 enexactamenteDe la misma manera, en el /etc/nrpe.d/commands.cfg
archivo:
command[check_load]=/usr/lib64/nagios/plugins/check_load -r -w $ARG1$ -c $ARG2$
Reinicio el servicio NRPE en ambas máquinas después de los cambios de configuración, así que ese no es el problema. Ahora el comando NRPE real que estoy enviando al servidor1 y al servidor2 es:
check_nrpe -H server1 -c check_load -a .15,.10,.05 .30,.25,.20
servidor de salida1:
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;
Exactamenteel mismo comando al servidor2: ¡
check_nrpe -H server2 -c check_load -a .15,.10,.05 .30,.25,.20
da como resultado el mensaje de advertencia anterior!
La ejecución del check_load
comando localmente en el servidor1 y el servidor2 funciona en ambos servidores. Entonces, ¿esto es un problema con NRPE? Pero entonces, ¿por qué el servidor1 funciona y el servidor2 no? SELinux está apagado en todas partes.
¡¿Cómo es esto posible?! ¡Esto no tiene ningún sentido!
ACTUALIZAR:
Después de cambiar mi commands.cfg
archivo server2
a:
command[check_load]=/usr/lib64/nagios/plugins/check_load -r $ARG1$ $ARG2$
(eliminó los indicadores -w y -c)
y luego haz este comando:
check_nrpe -H server2 -c check_load -a -w 0.15 -c 0.30
se devuelve el estado, ya no hay advertencia, pero devuelve el estado de la carga en CRITICAL
... y si hago el comando localmente en el servidor2 con los mismos valores de umbral, devuelve OK
...
check_load -w 0.15 -c 0.30
¿Es esto un error en NRPE?
ACTUALIZAR:
Parece haber sucedido antes:
https://forums.meulie.net/t/warning-threshold-must-be-float-or-float-triplet/1525
pero lamentablemente no se ha dado ninguna solución.
actualizar:
SoLuTiOn:
El servidor que recibe comandos NRPE debe permitir argumentos entrantes, por lo que esto debe configurarse en /etc/nagios/nrpe.cfg
:
dont_blame_nrpe=1
Resuelto :P