Como enviar alertas do Zabbix para canal do Telegram

Olá, seus monitoradores de coisas! Bom hoje vamos entender que não adianta apenas MONITORAR, temos que avisar algum ser humano do que está acontecendo. E por isso hoje vamos ver Como enviar alertas do Zabbix para canal do Telegram! (Possivelmente será a coisa que vai retirar suas noites de sono 😂)

Antes ainda de começar a escrever belas palavras, queria dizer que no YouTube temos uma Playlist somente de monitoramento, se liga:

Criando um Bot no Telegram

Bom, a primeira coisa que precisamos fazer é criar um Bot no Telegram para que o Zabbix consiga enviar os alertas para ele, e o bot entregará para uma pessoa ou para um grupo.

Para isso precisamos achar o BotFather, na barra de busca do próprio Telegram, veja:

Achando o BotFather para criar o Bot

Fazendo isso precisamos digitar /newbot para entrar no modo de criação do bot, damos um nome ao bot e definimos um, veja abaixo:

Lembrando que o vídeo completo está no YouTube! Um coisa importante do vídeo acima é você guardar a chave API que o BotFather vai te devolver! Vamos usa-la na configuração do Zabbix.

Bom agora que temos o bot criado basta criar um grupo no Telegram, colocar você, o Bot e mais as pessoas que precisam receber essa notificações.

Após isso vamos usar a essa URL para pegar o ID do grupo que também vamos precisar para configurar no Zabbix.
Use essa URL, https://api.telegram.org/bot{token}/getUpdates e no lugar do token cole as informações que o BotFather te entregou, e você vai cair em uma tela assim:

Request para pegar infomações do Grupo do Telegram

Você vai precisar do ID que vai possivelmente estar com o sinal de menos na frente, nesse caso o -416174700.

Configurando um “Media Type” no Zabbix

Bom, agora que já temos nosso grupo criado e os ids necessários, vamos para as configurações do Zabbix. A primeira coisa que temos que fazer é criar um Média Type:

Criando um Media Type no Zabbix

Aqui já temos um tipo de Mídia específica do Zabbix, então vamos usa-lo como padrão! Basicamente vamos mudar três parâmetros:

O ParseMode será como o Zabbix vai interpretar o código que ele enviará para o Telegram, aqui podemos colocar HTML, Markdown e JSON! Aqui escolhemos HTML.

O Token são as informações que o nosso BotFather nos enviou lá na criação do “PantuchatoBot”, no meu caso “5438770299:AAFdHgLFE5OP41v253BVZMoysWsAs2mhbkA”. Obs: O SEU SERÁ DIFERENTE!

Configurando o Usuário para receber alertas

Bom, agora que já temos um tipo de mídia criado, vamos configurar o usuário admin com essa mídia, assim nosso Zabbix será capaz de enviar alertas, veja:

Clicando no usuário Admin, vamos dentro da Opção Media e vamos adicionar o Telegram, veja:

Aqui usamos a opção Type para selecionar que vamos usar o Telegram enviar essas informações, o campo Send To será preenchido com informações do Grupo do Telegram, que você pegou na chamada para a API do Telegram! Após editar essas informações você pode também alterar os dias e horários que você será notificado bem como quais tipos de severidades vão ser consideradas para enviar esse alerta.

Criando Actions no Zabbix!

Bom acredito que a parte mais importe que que temos que criar são as actions, que vão definir quando um alerta é enviado ou não. Para isso já no Menu de configurações, Actions:

Agora, dentro de Telegram vamos criar uma action com o nome Telegram Action e dentro dela vamos adicionar uma condição que, qualquer problema maior ou igual a “informação” deve ser alertado, veja:

Agora precisamos definir as operações! A primeira que vamos configurar são os problemas que podem acontecer na sua Infraestrutura. Precisamos Especificar o usuário que enviamos o texto, por onde enviaremos, qual o titulo e qual a mensagem que vamos enviar, veja:

Vamos fazer a mesma coisa para operação de Recovery:

Para facilitar, tenho o texto aqui para você:

TEXTO PARA PROBLEMA:

❌ Problema: <b>{HOST.NAME}</b>
{EVENT.NAME}
<b>{ITEM.NAME1}</b> <i>{ITEM.VALUE1}</i>
 
<a href="{HOST.IP}">{HOST.IP}</a>
<i>{EVENT.SEVERITY}</i>


TEXTO PARA RECOVERY:
✅ Resolvido: <b>{HOST.NAME}</b>
{EVENT.NAME}
<b>{ITEM.NAME1}</b> <i>{ITEM.VALUE1}</i>
 
<a href="{HOST.IP}">{HOST.IP}</a>
<i>{EVENT.SEVERITY}</i>

Pronto, agora ao salvar, qualquer coisa que acontecer na nossa Infraestrutura será alertada. Aqui eu parei um Zabbix Agent para testar e veja o que aconteceu:

Fui alertado pelo meu Zabbix do problema, e ao dar o start no Agent, obtive o seguinte alerta de recovery dizendo que o problema foi “resolvido”:

Bom pessoal, para finalizar, espero que você tenha entendido Como enviar alertas do Zabbix para canal do Telegram!

Deixe um comentário

O seu endereço de e-mail não será publicado.