Não é possível encontrar o httpd.pid para usar o monitoramento do Monit apache2

1

Sou novo no Linux e configuro o Ubuntu 12.04 no Oceano Digital.

Eu instalei o Monit e consegui monitorar o MySQL com sucesso com o alerta de e-mail.

Também quero monitorar o Apache2, mas não consigo encontrar nenhum arquivo httpd.pid necessário para colocar no arquivo monitrc.

Eu posso iniciar o Apache2 com: /etc/init.d/apache2 start

Eu posso parar o Apache2 com: /etc/init.d/apache2 stop

Posso reiniciar o Spache2 com: /etc/init.d/apache2 restart

De que outra forma existe para monitorar o Apache2 no Monit sem um arquivo httpd.pid?

    
por Bergen 09.07.2013 / 21:58

3 respostas

3

Se você olhar no script de inicialização, ele usará o valor de $ APACHE_PID_FILE, que ele lê no arquivo definido como $ APACHE_ENVVARS, o que eu acho que é o padrão / etc / apache2 / envvars

PIDFILE=$(. $APACHE_ENVVARS && echo $APACHE_PID_FILE) 

No arquivo de envios PIDFILE é definido como

APACHE_PID_FILE = / var / run / apache2 $ SUFFIX.pid

A menos que você esteja executando várias instâncias de apache2, $ SUFFIX provavelmente será "" assim o valor de $ APACHE_PID_FILE será

/var/run/apache2.pid

mas você deve ser capaz de executar

echo $(. /etc/apache2/envvars && echo $APACHE_PID_FILE) 

e obtenha o que seu sistema acha que o valor é.

    
por 09.07.2013 / 22:24
0

Duas coisas que eu tentaria:

  1. Veja se você pode configurar o Apache para gravar um arquivo PID. Ref: link
  2. Modifique o script start / stop do apache2 para criar um arquivo PID durante o start / stop usando o comando pgrep . Ref: link
por 09.07.2013 / 22:12
0

No Centos, há uma boa chance de você usar o utilitário "service" para gerenciar deamons. Os serviços são configurados no diretório: /etc/init.d/

No arquivo /etc/init.d/httpd , você encontrará o local do arquivo pid. Vejo algo like pidfile=${PIDFILE-/var/run/httpd/${prog}.pid}

Então, meu pidfile está localizado em /var/run/httpd/httpd.pid

    
por 12.01.2016 / 09:34