Qual é o sentido de usar runit em combinação com monit?

8

Eu vejo muitas pessoas usando o monit em combinação com o runit. Isso não é redundante? Qual é o sentido de usar runit também? É porque é mais confiável ao lidar com serviços (pois não depende de arquivos pidfiles)?

Obrigado!

Milan Novota
fonte

Respostas:

4

Eu nunca tinha ouvido falar de runit , mas sou um usuário pesado do Monit ...

Olhando runit, vejo que é uma substituição init. Eu diria que a maioria dos sistemas corporativos mantém seu Sys V init padrão ou o Upstart . Não acho que seja uma prática comum mudar isso.

No entanto, o relacionamento aqui pode ser que o runit fornece uma maneira conveniente de gerar o Monit e garantir que ele continue funcionando. Talvez semelhante à execução do Monit na inittab. É essencialmente "vigiando o observador" ou monitorando seu sistema de monitoramento.

Na prática, eu uso o Monit como um daemon e não tive nenhum problema com ele travar ou ser morto. Talvez o apelo runité que ele oferece alguma proteção adicional.

Quanto ao Monit, ele funciona bem com a correspondência de padrões de nomes de processos em vez de arquivos PID .

ewwhite
fonte
1

O runit é adequado para controlar serviços e registros e também se adere à maneira unix: combine facilmente peças simples conforme necessário. Ele pode fazer algumas verificações e iniciar / parar o processamento de eventos do serviço, mas você terá que criar um script de tudo isso. Nota: runit não funciona se seu serviço não puder ser executado em primeiro plano.

O monit é bom para controlar serviços (mas não tão bom quanto o runit, porque você terá que lidar com daemonizing e registrando-se) e também funciona bem com processos de auto-daemonização, caso exponham o arquivo de pid correto. Por outro lado, é realmente ótimo para assistir aos serviços: processamento de eventos, verificação de vazamentos de memória e outros. Além disso, possui um bom painel para navegar pelos estados do serviço (baseado em linha de comando e baseado na Web) e um painel comercial m / monit para obter dados de vários servidores.

Dessa forma, usando runit + monit se torna o seguinte:

  • runit usado para supervisão de serviço, registro, reinicializações automáticas e esse tipo de material
  • monit usado para notificações de alterações de estado do serviço, verificações mais estendidas e monitoramento básico de serviço
timurb
fonte