2011-09-15 7 views
10

나는 보통 init.d/service 스크립트를 통해 실행되는 데몬을 가지고있다.Monit - 서비스 중지 및 체류가 중단 되었습니까?

충돌이 발생하면 이러한 데몬이 다시 시작되도록하는 monit 실행이 있습니다.

'service foo stop'은 deamon을 중지시켜야한다는 요청이 있으며 충돌이 아닌 명시 적으로 중지되었으므로 monit은 다시 시작하지 않아야합니다. 어떻게해야합니까?

나는 서비스 스크립트의 stop() 루틴 호출 'monit unmonitor'를 가질 수 있었지만 이것은 순환적이고 잘못된 것으로 보인다.

덕분에, 데이브

답변

23

난 당신이 monit stop foo 대신 service foo stop 사용한다고 생각합니다. 그런 식으로 Monit은 서비스가 중단되지 않고 다시 시작하지 않는다는 것을 알고 있습니다.

+1

답변으로 받아 들여야합니다. – brupm

1

모델은 입니다. Monit은 init.d에 의해 서비스로 실행되므로 init.d에 의해 제어됩니다 (중지/시작/다시 시작). (내가 잘못하면 다른 사람, 제발). 모니터해야하는 응용 프로그램은 monit에서 처리합니다.

따라서 이러한 응용 프로그램은 monit을 통해 중지/시작/다시 시작 만 제어해야합니다. MONIT

2

은에 대한 MODE PARAM있다 : 능동, 수동 및 수동 :

MONIT 서비스에 세 모니터링 모드를 지원합니다.

구문 : 활성 모드 (기본값)에서

MODE 는 MONIT 프로 적극적으로 서비스를 모니터링하고 문제가있는 경우 경고를 발생 및/또는 서비스를 다시 시작합니다.

수동 모드에서 Monit은 수동으로 서비스를 모니터링하고 경고를 발생 시키지만 시작, 중지 또는 다시 시작하여 문제를 해결하지는 않습니다. 수동 모드에서

, MONIT는 서비스가 여기에서 MONIT

를 통해

을 시작한 경우에만 활성화 모드로 들어갑니다 : https://mmonit.com/monit/documentation/monit.html#SERVICE-MONITORING-MODE

당신이 runit 또는 신출내기를 통해 서비스를 관리 그냥 사용하려는 경우이 방법 알리미 및 대시 보드에 대한 모티트는 모든 서비스에 대해 간단히 설정합니다. mode ~ passive. 예를 들어

:

check process heka with pidfile /etc/sv/myservice/supervise/pid 
    start program = "/usr/bin/sv start myservice" 
    stop program = "/usr/bin/sv stop myservice" 
    mode passive 

활성화 /하지 영구적으로 온라인으로 만 해제해야하는 경우 - 다른 사람의 답변을 참조하십시오, 그들은 정상입니다.