Моніт називає Apache таким, що не контролюється


11

Я щойно встановив і налаштував monit відповідно до документації monit . Усі сервіси, крім Apache, перелічені як Running, але 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 / status-server та 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-файлу збігається з підручником головного процесу Apache (тобто httpdпроцесом, що працює як root). Можливо, файл pid несвіжий.

Якщо він несвіжий, дістаньте під майстерного процесу Apache і зробіть щось на зразок echo 1234 > /var/run/httpd.pid, де 1234йдеться про під.

Після цього запустіть, 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 є файл Apache PID у: /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

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

Не має різниці цитується чи ні.
dunxd
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.