NRPE: check_aacraid - ¿usó esto?

0

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"'.

ethrbunny
fuente
Publique la configuración relacionada desde el servidor nagios y el servidor nrpe (comando definido en ambos sistemas) y cómo está ejecutando el comando manualmente. Es posible que le falte algún parámetro o lo ejecute de una manera diferente.
Khaled
Las ediciones están en línea.
ethrbunny
¿Por qué hiciste NOPASSWD: ALL en / etc / sudoers? ¿El script de Python hace un 'sudo'?
Jeff Leyser
@JeffLeyser: sí. Hay más sudos en el guión. El guión no es muy largo, así que estoy cerca del punto de deshacerme de él y recodificarlo. Esto es molesto.
ethrbunny
Cuando ejecuta el script de verificación desde la línea de comando, ¿qué resultado obtiene?
Jeff Leyser

Respuestas:

0

Diría que PATHen su shell interactivo es agradable y largo e incluye todo lo que check_aacraidnecesita, pero el NRPE PATHes corto y dulce, y le falta algo que necesite. Elija su método favorito para mejorar el PATHfor check_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 1024el PID del servidor NRPE, y solo observe lo que sucede. Por lo general, es bastante obvio lo que va mal.

womble
fuente
Caminos: Me pregunto sobre esto. Esperaba eliminarlo probando a través de su - nagios -c "cmd". Además, estoy ejecutando NRPE en xinetd. ¿Puedo usar strace para eso?
ethrbunny
Su prueba su no funcionará, porque no necesariamente emulará la RUTA utilizada por NRPE. Puede ordenar cualquier proceso en ejecución con la -popción.
womble
He estado trabajando en esta avenida. strace me da una tremenda cantidad de información para examinar.
ethrbunny
Por lo general, es bastante fácil encontrar la invocación del complemento que está buscando con una simple búsqueda de texto, y luego, dado que es un problema de RUTA que le interesa, eche un vistazo a las llamadas ejecutivas en ese niño.
womble
0

El sudo en el script probablemente esté fallando porque no está en tty cuando se ejecuta NRPE. Verifique / etc / sudoers para:

Default requiretty

Y comentarlo.

Jeff Leyser
fuente
Ya lo hizo. Temprano.
ethrbunny
0

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:

nagios ALL=NOPASSWD:/usr/local/bin/check-aacraid.py

Además de comentar fuera de Default requiretty que mencionaste ya estaba hecho.

Robar
fuente
Intenté eso también.
ethrbunny
Sé que no es aconsejable, pero ¿has intentado ejecutar directamente como root en lugar de tener sudo?
Rob
0

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.

ethrbunny
fuente