Monit lista o Apache como não monitorado


11

Acabei de instalar e configurar o monit de acordo com a documentação do monit . Todos os serviços, exceto o Apache, estão listados como Em execução, mas o Apache diz Não monitorado .

As linhas relevantes na configuração do monit são:

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

Eu posso acessar http: // localhost / server-status e http: // localhost fine do servidor. O Monit lista o modo de monitoramento do Apache como ativo .

O servidor está executando o CentOS 5.4.

O arquivo PID está correto para o servidor httpd pai:

[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

Respostas:


13

Verifique se o conteúdo do arquivo pid corresponde ao pid do processo mestre do Apache (ou seja, o httpdprocesso que é executado como root). É possível que o arquivo pid esteja obsoleto.

Se estiver obsoleto, obtenha o pid do processo mestre do Apache e faça algo como echo 1234 > /var/run/httpd.pid, onde 1234está o pid em questão.

Depois disso, execute monit monitor apachepara reiniciar o monitoramento desse serviço.


2
O arquivo PID estava correto, mas a execução monit monitor apacheo iniciou e agora parece estar funcionando bem após a reinicialização do serviço. Eu também deveria ter tentado clicar no botão Ativar Monitor na interface da web.
— 22412 dunxd

1

Você não fornece a versão / distribuição do SO, mas no CentOS 6, o arquivo PID que você deve monitorar está localizado em: /var/run/httpd/httpd.pid

Então mude para:

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

Aliás, o CentOS 5 tem o arquivo Apache PID em: /var/run/httpd.pid

Editar: cite também o caminho do PID.

Há uma observação na lista de discussão da Monit sobre o teste de protocolo que você está usando:

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

Pode ser necessário passar um nome de host ou nome de site se você estiver usando hosts virtuais baseados em nome.


É o CentOS 5.4. O arquivo PID está correto.
— dunxd

Utilizando sua configuração em um servidor CentOS 5, eu receboProcess 'apache' status Does not exist monitoring status monitored
— ewwhite

Onde você está vendo essa saída?
— 23412 dunxd

Você deve citar seu caminho de pidfile "/var/run/httpd/httpd.pid". Veja também a observação que coloquei na resposta inicial sobre uma possível necessidade de uma diretiva VirtualHosts.
— ewwhite

Não faz diferença citada ou não.
— 23412 dunxd
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.