desativar alertas de texto monit à noite

2

Eu tenho monit executando 24/7/365 e enviando alertas para um endereço de e-mail e mensagens de texto para um telefone igualmente.

No entanto, gostaria de interromper as mensagens de texto do telefone à noite para que elas não me acordem.

Eu não posso simplesmente silenciar meu telefone porque estamos de plantão para qualquer parente que possa precisar de nós em uma emergência.

Vou descobrir mais tarde como obter mensagens de texto "não é possível reiniciar o servidor" em todos os momentos.

Eu tenho isso no meu arquivo monitrc:

set alert [email protected]
set alert [email protected]

Portanto, gostaria de desativar o alerta vtext.com adicionando algo como o abaixo (que funciona nos arquivos de "processo de verificação" do serviço individual)

not every "* 23,0-6 * * *"

Alguma idéia de como implementar isso?

Obrigado, Ron

    
por Ron 24.03.2014 / 17:34

2 respostas

1

Você pode "desassociar" os serviços fora do horário de funcionamento principal.

Eu trabalhei em um ambiente onde os principais sistemas só funcionavam em produção durante parte do dia. No início do dia útil, iniciaríamos os sistemas e os serviços do Monit via cron.

################################################################################
# Start any core services on this machine
################################################################################
0    6 * * 1-5 $BIN/monit -g servers start all

No final do dia, paramos determinados serviços e não monitoramos outros serviços.

################################################################################
# Shutdown Brazzers
################################################################################
01  15 * * 1-5 $BIN/monit unmonitor '/bin/hostname'
50  23 * * 0-5 $BIN/monit -g servers stop all
51  23 * * 0-5 $BIN/monit -g base  stop all
52  23 * * 0-5 $BIN/monit stop all

Você poderia fazer o mesmo com algo como o seguinte, se não estiver preocupado em responder aos alertas:

monit unmonitor SERVICE_NAME

É claro que um poderia dizer que você não está monitorando de forma eficaz se estiver com muito barulho. Isso requer uma abordagem diferente, mas qual é o objetivo de obter alertas se você for ignorá-los?

    
por 24.03.2014 / 17:47
0

A própria monit não tem um recurso pelo qual você pode dizer que pare de enviar alertas enquanto ainda estiver monitorando um serviço. A maneira como eu resolveria o problema é transferindo para o sistema de e-mail a responsabilidade de determinar se devo ser alertado. O que eu faria é:

  1. Crie uma caixa de correio que seja o destinatário direto dos alertas.

  2. Defina um .forward , que é um script que verifica se o email deve ser encaminhado para o destino final, dependendo da hora do dia.

A solução do ewwhite funciona apenas para alguns casos de uso bastante restritos, em que o sysadmin que configurou o monit está correto com o Monit a) não enviando alertas durante um determinado período de tempo e também b) não fazendo nada sobre o serviço que está enviando alertas em horários indesejáveis. Porque é isso que "unmonitor" significa: sim, a Monit irá parar de enviar alertas, mas também deixará de fazer qualquer coisa sobre o serviço. Se ele morrer durante a noite, o Monit não irá reiniciá-lo.

    
por 01.02.2015 / 15:40