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.