Enviando alertas de e-mail pelo Zabbix usando Gmail, CentOS e Postfix
Dica publicada em Linux / Introdução
Enviando alertas de e-mail pelo Zabbix usando Gmail, CentOS e Postfix
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:
# 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:
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
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
Acesse a interface web do Zabbix:
Faça o "login" e clique em: Administration → Media Types → Email
Em seguida, configure da seguinte forma:
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!
Esta dica também está disponível em:
Críticas, sugestões e elogios, serão bem-vindos.
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
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)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.
Jun 1 18:01:30 zabbix-server postfix/qmgr[3292]: D902C41349: removed
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.
Sou nova com o linux e queria tirar uma dúvida sobre este tutorial...
Estou testando o Zabbix no Debian 7 Wheezy, e estou tentando fazer a instalação de um serviço smtp autenticado para o envio de emails de alerta, porém não consegui fazer a instalação do cyrus, pois está dando a mensagem:
"E: Impossível encontrar o pacote cyrus-sasl
E: Impossível encontrar o pacote cyrus-sasl-devel
E: Impossível encontrar o pacote cyrus-sasl-gssapi
E: Impossível encontrar o pacote cyrus-sasl-md5
E: Impossível encontrar o pacote cyrus-sasl-plain".
Sei que essa instalação a princípio foi direcionada para o CentOS, mas mesmo assim resolvi testar no Debian.
A minha dúvida é se esse mesmo tutorial (ou versão do postifix e suas dependências) são compatíveis com a versão do Debian que estou usando.
Desde já agradeço e parabenizo o site (e colaboradores) pelos excelentes conteúdos. É uma ótima fonte de informações, principalmente pra quem está começando!
Abs!