monit: adiciona NOALERT em uma construção IF

1

No debian jessie, configurei o monit para verificar os% de encaminhamentos de porta específicos deHAproxy, e para reiniciá-lo, se falhar assim:

check process haproxy with pidfile /run/haproxy.pid
   group www-data
   start program = "/bin/systemctl start haproxy.service"
   stop program = "/bin/systemctl stop haproxy.service"
   if failed port 8080 protocol http request "/checker" then restart
   if failed port 8081 protocol http request "/checker" then restart
   if failed port 8082 protocol http request "/checker" then restart
   if 8 restarts within 8 cycles then unmonitor

Eu sei que é possível configurar noalert email em um ambiente check específico. Gostaria de saber se é possível fazer o mesmo para o if em particular no mesmo check . Neste caso em particular, gostaria que o monitor me alertasse apenas se a verificação em port 8082 tivesse falhado, mas não para os outros 2.

Eu tentei adicionar algo assim:

check process haproxy with pidfile /run/haproxy.pid
   group www-data
   start program = "/bin/systemctl start haproxy.service"
   stop program = "/bin/systemctl stop haproxy.service"
   if 8 restarts within 8 cycles then unmonitor

check host site-a with address localhost
  noalert email@address
  depends haproxy
  if failed port 8080 protocol http request "/checker" then exec "/usr/bin/monit restart haproxy"

check host site-b with address localhost
  noalert email@address
  depends haproxy
  if failed port 8081 protocol http request "/checker" then exec "/usr/bin/monit restart haproxy"

check host site-c with address localhost
  depends haproxy
  if failed port 8082 protocol http request "/checker" then exec "/usr/bin/monit restart haproxy"

Essa configuração funciona, mas eu preciso de exec monit como um programa externo e gostaria de saber se existe uma maneira de fazer isso diretamente em if construct dentro do mesmo check . Se eu usar o seguinte, monit será iniciado sem reclamar, mas não considera o noalert instruct:

check process haproxy with pidfile /run/haproxy.pid
   group www-data
   start program = "/bin/systemctl start haproxy.service"
   stop program = "/bin/systemctl stop haproxy.service"
   if failed port 8080 protocol http request "/checker" then
     restart
     noalert email@address
   if failed port 8081 protocol http request "/checker" then
     restart
     noalert email@address
   if failed port 8082 protocol http request "/checker" then restart
   if 8 restarts within 8 cycles then unmonitor

Alguma ideia?

Atenciosamente

    
por Danduk82 14.01.2016 / 16:42

0 respostas