1 de maio de 2013

Configurando o SendEmail para utilização no envio de alertas no Zabbix com uma conta do gmail


Instalação e configuração do SendEmail para envio de alertas no ZABBIX

Passo 1

Vamos criar um diretório no /etc/zabbix/download/SendEmail. Lembrando que os diretórios zabbix/download/ já foram criados no tutorial anterior.

mkdir /etc/zabbix/download/install
cd /install/
mkdir SendEmail
cd SendEmail

Passo 2

Vamos baixar o arquivo de intalação do SendEmail

wget http://caspian.dotconf.net/menu/Software/SendEmail/sendEmail-v1.56.tar.gz

Passo 3

Precisamos descompacta-lo

tar xzf sendEmail-v1.56.tar.gz

Passo 4

Vamos movê-lo para o /usr/bin onde ficam os binários necessários para o funcionamento normal do sistema, em qualquer nível de execução.

mv sendEmail-*/sendEmail /usr/bin/

Passo 5

Agora, criamos utilizaremos o diretório scripts (criado no tutorial anterior) para criar o script que será utilizado no Zabbix

pico /etc/zabbix/scripts/zabbix_sendemail.sh

Passo 6

Como no nosso lab estou utilizando a minha conta do gmail, faremos o script tendo o gmail como base

========================================================================
# !/bin/bash

export smtpemailfrom=user@gmail.com
export zabbixemailto=$1
export zabbixsubject=$2
export zabbixbody=$3
export smtpserver=smtp.gmail.com
export smtplogin=user@gmail.com
export smtppass=sua_senha
export smtpauth=tls=yes

/usr/bin/sendEmail -f $smtpemailfrom -t $zabbixemailto -u $zabbixsubject -m $zabbixbody -s $smtpserver:587 -xu $smtplogin -xp $smtppass

========================================================================

Passo 7

Execute o script abaixo para testar se o script está correto

./zabbix_sendemail.sh clebercbs@gmail.com -m "Script funcionando"

Você receberá o seguinte erro

"invalid SSL_version specified at /usr/share/perl5/IO/Socket/SSL.pm line 332"

Passo 8

Segue a solução adotada por mim para solucionar este problema

Editei o arquivo SendEmail

pico /usr/bin/sendEmail

Modifiquei esta linha de:

if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'SSLv3 TLSv1')) {

Para

if (! IO::Socket::SSL->start_SSL($SERVER, SSL_version => 'SSLv3')) {

Passo 8

Agora vamos refazer o mesmo teste

./zabbix_sendemail.sh clebercbs@gmail.com -m "Script funcionando"

May 01 17:46:32 debian sendEmail[5725]: Email was sent successfully!


Pronto, é isso ai.

No próximo tutorial e/ou vídeo-aula, vamos aprender a como criar um host, mapa ações no zabbix.

4 comentários:

Cleber, boa noite. Parabéns pelo artigo.

Quais configurações devo fazer no zabbix.conf para que os alertas sejam enviados?

Configurei o sendmail, criei a midia, apontei para o script. No dashboard ele diz que foi enviado mas o email nunca chega. E na linha de comando o email é enviado. Grato

Cleber Boa tarde

Também estou com problemas para receber os emails, realizei toda a configuração inclusive adicionei o AlertScriptsPath na configuração do server apontando para a pasta /etc/zabbix/scripts.
Consigo enviar email pelo console atraves do comando, mas pelo Zabbix o email não chega, verifiquei em Audit->Actions e as mensagens aparecem que estão sendo enviadas inclusive com o status "sent"

Obrigado!

Boa tarde, tenho o mesmo problema do amigo Thiago Sousa, tudo mostra que o email foi enviado com sucesso mais nada chega na caixa de entrada, ja estou ficando careca de tanto revisar configuraçções e logs, podem ajudar?

Postar um comentário

Twitter Delicious Facebook Digg Stumbleupon Favorites More