Instalação do Zabbix 5 + notificações pelo Telegram nativo + Grafana 7 + Debian 10 Buster

Aqui está o nosso kit de primeiros socorros! 😀

O Zabbix é uma solução de nível enterprise, de código aberto. O Zabbix é um software que monitora vários parâmetros da rede, dos servidores e da saúde dos serviços. Utiliza-se de um mecanismo flexível de notificação que permite configurar alertas por e-mail entre outros como Telegram, para praticamente qualquer evento. As notificações permitem que se reaja rapidamente à problemas no ambiente. O Zabbix oferece excelentes recursos de relatórios e visualização de dados armazenados. Isso faz com que o Zabbix seja a ferramenta ideal para planejamento de capacidade.

O Grafana é um software livre que permite a visualização de formato de dados métricos. Ele permite criar painéis e gráficos a partir de várias fontes, mas aqui iremos vamos aprender a integra-lo com o Zabbix.

Requisitos:
* Debian 10 (Buster) -> Instalação Limpa
* Passo-a-passo como criar um servidor WEB Apache + PHP + MariaDB + phpMyAdmin no Debian 10 Buster “LAMP” (Opcional phpMyAdmin)

Zabbix

Para instalação do Zabbix vamos incluir o repositório do oficial do Zabbix.

Atualize o repositório e realize a instalação

Vamos criar uma base de dados chamada zabbix e um usuário também chamado de zabbix no MariaDB.
Não esqueça de alterar a senha: Use o gerador de senha: https://senhasegura.remontti.com.br/

Senha

Importe o esquema de tabelas e dados padrões. (Demora um pouco!)

Digite a senha de seu usuário zabbix criada no passo anterior para importar as tabelas.

Edite o arquivo zabbix_server.conf para informar os dados para conexão com o MySQL.

Procure por # DBPassword= descomente e sete sua senha.

Ajuste o timezone pela sua região.

Este é modelo padrão, altere então para sua região, também irei alterar alguns valores padrões se quiser pode remover as conf do mod_php5.c

Se você quiser um modelo para acessa-lo por ex: zabbix.remontti.com.br, vou deixar um em seguida como proceder, bem como fechar o acesso apenas a determinado IP ou bloco.

Caso você queira o modelo acima então mova o /etc/zabbix/apache.conf para /etc/zabbix/apache.conf.old. Faça uma apontamento em seu DNS do subdomínio zabbix para o IP do seu servidor. Agora crie um novo arquivo:

Altere em Require ip para os ips que terão acesso.

Ative a o serviço junto com a inicialização do sistema, e restarte os mesmos.

Acesse em seu navegador http://seu_ip/zabbix ou http://zabbix.seudominio.com.br

Next Step

Se tudo estiver ok: Next step

Informe a senha do banco de dados criada anteriormente para o zabbix, e clique em Next step.

Next step

Next step

Finish

Entre com Usuário Admin e senha zabbix

Ualaaa 🙂

Para dexa-lo em Português / Tema escuro:

Alertas no Telegram

No Zabbix 5 temos o Telegram/Webhook, então bora aprender mexer nisso! Mas antes de mais nada será necessário criarmos um bot no Telegram.

Criando Bot no telegram

Abra o Telegram e procure por @BotFather.
Inicie a conversa com ele.

– Digite o comando /newbot para iniciar a criação de um novo bot.
– Após o comando você vai dar um nome para seu bot. Ex.: “Bot Legal RR”.
– Em seguida é necessário digitar o nome de usuário para o bot, sendo obrigatório terminar com bot. Ex.: “legallrr_bot”.
– Ao finalizar você receber informações com seu TOKEN, que vamos utilizar em seguida.

Neste exemplo nosso token para acessar a API HTTP ficou:
757396508:AAHpaoyVN-95maOCax1vDPDQBnSaZd9P5r0

Agora que o token abra o menu Administração –> Tipos de mídias

Localize o Telegram e clique nele

Edite o ParseMode para HTML e Token para o token q você acabou de criar. Marque Process tags.

Neste momento que escrevo na própria descrição da mídia telegram ele recomenda você add o bot @myidbot para descobrir o seu ID, mas parace que este bot está “dormindo”. Vamos ao metodos tradicional. Você pode receber notificações direta do seu bot ou então adiciono-lo em um grupo.

Procure pelo seu bot e comece uma conversa com ele e envie uma mensagem de teste para o mesmo, pois vamos precisar descobrir o ID do seu usuário, para que ele possa lhe enviar as mensagens.

Abra em seu seu navegador a seguinte URL https://api.telegram.org/botTOKEN/getUpdates para descobrir o ID do usuário que enviou a mensagem ou de um grupo.
Ex.: https://api.telegram.org/bot757396508:AAHpaoyVN-95maOCax1vDPDQBnSaZd9P5r0/getUpdates

