Vejo muitas pessoas usando monit em combinação com runit. Isso não é redundante? Qual é o sentido de usar o runit também? É porque é mais confiável ao lidar com serviços (já que não depende de arquivos pid)?
Obrigado!
Responder1
eu nunca tinha ouvido falarexecutá-lo, mas eu sou um pesadoMonitorardo utilizador...
Olhando para runit
, vejo que é um substituto do init. Eu diria que a maioria dos sistemas corporativos mantém seu padrãoInicialização do sistema VouSubir na vida. Não acho que seja uma prática comum mudar isso.
No entanto, a relação aqui pode ser que o runit fornece uma maneira conveniente de gerar o Monit e garantir que ele continue funcionando. Talvez semelhante a executar o Monit no 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 travando ou sendo morto. Talvez o apelo runit
seja que ele oferece alguma proteção adicional.
Quanto ao Monit, funciona bem comcorrespondência de padrão de nome de processo em vez de arquivos PID.
Responder2
runit é adequado para controlar serviços e registrar e também segue o estilo unix: combine facilmente partes simples conforme necessário. Ele pode fazer algumas verificações e processamento de eventos de início/parada de serviço, mas você mesmo terá que criar o script de tudo isso.Observação:runit não funciona se o seu serviço não puder ser executado em primeiro plano.
monit é bom para controlar serviços (mas não tão bom quanto runit porque você mesmo terá que lidar com daemonização e registro) e também funciona bem com processos de auto-daemonização se eles exporem o pidfile correto. Por outro lado, é ótimo para observar os serviços: processamento de eventos, verificação de vazamentos de memória e outros. Também possui um ótimo 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.
Desta forma, usar 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 mudanças de estado de serviço, verificações mais estendidas e monitoramento de serviço básico