Monit enumera Apache como no monitoreado

11

Acabo de instalar y configurar monit de acuerdo con la documentación de monit . Todos los servicios, aparte de Apache, se enumeran como En ejecución, pero Apache dice No monitoreado .

Las líneas relevantes en la configuración de monit son:

check process apache with pidfile /var/run/httpd.pid
        group www
        start program = "/etc/init.d/httpd start"
        stop program = "/etc/init.d/httpd stop"
        if failed host localhost port 80
        protocol http then restart
        if 5 restarts within 5 cycles then timeout

Puedo acceder a http: // localhost / server-status y http: // localhost fine desde el servidor. Monit enumera el modo de monitoreo para Apache como activo .

El servidor ejecuta CentOS 5.4.

El archivo PID es correcto para el servidor httpd principal:

[server ~]$ cat /var/run/httpd.pid
2905
[server ~]$ ps auxc | grep httpd
root      2905  0.0  0.9  26952  4808 ?        Ss   11:36   0:00 httpd
dunxd
fuente

Respuestas:

13

Asegúrese de que el contenido del archivo pid coincida con el pid del proceso maestro Apache (es decir, el httpdproceso que se ejecuta como root). Es posible que el archivo pid esté obsoleto.

Si está obsoleto, obtenga el pid del proceso maestro Apache y haga algo como echo 1234 > /var/run/httpd.pid, ¿dónde 1234está el pid en cuestión?

Después de eso, ejecute monit monitor apachepara reiniciar la supervisión de ese servicio.

cjc
fuente
2
El archivo PID era correcto, pero la ejecución monit monitor apachelo inició y ahora parece estar funcionando bien después de reiniciar el servicio. También debería haber intentado hacer clic en el botón Activar monitor en la interfaz web.
dunxd
1

No proporciona la versión / distribución del sistema operativo, pero en CentOS 6, el archivo PID que debe monitorear se encuentra en: /var/run/httpd/httpd.pid

Entonces cambie a:

check process apache with pidfile /var/run/httpd/httpd.pid

Por cierto, CentOS 5 tiene el archivo PID de Apache en: /var/run/httpd.pid

Editar: también cite la ruta PID.

Hay una nota en la lista de correo de Monit sobre la prueba de protocolo que está utilizando:

http://lists.gnu.org/archive/html/monit-general/2004-12/msg00057.html

Es posible que deba pasar un nombre de host o un nombre de sitio si está utilizando hosts virtuales basados ​​en nombres.

ewwhite
fuente
Es CentOS 5.4. El archivo PID es correcto.
dunxd
Usando su configuración en un servidor CentOS 5, obtengoProcess 'apache' status Does not exist monitoring status monitored
ewwhite
¿Dónde estás viendo esa salida?
dunxd
Debe citar su ruta de archivo pid "/var/run/httpd/httpd.pid". También vea la nota que coloqué en la respuesta inicial sobre una posible necesidad de una directiva VirtualHosts.
ewwhite
No hace ninguna diferencia citada o no.
dunxd