Pular para o conteúdo principal

Configurando alertas de E-mail no Zabbix com CentOS, Postfix e Gmail

Configurando alertas de E-mail no Zabbix com CentOS, Postfix e Gmail

Essa semana precisei configurar o Zabbix para enviar alertas de e-mail, usando uma conta do Gmail, com o CentOS e o Postfix. Como é incomum encontrar material com esse ambiente, decidi fazer o post. Para facilitar, estarei dividindo o procedimento em duas etapas.
OBS.: Os e-mails que estão ao longo do post foram utilizados para meus testes, então vocês devem mudá-los, caso contrário, não terão como saber se os testes funcionara.

ETAPA 1 – CONFIGURANDO O POSTFIX

Ambiente: Centos 6.4, Zabbix 2.0.6, usando Postfix e Gmail como servidor smtp, para o envio das mensagens.
Com o CentOS e o Zabbix devidamente 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 um backup do arquivo de configuração:
# cd /etc/postfix/
# mv main.cf main.cf.old
Crie um novo arquivo de configuração do Postfix:
# vi main.cf
Coloque o seguinte conteúdo:
#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
“zabbixtestemail@gmail.com:Senha” – É o e-mail e a senha que o postfix usará para enviar os e-mails, afinal quem manda e-mail, manda de alguma conta devidamente cadastrada, neste caso, no Gmail.
Em seguida rodamos o comando postmap no arquivo sasl_passwd e o main.cf, para que eles possam ser reconhecidos pelo Postfix.
# postmap 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 pelo shell. Faça um teste:
# echo ‘Teste.’ | mutt -s ‘Teste de envio pelo shell’ prbamartelott@gmail.com
“prbamartelott@gmail.com” – É o e-mail que receberá o teste. (Ao seguir as etapas, não esqueça de colocar seu e-mail, senão ficarei recebendo os alertas :p)
Veja a caixa de entrada do seu e-mail, ou, o aquivo /var/log/maillog. Vou dar um exemplo de como deve estar, através da saída na minha máquina de teste (perceba o que está em negrito):
# 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.

ETAPA 2 – CONFIGURANDO O ZABBIX

Acesse a interface web do Zabbix, “logue” 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. Veja a imagem:
mail00
Para testar se o Zabbix enviará os alertas via e-mail é só criar uma Action e induzir o alerta. Se não funcionar, releia com atenção todo post, conferindo as configurações, pois ele foi devidamente testado no ambiente descrito no início, ou escreva um comentário. Se deu certo, bom trabalho!
Usei como referência para algumas configurações do Postfix, este tutorial:
http://tutoriaisgnulinux.com/?p=7856
Críticas, sugestões, elogios são muito bem vindos.
Abraços.

Comentários

Postagens mais visitadas deste blog

Tutorial: Consultas LDAP no Active Directory

Hoje será mostrado como fazer Consultas Salvas (Saved queries) e alguns exemplos: 1. No Active Directory Users and Computers, click com o botão direito no item Saved Queries e selecione New e depois Query. 2. Digite o nome para a Query, por exemplo: “Usuários Ativos” e coloque uma descrição e depois clic em Define Query. 3. Na drop-down box Find selecione Custom Search e então click em Advanced tab. 4. Digite uma das Queries e execute. Consultas de Usuarios Usuarios sem grupo (apenas domain users): (&(objectCategory=user)(objectClass=user)(!memberOf=*)) Usuarios sem e-mail (objectcategory=person)(!mail=*) Usuarios com e-mail (objectcategory=person)(mail=*) Usuarios que nunca fizeram logon no dominio (&(&(objectCategory=person)(objectClass=user))(|(lastLogon=0)(!(lastLogon=*)))) Usuários Criados depois de 09/10/2011 (objectCategory=user)(whenCreated>=20111009000000.0Z) Obs: troque o data por uma data da sua necessidade Usuários que precisam mudar a sen...

Usando o CIFS para mapear diretórios Windows no Linux

Usando o CIFS para mapear diretórios Windows no Linux Se você utiliza o samba e está tendo problemas com mapeamentos, não possui Samba no seu servidor Linux ou precisa acessar de forma rápida um diretório Windows pelo Linux, passe a usar o CIFS. Com ele, caso o servidor mapeado sofra um shutdown (Linux mapeando Windows), automaticamente ao se re-estabelecer a conexão com o Servidor, o mapeamento sobe. Neste post estarei tratando a situação onde temos um servidor Linux e desejamos através dele efetuar leituras ou gravações em diretórios no Windows. No Windows Estou adotando como exemplo o servidor com IP 192.168.0.1, dominio TESTE, usuário Administrador e senha 123!456. O objetivo é mapear o diretório D:\Teste no Linux. Então, pelo windows, compartilhe este diretório. No Linux# cd /mnt # mkdir teste # mount –t cifs //192.168.0.1/teste /mnt/teste –o user=Administrador,password=’123!456’,domain=TESTE Pronto!!! Agora você pode compartilhar seus arquivos entre o...

Erro MYSQL Cloud (Google, AWS, Digital Ocean) - Resolvido

Atualmente executando um servidor nginx com o wordpress, recebo um erro no banco de dados após alguns minutos de execução. Ao executar o comando para verificar os logs: # tail -f /var/log/mysqld.log a saída do comando é : 2019-09-12 19:11:24 25864 [Note] Plugin 'FEDERATED' is disabled. 2019-09-12 19:11:24 25864 [Note] InnoDB: Using atomics to ref count buffer pool pages 2019-09-12 19:11:24 25864 [Note] InnoDB: The InnoDB memory heap is disabled 2019-09-12 19:11:24 25864 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins 2019-09-12 19:11:24 25864 [Note] InnoDB: Memory barrier is not used 2019-09-12 19:11:24 25864 [Note] InnoDB: Compressed tables use zlib 1.2.11 2019-09-12 19:11:24 25864 [Note] InnoDB: Using Linux native AIO 2019-09-12 19:11:24 25864 [Note] InnoDB: Using CPU crc32 instructions 2019-09-12 19:11:24 25864 [Note] InnoDB: Initializing buffer pool, size = 128.0M InnoDB: mmap(137363456 bytes) failed; errno 12 2019-09-12 19:11:2...