Monit não executará comandos

2

Executando o Monit 5.2.5 no Fedora 15

Todos os alertas padrão estão funcionando, mas não é possível executar exec para executar qualquer coisa.

Eu tentei mais de dez configurações diferentes baseadas em exemplos do Wiki Monit. Nenhum dos comandos exec faz nada. Abaixo está apenas um exemplo simples na tentativa de fazer algo funcionar:

check process tomcat6 with pidfile /var/run/tomcat6.pid
    start program = "/etc/init.d/tomcat6 start"
    stop program = "/etc/init.d/tomcat6 stop"
    if failed host localhost port 8080 then
        exec "/bin/bash -c '/bin/touch /tmp/monittest'"

Se eu desligar o Tomcat, um alerta será enviado e o serviço será reiniciado. No entanto, qualquer tentativa em exec é sempre ignorada.

Eu entendo que o Monit é muito restritivo em termos de ambiente e está limitado a diretórios como / bin e / sbin /. Portanto, todo o exemplo que tentei foi restrito a esses diretórios. Mas ainda nada.

Alguém tem alguma ideia?

p.s. Eu ativei o log detalhado e nenhuma pista no arquivo de log.

    
por interoperate 31.10.2011 / 00:19

2 respostas

1

Não tenho certeza se o teste de conectividade é feito durante a reinicialização do serviço, talvez tente algo assim primeiro:

check process tomcat6 with pidfile /var/run/tomcat6.pid
    if changed pid then exec "/bin/bash -c '/bin/touch /tmp/monittest'"
    
por 31.10.2011 / 04:34
1

Seu teste funciona para mim no Debian 6.0.4 com o Monit 5.3.2 compilado a partir do código-fonte.

Por favor, tente alterar a porta para um valor inválido, como 8888 ou 65432, e veja se o arquivo foi criado.

    
por 29.02.2012 / 08:15

Tags