2011-09-15 11 views
10

Tengo un daemon que se ejecuta a través de las secuencias de comandos init.d/service habituales.Monit: para el servicio y quédese parado?

Tengo monit funcionando, lo que garantiza que estos daemons se reinicien si fallan.

Tengo una solicitud para que 'service foo stop' deba detener el deamon, y como se detuvo explícitamente, no se colgó, monit no debería reiniciarlo. ¿Cómo puedo lograr esto con Monit?

Podría hacer que la rutina de detención stop() del servicio llamara 'monit unmonitor', pero esto parece circular e incorrecto.

Gracias, de Dave

Respuesta

23

creo que se debe utilizar en lugar de monit stop fooservice foo stop. De esta forma, Monit sabe que el servicio no falló y no lo reiniciará.

+1

Esto debe aceptarse como la respuesta. – brupm

1

El modelo es: Monit se ejecuta como un servicio por init.d y, por lo tanto, controlado (parada/inicio/reinicio) por init.d. (Otros, por favor si estoy equivocado). Monit controla las aplicaciones que requieren supervisión.

Por lo tanto, tales aplicaciones solo deben controlarse, es decir, detener/iniciar/reiniciar mediante monit. Monit

2

No es un parámetro para que MODE:

Monit es compatible con tres modos de monitorización por servicio: activo, pasivo y manual.

Sintaxis:

MODO En el modo activo (por defecto), Monit supervisará de forma proactiva un servicio y en caso de problemas generar alertas y/o reiniciar el servicio.

En el modo pasivo, Monit monitoreará pasivamente un servicio y generará alertas, pero no intentará solucionar un problema ejecutando el inicio, la detención o el reinicio.

En el modo manual, Monit entrará en el modo activo sólo si un servicio se inicia a través de Monit

A partir de aquí: https://mmonit.com/monit/documentation/monit.html#SERVICE-MONITORING-MODE

De esta manera si usted maneja servicios a través de runit o advenedizo y sólo quiere utilizar monit para alertas y paneles que simplemente configura para todos los servicios mode a passive.

Por ejemplo:

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 

Si necesita habilitar/deshabilitar que en línea, pero no de forma permanente - por favor refiérase a las respuestas de otras personas, que están muy bien.

Cuestiones relacionadas