Monit elenca Apache come Non monitorato


11

Ho appena installato e configurato Monit secondo la documentazione di Monit . Tutti i servizi tranne Apache sono elencati come In esecuzione, ma Apache dice Non monitorato .

Le linee rilevanti nella configurazione di Monit sono:

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

Posso accedere a http: // localhost / server-status e http: // localhost bene dal server. Monit elenca la modalità di monitoraggio per Apache come attiva .

Il server esegue CentOS 5.4.

Il file PID è corretto per il server httpd padre:

[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

Risposte:


13

Assicurati che il contenuto del file pid corrisponda al pid del processo master Apache (ovvero il httpdprocesso che viene eseguito come root). È possibile che il file pid sia obsoleto.

Se è obsoleto, ottieni il pid del processo master di Apache e fai qualcosa di simile echo 1234 > /var/run/httpd.pid, dov'è 1234il pid in questione.

Successivamente, esegui monit monitor apacheper riavviare il monitoraggio di quel servizio.


2
Il file PID era corretto, ma l'esecuzione monit monitor apacheè stata avviata e ora sembra funzionare correttamente dopo il riavvio del servizio. Avrei dovuto anche provare a fare clic sul pulsante Abilita monitor nell'interfaccia web.
Dunxd,

1

Non fornisci la versione / distribuzione del sistema operativo, ma su CentOS 6, il file PID che dovresti monitorare si trova in: /var/run/httpd/httpd.pid

Quindi cambia in:

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

Per inciso, CentOS 5 ha il file PID Apache in: /var/run/httpd.pid

Modifica: cita anche il percorso PID.

C'è una nota sulla mailing list di Monit sul test del protocollo che stai usando:

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

Potrebbe essere necessario passare un nome host o un nome sito se si utilizzano host virtuali basati sul nome.


È CentOS 5.4. Il file PID è corretto.
Dunxd,

Usando la tua configurazione su un server CentOS 5, ottengoProcess 'apache' status Does not exist monitoring status monitored
ewwhite il

Dove vedi quell'output?
Dunxd,

Dovresti citare il tuo percorso pidfile "/var/run/httpd/httpd.pid". Vedi anche la nota che ho inserito nella risposta iniziale su una possibile necessità di una direttiva VirtualHosts.
ewwhite,

Non fa alcuna differenza tra virgolette o meno.
Dunxd,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.