Superlance crashmail não envia email com programa de email personalizado

1

Tenho supervisor executando um programa e quando o programa falha, gostaria que o crashmail me enviasse um email. Eu criei meu próprio binário que envia e-mail e gostaria que o crashmail usasse isso. Se eu executar o binário autônomo do meu servidor, ele me envia um e-mail.

Eu mato o processo com o PID, mas nenhum e-mail é enviado.

Aqui está minha configuração:

[eventlistener:crashmail]
command=crashmail -a -m [email protected] -s /usr/local/bin/mailer
stdout_logfile = /var/www/services/crashmail.log
events=PROCESS_STATE_EXITED, PROCESS_STATE_STOPPED, PROCESS_STATE_STOPPING

Meu binário não aceita nada de STDIN, pois os e-mails para enviar notificações são codificados. Isso está afetando o crashmail?

    
por Mike 25.08.2016 / 21:03

1 resposta

1

Eu não consegui fazer com que o crashmail funcione, então aqui estão duas soluções que eu tentei.

  1. Monitorando o processo do supervisor com um listener de eventos baseado em nó

listener de eventos do supervisord

Aqui está a configuração:

    [eventlistener:monitoring]
    command = /usr/bin/nodejs /etc/supervisor/monitoring.js
    events = PROCESS_STATE,PROCESS_COMMUNICATION,SUPERVISOR_STATE_CHANGE

Na documentação aqui , você pode ouvir qualquer evento e enviar um email dentro desse retorno de chamada de função.

  1. Como o serviço que precisa ser monitorado é um serviço da web. Eu uso o cron para verificar o site periodicamente; se um código de resposta não-200 for retornado, envie um email dentro do script bash com o qual você está verificando o código de resposta.

    #!/bin/bash
    httpCode=$(curl -s -o /dev/null -w "%{http_code}" siteUrl)
    
    if [ $httpCode -eq "200" ]
    then
        echo "OK"
    else
        //send email
    fi
    

Ref: obter o comando curl do código de resposta

    
por 08.09.2016 / 18:50