Doações

PagSeguro

PayPal

Email-Graph-ZABBIX

Em caso de dúvida, sugestão ou dificuldade junte-se a nós no Grupo do Telegram Gráfico no Email e Telegram.

Envio de alarmes no ZABBIX por Email com gráficos.

O "How to" foi testado no ZABBIX 2.4, 3.0, 3.2 e no 3.4 no Debian 8-9/Ubuntu 14-16 e CentOS 6.x e 7, caso não utilize estas distros procure os pacotes descritos para sua necessidade.

Requisitos:

0 – Estar logado com o user zabbix

Caso necessário, habilite como o comando abaixo e troque a senha:
sudo usermod -s /bin/bash zabbix ; sudo passwd zabbix

1 – Ter o POSTFIX instalado e configurado, caso não tenha, Clique aqui.

2 – Baixar os módulos MIME::Lite, WWW::Mechanize e JSON::RPC::Client.
Ex:

Debian 8-9/Ubuntu 14-16 / CentOS 6.x e 7

2.1
$ sudo cpan
2.2
 cpan[1]> install MIME::Lite WWW::Mechanize JSON::RPC::Client
2.3
 Depois “exit” para sair. 

3 – Localize a pasta de script do ZABBIX, dependendo da forma que você o instalou (compilando ou por pacote) estará em “/usr/local/share/zabbix/alertscripts/” ou “/usr/lib/zabbix/alertscripts/”, e faça o download do script “email.pl“ através do comando:

wget https://raw.githubusercontent.com/sansaoipb/Email-Graph-ZABBIX/master/email-teste.pl ; wget https://raw.githubusercontent.com/sansaoipb/Email-Graph-ZABBIX/master/email.pl

Caso queira mudar a pasta padrão, edite a linha “AlertScriptsPath=” no “zabbix_server.conf” e aponte para uma de sua preferência.

OBS:
Dê permissão de execução nos arquivos “email.pl“ e email-teste.pl, para isso entre na pasta onde o script está, execute a linha abaixo:

sudo chmod +x email*

Edite os parâmetros:

  • “my $server_ip” = 'http://127.0.0.1/zabbix' - URL de acesso ao FRONT com "http://"
  • “my $usuario” = 'Admin';
  • “my $senha” = 'zabbix';

OBS:
O usuário que você declarar no campo “my $usuario” precisa ter permissão de no mínimo leitura no ambiente.

Comando para teste

Script para realização do teste:
Script, Email.
Ex:

./email-teste.pl SeuEmail@Provedor.com 

OBS:
Caso tenha trocado o template do "Zabbix server", será necessário alterar o campo "my $itemid" (na linha 52) para um itemid válido do seu ambiente.

Configurando o envio:

Com o script adicionado no local indicado acima, precisamos realizar algumas configurações no Front do ZABBIX, no "Tipo de Mídia", (em Administração > Tipo de Mídia) e a "Ação" (em Configuração > Ações).

Tipo de Mídia

Zabbix 2.4



Zabbix 3.0 / 3.2



OBS:
Na versão 3.0, é obrigatório a utilização das macros {ALERT.SENDTO}, {ALERT.SUBJECT} e {ALERT.MESSAGE}, em caso de dúvidas, leia a Documentação Aqui.

Configurando o usuário


Criando a Ação:

A “Mensagem Padrão” na aba “Ação” está sendo executada no formato “HTML”, então você pode realizar a formatação que desejar, somente com uma “exigência”, a primeira linha deve permanecer com as macros/variáveis abaixo ilustradas (as macros/variáveis entre as "#" ), podendo editar da segunda linha em diante.

Exemplificando sobre o HTML, abaixo começou com um parágrafo, e o {HOST.HOST} coloquei em negrito.

Imagem da Mensagem na Ação:



Modelo Mensagem Padrão
{ITEM.NAME}#{EVENT.ID}#{ITEM.ID}#00C800#3600#

Foi detectado um evento no equipamento {HOST.HOST}.

OBS:
”00C800” é a cor da linha (verde) em Hex. sem tralha, e ”3600” é o período do gráfico (1h) em segundo.

Resultado:



Contribuição

Neste link você consegue criar de modelos para mensagens HTML, que foi indicado pelo amigo "Mario" @ZXRTI
Site para criação de modelos HTML

Conclusão

1 – Este script é para agilizar a análise e ficar visualmente mais agradável o recebimento dos alarmes.

2 – O script realiza uma consulta API mais ampla, detecta automaticamente se o item é de caracter/log/texto, e não envia o gráfico "sem dados" somente o texto, ele dá "ack" no evento e informa quem foi notificado naquela ação.