Monit wyświetla Apache jako Nie monitorowany

11

Właśnie zainstalowałem i skonfigurowałem monitor zgodnie z dokumentacją monitora . Wszystkie usługi oprócz Apache są wymienione jako Uruchomione, ale Apache mówi Nie monitorowane .

Odpowiednie linie w konfiguracji monitora to:

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

Mogę uzyskać dostęp do http: // localhost / server-status i http: // localhost fine z serwera. Monit wyświetla tryb monitorowania Apache jako aktywny .

Serwer działa w CentOS 5.4.

Plik PID jest poprawny dla nadrzędnego serwera httpd:

[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
źródło

Odpowiedzi:

13

Upewnij się, że zawartość pliku pid jest zgodna z pid procesu głównego Apache (tj. httpdProcesu działającego jako root). Możliwe, że plik pid jest nieaktualny.

Jeśli jest nieaktualny, pobierz pid procesu Apache Master i zrób coś takiego echo 1234 > /var/run/httpd.pid, gdzie 1234jest dany pid.

Następnie uruchom, monit monitor apacheaby ponownie uruchomić monitorowanie tej usługi.

cjc
źródło
2
Plik PID był poprawny, ale uruchomiono monit monitor apachego, a teraz wydaje się, że działa poprawnie po ponownym uruchomieniu usługi. Powinienem także spróbować kliknąć przycisk Włącz monitor w interfejsie internetowym.
dunxd
1

Nie podajesz wersji / dystrybucji systemu operacyjnego, ale w CentOS 6 plik PID, który powinieneś monitorować, znajduje się w: /var/run/httpd/httpd.pid

Więc zmień na:

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

Nawiasem mówiąc, CentOS 5 ma plik Apache PID w: /var/run/httpd.pid

Edycja: Podaj również ścieżkę PID.

Na liście mailingowej Monit znajduje się informacja o używanym teście protokołu:

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

Może być konieczne przekazanie nazwy hosta lub nazwy witryny, jeśli korzystasz z hostów wirtualnych opartych na nazwie.

ewwhite
źródło
To CentOS 5.4. Plik PID jest poprawny.
dunxd
Używając twojej konfiguracji na serwerze CentOS 5, dostajęProcess 'apache' status Does not exist monitoring status monitored
ewwhite
Gdzie widzisz ten wynik?
dunxd
Powinieneś podać swoją ścieżkę pliku pid „/var/run/httpd/httpd.pid”. Zobacz także notatkę, którą umieściłem w początkowej odpowiedzi na temat możliwej potrzeby dyrektywy VirtualHosts.
ewwhite
Nie ma znaczenia cytowana czy nie.
dunxd