:: Chat privado ::

ID do chat privado: 999999999

Se desejar criar um grupo também, basta adicionar seu bot a ele, após adiciona-lo envia uma mensagem como /teste para que possamos coletar o ID do grupo.

:: Chat em Grupo ::

ID do chat grupo: -88888888888

Atenção para os grupos que sempre tem um sinal “-” na frente do ID.

Com o ID do grupo/usuário precisamos vincular ao usuário do Zabbix (Neste caso Admin)
AdministraçãoUsuários Clique no usuário Admin

Com as opções do usuário aberto clique na aba Mídia em seguita clique no Adicionar, selecione o Tipo Telegram e insira o em Enviar para o ID.

Atualize

Agora vamos criar a ação que fará o envios dos alertas.
ConfiguraçõesAçõesCriar ação

De um nome para sua ação
Em Condição clique em adicionar: Selecione Incidente suprimido e marque Não

Na aba Operações primeiro item Operações clique em adicionar

Enviar para usuário: Selecione o Admin
Enviar apenas para: Telegram
Marque Custom message, preencha com:
Assunto:

Mensagem

No item Operações de recuperação faremos praticamente o mesmo:

Assunto:

Mensagem padrão

No item Operações de atualização
Assunto:

Mensagem padrão

Operações configurada, clique em atualizar.

Pronto! Agora precisamos gerar um incidente para ver se nosso alerta será enviado para o Telegram.

O sistema de envio de mensagem está concluído! 🙂

Grafana 7

Pacotes necessários:

Vamos baixar a key do repositório e adiciona-lo

Atualize o repositório e instale o grafana

Antes de iniciar o grafana, se deseja alterar a porta padrão 3000 (recomendo) edite:

Localize http_port e defina a porta de sua escolha.

Exemplo:

Já instalamos também o plugin Zabbix com ferramenta grafana-cli:

É recomendado que mensalmente você faça atualizações dos plugins instalados, com o comando:

Agora sim colocamos o Grafana para iniciar junto com a inicialização, ativamos e inicializamos o serviço:

Acesse em seu navegador http://IP_URL:3000 ou pela porta que você alterou. O nome de usuário padrão é admin e a senha padrão é admin.

Ao fazer login pela primeira vez, você será solicitado a alterar sua senha.

Uhull 🙂

Integração do grafana com o Zabbix

Acesse o Configuration –> Plugins:

Localize o Zabbix e clique no mesmo

Agora ative clicando em Enable.

Volte em Configuration –> Data Sources

Clique em Add data source.

Uma nova tela com varias fontes, localize Zabbix e clique em Select

Nas opções HTTP em URL informe o endereço do seu servidor Zabbix http://IP_URL/zabbix/api_jsonrpc.php. Em Access selecione Browser. Em Zabbix API details informe seu usuário e senha do Zabbix e selecione a versão correspondente.

Role até o final e e clique em Save & Test Se tudo ocorreu bem uma altera positivo com“Zabbix API version: 5.x.x” aparecerá.

Você pode também pode fazer uma conexão MySQL (MariaDB) com o banco de dados do zabbix, para tornar as coisas mais rápidas. Para isso basta “Add data source” pesquisar por mysql, e informar os dados de conexões, provavelmente seu grafana esteja junto com seu zabbix, então basta informa nome do banco, usuário e senha.

Vá para as configurações do data source do zabbix, localize Direct DB Connection, ative-o e selecione MySQL.

Agora vem a parte mais “chata/legal” que é você montar seus gráficos, como isso é algo bem peculiar de cada um, o intuito aqui era ensinar instalar. Recomendo a leitura de Introdução ao Grafana-Zabbix do autor do plugin.

Simples né? Gostou e quer me ajudar? 🙂

Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!

Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato clique aqui.

Abraço!

Fontes:
https://www.zabbix.com/download
https://www.zabbix.com/documentation/
https://grafana.com/docs/grafana/latest/installation/debian/
https://grafana.com/grafana/plugins/alexanderzobnin-zabbix-app
https://alexanderzobnin.github.io/grafana-zabbix/configuration/
https://core.telegram.org/bots

Rudimar Remontti

Trabalho atualmente como Gerente de Redes em um Provedor de Internet no Rio Grande do Sul.

Você pode gostar...

5 Resultados

  1. Ronaldo Pedrosa disse:

    Parabéns pelo material muito bem explicado…

    Uma duvida depois que finalizado precisa instalar algum pacote de MIBs no Servidor Zabbix ?

  2. Diego disse:

    Acompanho o site a muito tempo, parabéns e muito obrigado por compartilhar conhecimento.

  3. Alisson disse:

    Seria legal um tutorial, com instalação com banco de dados separado do zabbix

  4. Roberto disse:

    muito bom seu tutorial!!

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *