Назад | Перейти на главную страницу

Monit перечисляет Apache как не отслеживаемый

Я только что установил и настроил monit в соответствии с документация монитора. Все службы, кроме Apache, указаны как запущенные, но Apache говорит Не контролируется.

Соответствующие строки в конфигурации monit:

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

Я могу получить доступ http: // localhost / статус-сервера и http: // localhost штраф с сервера. Monit перечисляет режим мониторинга для Apache как активный.

Сервер работает под управлением CentOS 5.4.

PID-файл правильный для родительского сервера 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

Убедитесь, что содержимое файла pid совпадает с pid главного процесса Apache (т. Е. httpd процесс, который работает как root). Возможно, файл pid устарел.

Если он устарел, получите pid главного процесса Apache и выполните что-нибудь вроде echo 1234 > /var/run/httpd.pid, где 1234 это pid, о котором идет речь.

После этого запустите monit monitor apache чтобы перезапустить мониторинг этой службы.

Вы не предоставляете версию / дистрибутив ОС, но в CentOS 6 файл PID, который вы должны отслеживать, находится по адресу: /var/run/httpd/httpd.pid

Так что измените на:

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

Между прочим, в CentOS 5 есть файл Apache PID в: /var/run/httpd.pid

Изменить: также укажите путь PID.

В списке рассылки Monit есть примечание об используемом вами протоколе:

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

Вам может потребоваться передать имя хоста или имя сайта, если вы используете виртуальные хосты на основе имен.