Você pode usar scripts de manipulador de eventos com o Nagios se tiver isso em vigor para reiniciar os serviços.
Se o verniz exigir permissão de root para iniciar (os scripts init.d normalmente usam), altere "/etc/init.d/varnish start" para "sudo /etc/init.d/varnish start". Mas isso provavelmente não será suficiente já que você provavelmente não quer dar qualquer usuário monit executado como privilégios sudo nopasswd total para todos os comandos e dar sudo para um script de shell seria basicamente tão ruim. Assim, você precisará descobrir quais comandos nesse script de init precisam do sudo, fornecer a esses comandos os sudo privileges no arquivo / etc / sudoers para o usuário monit e, finalmente, editar esse script de init de acordo. Ou talvez em vez de todo esse verniz possa ser executado como usuário não-root?
Finalmente, tenho certeza que você sabe disso, mas vou dizer de qualquer maneira. Você está claramente se esforçando muito nisso, espero que você esteja se esforçando tanto para descobrir por que o verniz está falhando e realmente consertando (ou perseguindo os desenvolvedores para descobrir o porquê): -)
Atualização:
Isso pode não ser tão limpo, mas uma maneira fácil de fazer isso como root pode ser configurar um script que verifique se o processo está correto e, se não, iniciá-lo. Em seguida, basta executar esse script a cada dois minutos como um cron job.