简体   繁体   中英

Monit - stop service and stay stopped?

I have a daemon which runs via the usual init.d/service scripts.

I have monit running which ensures these daemons are restarted if they crash.

I have a request that 'service foo stop' should stop the deamon, and because it was explicitly stopped, not a crash, monit should not restart it. How can I achieve this with monit?

I could have the service script's stop() routine call 'monit unmonitor' but this seems circular and wrong.

Thanks, Dave

I think you should use monit stop foo instead of service foo stop . That way Monit is aware that the service didn't crash -- and won't restart it.

There is a MODE param for that:

Monit supports three monitoring modes per service: active, passive and manual.

Syntax:

MODE In active mode (the default), Monit will pro-actively monitor a service and in case of problems raise alerts and/or restart the service.

In passive mode, Monit will passively monitor a service and will raise alerts, but will not try to fix a problem by executing start, stop or restart.

In manual mode, Monit will enter active mode only if a service was started via Monit

From here: https://mmonit.com/monit/documentation/monit.html#SERVICE-MONITORING-MODE

This way if you manage services via runit or upstart and just want to use monit for alerts and dashboards you simply set for all such services mode to passive .

For example:

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

If you need to enable/disable that online but not permanently -- please refer to other people's answers, they are fine.

The model is: Monit runs as a service by init.d and therefore controlled (stop/start/restart) by init.d . (Others, please me if I am wrong). Applications that require to be monitored are handled by monit.

Therefore, such applications should be only controlled ie stop/start/restart via monit. monit

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM