Monit가 Apache를 모니터되지 않은 것으로 표시


11

monit documentation 에 따라 monit을 설치하고 구성했습니다 . Apache 이외의 모든 서비스는 Running으로 표시되지만 Apache는 Not Monitored 라고 합니다.

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-statushttp : // localhost에 액세스 할 수 있습니다 . Monit는 Apache의 모니터링 모드를 활성으로 표시 합니다.

서버가 CentOS 5.4를 실행 중입니다.

상위 httpd 서버에 대한 PID 파일이 올바른지 :

[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 마스터 프로세스의 pid (즉, httpd루트로 실행되는 프로세스) 와 일치하는지 확인하십시오 . pid 파일이 오래되었을 수 있습니다.

오래되지 않은 경우 Apache 마스터 프로세스의 pid를 가져 와서 pid가 echo 1234 > /var/run/httpd.pid어디에 있는지 와 같은 작업을 수행 1234하십시오.

그런 다음 실행 monit monitor apache하여 해당 서비스의 모니터링을 다시 시작하십시오.


2
PID 파일은 정확했지만 실행 monit monitor apache하면 시작되었으며 이제 서비스를 다시 시작한 후 제대로 작동하는 것 같습니다. 웹 인터페이스에서 모니터 사용 버튼을 클릭 해 보았습니다.
dunxd

1

OS 버전 / 배포를 제공하지 않지만 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
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.