Tag Archives: falha na inicialização

PowerMTA não inicializa? Pergunte-me como!

Sim, o PowerMTA, melhor MTA (mail transfer agent) do mercado, aquele cara que faz o papel do “servidor SMTP” no ecossistema de e-mail marketing, é meio obscuro e com pouco acesso a documentação. Tem um fórum excepcional mantido pela própria empresa mantenedora, a Port25, mas tem muita gente aí no mercado usando o sistema com configurações automatizadas (tá cheio de gente “vendendo” isso) mas que, na hora de um problema mais sério, não sabe como resolver. Sequer se dão ao trabalho de olhar o manual do sistema (sim, manuais servem para várias coisas). Hoje me chamaram por causa de um desses problemas.

O que fazer quando o PowerMTA (pmtad) não inicializa? Não consigo enviar e-mails!

Bem, quando o PowerMTA não inicializa, o que faço é muito simples: troubleshooting!!!!

  1. Já viu se tem espaço em disco? Um simples “df -h” nos mostra isso

    comando df -h

    comando df -h

  2. O cliente disse que não iniciava, mas vamos ver se é isso mesmo. “service pmtad restart”

    service pmtad restart

    service pmtad restart

  3. Já que deu falha na tentativa de inicialização, vamos olhar o log do sistema. Uma das coisas que aprendi e que é importante lembrar é que quando um sistema tem seu próprio arquivo de log, ele só registra alguma coisa alí quando seu prórpio processo está em execução. Aqui não é o caso! O processo do PowerMTA (pmtad) simplesmente não inicializa, logo, o erro tem que estar registrado em outro lugar e, por experiência, de fato, esse registro de erro “pré-start” vai para o /var/log/messages.log (falando de uma distribuição linux redhat-based)

    Verificando os logs do pmta no messages.log

    Verificando os logs do pmta no messages.log

  4. A última linha do arquivo de log messages.log mostra que há um problema no arquivo onde o PowerMTA guarda os status das queues/ips desativados. Essas queues e IPs são desativados conforme configuração. Para saber mais a respeito é só me chamar. Para resolver, temos duas formas de agir: A primeira é acessar o arquivo e ir acertando conforme o PowerMTA for registrando em log um erro…. dependendo do tamanho do sistema, isso pode levar um booooom tempo ;) A outra forma é simplesmente “detonando” (deletando, removendo, apagando, jogando no lixo) esse arquivo e deixando o próprio PowerMTA recriá-lo

    Arquivo disabled-sources do PMTA

    Arquivo disabled-sources do PMTA

  5. Eis que, enfim, vem o start do sistema!

    service pmtad restart SUCESSO!

    service pmtad restart SUCESSO!

Porque isso aconteceu?

É como eu disse aí em cima: o PowerMTA é um sistema que requer conhecimento para manutenção do próprio sistema, da entregabilidade, da saúde dos IPs e queues etc. Muito disso só vem com o uso, experiência, pesquisa e muita dor de cabeça. O manual do sistema é bom mas não é excelente e muitos usuários do sistema que entram em contato comigo com problemas tem pouco conhecimento nessa parte da manutenção.

Esse problema especificamente eu vejo acontecer quando o servidor foi desligado inesperadamente, quando o disco lotou e o processo do PowerMTA foi desligado pelo próprio sistema ou quando há um problema com a partição lógica ou com o disco físico. Aqui nesse caso, o disco não estava cheio mas o uptime do servidor estava abaixo de 1 hora, o que me leva a acreditar que o PowerMTA parou de funcionar por falta de espaço, o cliente tentou reiniciar o servidor, o mesmo continuou não funcionando, o cliente então viu que não havia espaço em disco disponível e fez uma limpeza emergencial (não olhei os historicos de comandos para saber mas poderia ;) ), tentou reiniciar o sistema de novo, mas não funcionou. Enfim, vou repetir: experiência é tudo quando falamos de sistemas pouco conhecidos. PowerMTA não é como um Windows, um Linux, um Postfix, um Exim ou um Sendmail (ou um Exchange :P) e também não é um sistema que não precisa de manutenção e monitoramento. Tudo precisa ser monitorado!