Esta dica mostra como configurar o
Postfix e o
Zabbix no
CentOS, para enviar alertas de e-mail, usando
uma conta do
Gmail.
Esta semana, precisei configurar o Zabbix para enviar alertas de e-mail usando uma conta do Gmail. Como é incomum encontrar material
descrevendo esse processo, que envolve a configuração do Postfix no CentOS, decidi fazer esta dica.
Para facilitar, dividi o procedimento em duas etapas.
Obs.: os e-mails que estão ao longo da dica, usei para os testes que fiz, então, fiquem atentos para alterá-los, caso contrário, não saberão se as
configurações funcionarão.
Resumo do ambiente:
- CentOS 6.4;
- Zabbix 2.0.6, usando Postfix;
- Gmail como servidor SMTP, para o envio das mensagens.
1ª Etapa: configurar o Postfix
Com o CentOS e o Zabbix devidamente instalados e configurados, instale o Postfix e as dependências necessárias:
# yum install cyrus-sasl cyrus-sasl-devel cyrus-sasl-gssapi cyrus-sasl-md5 cyrus-sasl-plain mutt postfix
Em seguida, entre no diretório de configuração do Postfix, faça o backup do arquivo de configuração:
# cd /etc/postfix/
# mv main.cf main.cf.old
Crie um novo arquivo de configuração para Postfix:
# vi main.cf
Nele, coloque somente as seguintes linhas:
#SMTP relayhost
relayhost = [smtp.gmail.com]:587
# TLS Settings
smtp_tls_loglevel = 1
smtp_use_tls = yes
smtpd_tls_received_header = yes
# TLS
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
smtp_sasl_security_options = noanonymous
smtp_sasl_tls_security_options = noanonymous
Crie o arquivo "sasl_passwd", contendo o servidor SMTP do Google e a conta que será utilizada para envio dos e-mails.
Dessa forma:
# vi sasl_passwd
[smtp.gmail.com]:587 zabbixtestemail@gmail.com:Senha
A conta "zabbixtestemail@gmail.com", eu criei exclusivamente para ser utilizado pelo Postfix, que o Zabbix estará utilizando. Vocês verão como
na próxima etapa.
Já em "Senha", coloque a senha da conta do Gmail que você escolheu para enviar os e-mails.
Em seguida, rodamos o comando "postmap" no arquivo "sasl_passwd" e no "main.cf", para que eles possam ser reconhecidos e utilizados pelo
Postfix:
# postmap /etc/postfix/sasl_passwd; postmap /etc/postfix/main.cf
Reinicie o serviço do Postfix:
# service postfix restart
Pronto, agora você está com tudo certo para enviar e-mails através do shell. Faça um teste:
# echo 'Teste.' | mutt -s 'Teste de envio pelo shell' seu_email@gmail.com
O e-mail "seu_email@gmail.com", é o que receberá o teste. Ou seja, o e-mail será enviado de "zabbixtestemail@gmail", para
"seu_email@gmail.com". Então, ao seguir as etapas, não esqueça de colocar seu e-mail.
Cheque a caixa de entrada do seu e-mail, ou o aquivo de log "
/var/log/maillog". Vou dar um exemplo de como deve estar, através
da saída do arquivo "
/var/log/maillog" da minha máquina de teste (perceba onde tem "status=sent"):
# tail -f /var/log/maillog
Jun 1 18:01:29 zabbix-server postfix/smtp[3304]: D902C41349: to=<prbamartelott@gmail.com>,
relay=smtp.gmail.com[74.125.134.108]:587, delay=7.8, delays=2/0.14/3.6/2, dsn=2.0.0, status=sent (250 2.0.0 OK 1370120491
y24sm78365951yhn.20 - gsmtp)
Jun 1 18:01:30 zabbix-server postfix/qmgr[3292]: D902C41349: removed
Se em "status" estiver "status=sent", o e-mail foi enviado com sucesso e acabam aqui as configurações necessárias para enviar seus e-mail
através Postfix, usando o Gmail.
2ª Etapa: Configurando o Zabbix
Agora veja como configurar o Zabbix, através de sua interface/front-end, para que ele envie alertas de e-mails, usando o servidor SMTP do
Google, através do Postfix que acabamos de configurar.
Acesse a interface web do Zabbix:
- http://ip_do_servidor/zabbix
Faça o "login" e clique em: Administration → Media Types → Email
Em seguida, configure da seguinte forma:
- Type :: Email
- SMTP server :: IP da máquina que foi configurado o Postfix
- SMTP helo :: smtp.gmail.com
- SMTP email :: zabbixtestemail@gmail.com (lembre de trocar)
- Enabled :: Deixe Habilitado (default)
Clique em: "Save"
Para facilitar os passos acima, veja a imagem:
Para testar se o Zabbix enviará os alertas via e-mail, é só criar uma Action e induzir o alerta, ativando uma trigger qualquer, por exemplo.
Se não funcionar, releia com atenção toda dica, conferindo as configurações, pois ele foi devidamente testado no ambiente descrito no início, ou
tire sua dúvida através dos comentários. Se deu certo, bom trabalho!
Referência
Usei parte da configuração do Postfix descrita nesse tutorial:
Esta dica também está disponível em:
Críticas, sugestões e elogios, serão bem-vindos.