Monit lista o Apache como não monitorado

9

Acabei de instalar e configurar o monit de acordo com a documentação do monit . Todos os serviços além do Apache sã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 o link e o link no servidor. Monit lista o modo de monitoramento para o Apache como ativo .

O servidor está executando o CentOS 5.4.

O arquivo PID está correto para o servidor pai 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
    
por dunxd 23.02.2012 / 22:45

2 respostas

11

Certifique-se de que o conteúdo do arquivo pid corresponda ao pid do processo mestre do Apache (ou seja, o processo httpd executado como raiz). É possível que o arquivo pid esteja obsoleto.

Se for obsoleto, obtenha o pid do processo mestre do Apache e faça algo como echo 1234 > /var/run/httpd.pid , em que 1234 é o pid em questão.

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

    
por 23.02.2012 / 23:23
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

Por acaso, 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 do Monit sobre o teste de protocolo que você está usando:

link

Você pode precisar passar um nome de host ou nome do site se estiver usando hosts virtuais baseados em nome.

    
por 23.02.2012 / 22:49