Recibo el mismo viejo mensaje "No se puede leer la salida" de esta prueba NRPE. Puedo ejecutar otras pruebas en esta máquina y puedo su - nagios -c "<ruta a check_aacraid>" cuando se ejecuta localmente y funciona.
Mirar / var / log / messages muestra que el proceso se abre y se inicia, simplemente no parece devolver ningún mensaje que NRPE pueda digerir.
¿Qué más puedo usar para depurar esto? Configuré debug = 1 en "nrpe.cfg" y configuré nagios en sudo como NOPASSWD: ALL. (sí, es un gran agujero de seguridad ... me estoy desesperando por hacer que esto funcione)
Ambos sistemas (servidor nagios y cliente NRPE) son CentOS 6.2.
EDITAR:
para probar desde el servidor Nagios, he estado usando un cmdline:
/ usr / local / nagios / libexec / check_nrpe -H <IP de la máquina nrpe> -c check_aacraid
Esto funciona bien si intento "check_users" o "check_total_procs" (valores predeterminados que vienen con la instalación de NRPE). También funciona si cambio el nombre de uno de estos comandos a "cosas" y lo paso con -c a "check_nrpe". Esto me lleva a creer que el problema no es nagios del lado del servidor.
En el lado del cliente, el único cambio que he realizado en NRPE.CFG (fuera de las pruebas, ver arriba) es agregar una línea:
comando [check_aacraid] = / usr / local / sbin / check-aacraid.py
De lo contrario, todo es predeterminado.
Puedo ejecutar este comando cuando inicie sesión como 'nagios' y también a través de 'su - nagios -c "cmd"'.
Respuestas:
Diría que
PATH
en su shell interactivo es agradable y largo e incluye todo lo quecheck_aacraid
necesita, pero el NRPEPATH
es corto y dulce, y le falta algo que necesite. Elija su método favorito para mejorar elPATH
forcheck_aacraid
, y es probable que todos sus problemas desaparezcan.Por otro lado, el método de diagnóstico general para NRPE es
strace -f -s 1024
el PID del servidor NRPE, y solo observe lo que sucede. Por lo general, es bastante obvio lo que va mal.fuente
-p
opción.El sudo en el script probablemente esté fallando porque no está en tty cuando se ejecuta NRPE. Verifique / etc / sudoers para:
Y comentarlo.
fuente
Probablemente ya lo haya intentado, pero me encontraba con este mismo problema con el complemento de anteras. La solución de mi parte fue agregar esta línea al nrpe.cnf: command [check_aacraid] = sudo /usr/local/sbin/check-aacraid.py
en el archivo sudoers:
Además de comentar fuera de Default requiretty que mencionaste ya estaba hecho.
fuente
El 'problema' resulta ser SELinux. Cuando 'echo 0 / selinux / enforce' el complemento funciona. Ahora para descubrir cómo trabajar con el sistema en lugar de utilizarlo.
fuente