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


11

Я только что установил и настроил monit в соответствии с документацией 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 / server-status и 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

Ответы:


13

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

Если он устарел, возьмите pid основного процесса Apache и сделайте что-то вроде того echo 1234 > /var/run/httpd.pid, где 1234находится pid.

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


2
Файл PID был верным, но monit monitor apacheон запустился, и теперь, после перезапуска службы, он работает нормально. Я также должен был попробовать нажать кнопку «Включить монитор» в веб-интерфейсе.
— dunxd

1

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

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

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

Кстати, CentOS 5 имеет PID-файл Apache в: /var/run/httpd.pid

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

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

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

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


Это CentOS 5.4. Файл PID правильный.
— dunxd

Используя ваш конфиг на сервере CentOS 5, я получаюProcess 'apache' status Does not exist monitoring status monitored
— ewwhite

Где вы видите этот вывод?
— dunxd

Вы должны указать путь к файлу pid "/var/run/httpd/httpd.pid". Также см. Примечание, которое я поместил в первоначальный ответ о возможной необходимости директивы VirtualHosts.
— ewwhite

Не имеет значения, цитируется или нет.
— dunxd
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.