¿Complemento genérico de Nagios para verificar si se está ejecutando un proceso / servicio específico?

12

Veo en http://exchange.nagios.org que no hay complementos para verificar si sendmail, xinetd, automount, ypserv, ypbind, mailscanner, mcafee, clamav, samba server y openvpn se están ejecutando.

Por supuesto, todos estos deberían ser programas estables, pero son críticos, por lo que me gustaría comprobar si se están ejecutando.

Pregunta

¿Existe un complemento genérico para verificar procesos específicos?

Sandra
fuente

Respuestas:

25

Utilizo el check_procscomplemento NAGIOS estándar , con la -Cbandera, que se muestra aquí, que se invoca a nrpe.cfgtravés de NRPE:

command[check_spamd]=/usr/lib/nagios/plugins/check_procs -c 1: -w 3: -C spamd

que AVISARÁ si no encuentra al menos tres procesos con el nombre ejecutable (sin contar la ruta) spamd, y CRITARÁ si no encuentra al menos uno.

MadHatter
fuente
2

Estoy usando este script para verificar varios procesos en ejecución. Puedes editar estas dos líneas:

PROCLIST_RED="sshd"
PROCLIST_YELLOW="syslogd"

para cambiar los procesos rojo (crítico) y amarillo (advertencia).

Además, este script busca puertos abiertos (estado de escucha). Puedes editar la línea:

PORTLIST="22"

Incluso modifiqué el script definiendo nuevas variables UDP_PORTLISTpara verificar los sockets UDP.

Khaled
fuente
El enlace del script está muerto
phansen
No estoy seguro si este es el script correcto, pero al menos el nombre es el mismo. Quizás esto ayude.
gf_
1

Cualquier servicio que debería estar escuchando en un puerto TCP puede ser verificado check_tcp. Al hacer la verificación de conexión externamente, verifica que el firewall permita conexiones a través de ese puerto, además de verificar que el proceso se esté ejecutando y escuchando en el puerto correcto.

La check_tcpcomprobación no le dirá si alguien inició Postfix en lugar de sendmail o configuró nginx para escuchar en el puerto 80 en lugar de Apache, pero check_procs(que los demás ya mencionaron) lo hará.

Ladadadada
fuente
¡Eso es interesante! Veo que el complemento requiere una cadena de envío / espera. ¿Cómo puedo encontrarlos para, por ejemplo, sendmail y openvpn?
Sandra
2
¿ Requiere la cadena de envío / espera? Puede encontrar qué enviar para sendmail revisando la especificación SMTP o conectándose telnet localhost 25y probándolo usted mismo. OpenVPN puede ser un poco más complicado ya que quiere ser encriptado, sin embargo, enviar algunas tonterías y recibir un mensaje de error puede ser adecuado para sus necesidades.
Ladadadada
UPS. Probé check_udp en lugar de check_tcp. Usar telnet para obtener el envío / espera ciertamente será útil.
Sandra
1

En general, es mejor conectarse realmente a un servicio de red y ver si está respondiendo como se esperaba, en lugar de simplemente usar check_tcp o verificar si el servicio se está ejecutando.

En el caso de Samba, ClamAV, Sendmail, etc., existen complementos específicos del servicio para verificarlos (incluso si están marcados en "localhost" a través de NRPE) que serán más precisos que simplemente verificar si el puerto está abierto. Obviamente, verificar el puerto tcp y / o usar check_procs es mejor que nada .

Keith
fuente