Exec quando o serviço é ok com monit

1

Eu preciso executar um script de shell se um serviço estiver ok com o monit, para vincular ao meu outro sistema de monitoramento (nagios).

Basicamente, o que preciso alcançar é fazer com que monit envie um alerta quando um serviço for reiniciado e outro alerta quando o serviço estiver ok.

Eu tentei o seguinte sem sorte:

if 1 restarts within 1 cycles then exec "<send WARNING alert here>"
if 0 restarts within 5 cycles then exec "<send OK alert here>"

O texto acima se queixa de "Erro: valores zero ou negativos não permitidos em uma declaração de taxa de ação '' OK ''"

if 1 restarts within 1 cycles then exec "<send WARNING alert here>"
else if succeeded for 5 cycles then exec "<send OK alert here>"

O texto acima reclama do "else" ... Eu acredito que o "If X Restarts" não suporta um "else"

Alguma sugestão para conseguir isso?

    
por Onitlikesonic 16.04.2013 / 14:30

1 resposta

1

Como você diz que o monit está alimentando o NAGIOS, por que não usar o NAGIOS para fazer o trabalho pesado (ou seja, decidir sobre o envio de notificações)? Se monit monitora as reinicializações, pode usar send_nsca para notificar o NAGIOS que uma reinicialização aconteceu.

NAGIOS, por sua vez, pode receber isso em um serviço passivo que é projetado para notificar em um único alerta, mas também é definido com um teste de frescura que, se não ouvir nada por um determinado período (aqui, 60 min), invoca um script que retorna "0 OK", e assim irá notificar "OK" esse período de tempo após uma notificação de reinicialização.

define service{
        use                     <standard template>
        host_name               foo
        service_description     bar        
        active_checks_enabled   0
        passive_checks_enabled  1
        check_command           no-restarts-ok
        check_freshness         1
        max_check_attempts      1
        normal_check_interval   60
        }

e

define command{
        command_name    no-restarts-ok
        command_line    $USER1$/check_dummy 0 OK
}
    
por 16.04.2013 / 14:55