Como integrar o monit no processo de implementação de aplicativos da web

2

Eu tenho:

  1. Tomcat com webapp implantado via mvn tomcat: reimplementar.
  2. Monit, fazendo ping no host e reiniciando o servidor se o ping falhar.

A coisa está lá em um momento durante a reimplantação quando o ping falhará - e isso é normal, na verdade.

Então, a questão é - qual é a melhor maneira de ensinar monit a considerar o fato de redistribuição e não confundi-lo com blackouts "reais".

Esta é, naturalmente, uma questão de equilíbrio entre elegância, facilidade de implementação e escalabilidade. A solução mais simples que posso imaginar é apenas desligar o monit antes da implementação e iniciá-lo depois de mais uma vez. Mas isso está longe de ser elegância.

    
por shabunc 10.04.2012 / 11:02

1 resposta

4

O truque é dizer ao monit para 'desmonitorar' o alvo enquanto ele estiver inativo. O binário monit usa o servidor HTTP interno para essas ações. Observe que o httpd não é ativado até que o (eventual) "atraso" tenha passado.

Em monitrc:

 set httpd port 2812 and use the address localhost
    allow localhost

Você pode verificar o status do seu cheque:

monit status <check_name>

Desmonte com:

monit unmonitor <check_name>

Monitore novamente com:

monit monitor <check_name>
    
por 10.04.2012 / 11:30