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

8

Eu vejo muitas pessoas usando monit em combinação com o runit. Isso não é redundante? Qual é o ponto de usar o runit também? É porque é mais confiável quando se lida com serviços (como não depende de pidfiles)?

Obrigado!

    
por Milan Novota 27.08.2012 / 12:46

2 respostas

4

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

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

No entanto, a relação aqui pode ser que o runit forneça uma maneira conveniente de gerar o Monit e garantir que ele continue em execução. Talvez semelhante a executar o Monit a partir do inittab. É essencialmente "observar o observador" ou monitorar seu sistema de monitoramento.

Na prática, eu uso o Monit como um daemon e não tive nenhum problema com ele falhando ou sendo morto. Talvez o recurso de runit seja o de oferecer alguma proteção adicional.

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

    
por 27.08.2012 / 14:04
1

O runit é bem adequado para controlar serviços e registros e também se encaixa no unix-way: facilmente combine peças simples conforme necessário. Ele pode fazer algumas verificações e processamento de eventos de serviço começa / pára, mas você terá que script de todas essas coisas sozinho. Observação: runit não funciona se o seu serviço não puder ser executado em primeiro plano.

O

monit está ok para controlar serviços (mas não tão bom quanto o runit porque você terá que lidar com daemonizing e logging) e também funciona bem com processos de auto-daemonização se eles expuserem o pidfile correto. Por outro lado, é realmente ótimo para assistir os serviços: processamento de eventos, verificação de vazamentos de memória e tal. Também possui um bom painel de controle para navegar por estados de serviço (tanto baseados em linha de comando quanto baseados na web) e um painel comercial m / monit para obter dados de vários servidores.

Desta forma, usando o runit + monit torna-se o seguinte:

  • runit usado para supervisão de serviço, registro, reinicializações automáticas e esse tipo de coisa
  • monit usado para notificações de alterações de estado de serviço, verificações mais estendidas e monitoramento de serviços básicos
por 09.02.2016 / 07:44