GNU/Linux >> Tutoriales Linux >  >> Linux

Nagios:cómo habilitar los argumentos de la línea de comandos check_nrpe

Pregunta: Cuando ejecuto el comando check_nrpe con algunos argumentos, aparece el mensaje "CHECK_NRPE:recibió 0 bytes del demonio. Verifique los registros del servidor remoto para ver si hay mensajes de error”. ¿Cómo soluciono este problema?

Respuesta: El tema es muy sencillo. check_nrpe no toma ningún argumento por defecto. Debe habilitar los argumentos de la línea de comando para check_nrpe como se muestra a continuación.

Verifique el mensaje de error check_nrpe

Solo con fines de prueba, supongamos que está ejecutando el siguiente comando check_nrpe que muestra el mensaje "CHECK_NRPE:0 bytes recibidos del daemon. ” mensaje de error.

$ /usr/local/nagios/libexec/check_nrpe -H 192.168.1.20 -c check_disk -a 60 80 /dev/sdb1
CHECK_NRPE: Received 0 bytes from daemon. Check the remote server logs for error messages.

Si ve /var/log/messages en el host remoto (en el ejemplo anterior, que es 192.168.1.20), verá el error nrpe "Error:¡La solicitud contenía argumentos de comando! ” como se muestra a continuación, lo que indica que check_nrpe no está habilitado para tomar los argumentos del comando.

$ tail -f /var/log/messages
Dec 5 11:11:52 dev-db xinetd[2536]: START: nrpe pid=24187 from=192.168.101.108
Dec 5 11:11:52 dev-db nrpe[24187]: Error: Request contained command arguments!
Dec 5 11:11:52 dev-db nrpe[24187]: Client request was invalid, bailing out...
Dec 5 11:11:52 dev-db xinetd[2536]: EXIT: nrpe status=0 pid=24187 duration=0(sec)

Habilitar argumentos del comando check_nrpe

Para habilitar los argumentos de comando en NRPE, debe hacer las dos cosas siguientes.

1. Configure NRPE con –enable-command-args

Por lo general, cuando instala NRPE en el host remoto, hará ./configure sin ningún argumento. Para habilitar la compatibilidad con argumentos de comando en el demonio NRPE, debe instalarlo con –enable-command-args como se muestra a continuación.

[remotehost]# tar xvfz nrpe-2.12.tar.gz
[remotehost]# cd nrpe-2.12

[remotehost]# ./configure --enable-command-args

[remotehost]# make all
[remotehost]# make install-plugin
[remotehost]# make install-daemon
[remotehost]# make install-daemon-config
[remotehost]# make install-xinetd

2. Modifique nrpe.cfg y establezca dont_blame_nrpe

Modifique /usr/local/nagios/etc/nrpe.cfg en el servidor remoto y establezca la directiva dont_blame_nrpe en 1 como se muestra a continuación.

$ /usr/local/nagios/etc/nrpe.cfg
dont_blame_nrpe=1

Ejecutar check_nrpe con argumentos de comando

Después de los dos cambios anteriores, si ejecuta check_nrpe para este host remoto en particular, ya no verá el mensaje de error como se muestra a continuación.

$ /usr/local/nagios/libexec/check_nrpe -H 192.168.1.20 -c check_disk -a 60 80 /dev/sdb1
DISK OK - free space: / 111199 MB (92% inode=99%);| /=9319MB;101662;114370;0;127078

Advertencia de seguridad

Habilitar argumentos de línea de comando NRPE es un riesgo de seguridad. Si no sabe lo que está haciendo, no habilite esto.

Probablemente a estas alturas ya se haya dado cuenta de que no puede culpar a NRPE si algo sale mal. Después de todo lo que hiciste, estableciste dont_blame_nrpe en 1.


Linux
  1. Cómo borrar el historial de línea de comandos BASH en Linux

  2. ¿Pasar argumentos de línea de comando a Bash Script?

  3. ¿Cómo se analizan los argumentos de la línea de comandos remotos de Ssh?

  4. Cómo reiniciar Linux usando la línea de comandos

  5. ¿Cómo puedo ejecutar manualmente una comprobación de nagios desde la línea de comandos?

Cómo iniciar en la línea de comandos de Linux

Cómo habilitar la marca de tiempo en el historial de Bash en Linux

Cómo comprobar la versión del sistema operativo con la línea de comandos de Linux

Cómo extraer el archivo Tar.xz en la línea de comandos de Linux

Cómo encontrar la dirección IP en la línea de comandos de Linux

¿Cómo leer argumentos de línea de comando en scripts de Shell?