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 / 12: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 / 12:55
yii\base\ErrorException
Copied! Copy Stacktrace Search Stackoverflow Search Google Error

PHP Core Warning – yii\base\ErrorException

PHP Startup: Unable to load dynamic library 'memcached.so' (tried: /usr/lib/php/20190902/memcached.so (/usr/lib/php/20190902/memcached.so: undefined symbol: igbinary_serialize), /usr/lib/php/20190902/memcached.so.so (/usr/lib/php/20190902/memcached.so.so: cannot open shared object file: No such file or directory))

$_GET = [
    'id' => '743976',
    'url' => 'exec-when-service-is-ok-with-monit',
];

$_COOKIE = [
    '_csrf-frontend' => '02ee1f9d357616f2436c3fb90ea730ecdd251543869a9167b8fa50c8a8902a6ca:2:{i:0;s:14:"_csrf-frontend";i:1;s:32:"CoQFHFNzpwnflOF4drbO6plMAZwlTBEo";}',
    'advanced-frontend' => '445c3dest4fr6rdtog6ta95ff5',
];

$_SESSION = [
    '__flash' => [],
];