Como evitar que o daemon monit seja interrompido?

Como evitar que o daemon monit seja interrompido?

Eu uso o monit para garantir que tudo esteja funcionando bem, mas o daemon monit também foi interrompido.

Não sei como é isso e como evitar que o monit daemon seja interrompido?

Responder1

No Ubuntu 9.10,/etc/inittabnão existe, porque o Ubuntu usasubir na vidaem vez de/sbin/init. Portanto, para conseguir o mesmo que a resposta nº 1 acima, precisamos de um script inicial:

# This is an event.d (upstart) script to keep monit running
# To install disable the old way of doing things:
#
#   /etc/init.d/monit stop && update-rc.d -f monit remove
#
# then put this script here: /etc/init/monit.conf
#
# You can manually start and stop monit like this:
# 
# start monit
# stop monit
#
# Karim Ratib (http://thereisamoduleforthat.com)
# 
# Based on monit.upstart (https://code.google.com/p/monit/source/browse/trunk/contrib/monit.upstart?r=132)
# by Michael Hale (http://halethegeek.com)

start on runlevel [2345]
stop on runlevel [06]

exec /usr/sbin/monit -Ic /etc/monit/monitrc
respawn

Responder2

A melhor opção que consigo pensar para algo que precisa absolutamente ser executado e deve ser reiniciado se morrer é executar o processo fora do init.

Você coloca uma entrada como a seguinte em/etc/inittab:

nome:234:respawn:/usr/local/bin/daemon

Em seguida, reinicie o init com:

iniciar q

Agora, sempre que seu daemon morrer, ele será automaticamente "ressurgido"

Editar: não estou familiarizado com o Monit, mas por acaso verifiquei oPágina de perguntas frequentes, e eles detalharam isso especificamente para monit.

Responder3

Retirado dos documentos do monit:http://mmonit.com/wiki/Monit/FAQ#init

P: Como posso executar o monit a partir do init para que ele possa reaparecer caso o monit morra inesperadamente?

R: É recomendado que você use o Monit versão 5 ou posterior ao executar o Monit a partir do init.

Use a instrução 'set init' no arquivo de configuração monits ou use a opção -I na linha de comando. Aqui está um exemplo de entrada /etc/inittab para monit:

 # Run monit in standard runlevels
 mo:2345:respawn:/usr/local/sbin/monit -Ic /etc/monitrc

Depois de modificar o arquivo de configuração inits, você pode executar o seguinte comando para reexaminar o nível de execução e iniciar o monit:

 telinit q

Você deve considerar adicionar outra camada de monitoramento ao seu cenário, como Nagios/Icinga, Zabix ou Sensu, para verificar o status do monit.

Mesmo que o monit possa reaparecer se estiver morto, há alguns casos em que o monit para de funcionar e o daemon ainda vive, então o respawn nunca é acionado.

Neste ponto, a outra camada de monitoramento pode ser configurada para enviar um e-mail avisando que o status do monit não está disponível e então você corrige o problema.

informação relacionada