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!
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 .
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: