[Zabbix] — Integração com o Telegram

Emerson Silva
5 min readAug 14, 2018

--

Olá pessoal,

hoje vou mostrar como integrar o Zabbix com o Telegram como ferramenta de notificação de alerta.

Zabbix é um software de monitoramento de código aberto para, sistemas operacionais, aplicativos e redes. Ele é projetado para monitorar o status de vários serviços de rede , servidores e outros hardwares de rede. O Telegram é um serviço de mensagens instantâneas baseado na nuvem. Os clientes do Telegram possuem código aberto, porém seus servidores são proprietários. O serviço também providencia APIs para desenvolvedores independentes.

Nesse tutorial foi usado o CentOS 7 e o Zabbix 3.4.12

1. Instalação da API do Telegram

Para instalação do python-pip basta executar o comando abaixo:

Para instalação da API do telegram, o pyTelegramBotAPI, execute o comando abaixo:

Os passos usamos anteriormente também funciona em Debian e derivados, basta usar os repositórios APT.

2. Criando bot no Telegram

Para a criação do bot, no campo search, busque pelo BotFather. É nele que vamos criar nosso bot.

No BotFather digite:

/start

Depois disso crie o bot

/newbot

crie um nome seguindo o modelo sugerido pelo BotFather

Por fim, será gerado seu token.

Pesquise o nome do bot criado e execute o comando /start para iniciá-lo.

Para visualizar o seu token basta seguir os exemplos abaixo.

no terminal:

curl “https://api.telegram.org/bot<BOT_TOKEN>/getUpdates"

ou

no navegador:

https://api.telegram.org/bot<BOT_TOKEN>/getUpdates

3. Criação do Script de integração

Faça o download do script através do link abaixo:

https://github.com/silvemerson/Zabbix-telegram

O script foi escrito em python. A estrutura do código é simples e atende a necessidade da integração:

#!/usr/bin/env python

import telebot,sys

BOT_TOKEN=’Seu_Token’
DESTINATION=sys.argv[1]
SUBJECT=sys.argv[2]
MESSAGE=sys.argv[3]

MESSAGE = MESSAGE.replace(‘/n’,’\n’)
tb = telebot.TeleBot(BOT_TOKEN)
tb.send_message(DESTINATION,SUBJECT + ‘\n’ + MESSAGE)

No campo BOT_TOKEN insira seu token gerado no telegram.

Coloque o script no diretório abaixo do Zabbix:

# /usr/lib/zabbix/alertscripts/

Dê permissão para executar ao script e coloque o usuário Zabbix como dono:

# chmod +x telegram.py
# chown -R zabbix telegram.py

4. Configuração de Actions e Medias type

Medias type

Primeiro vamos criar um tipo de mídia no Zabbix. Vá até Media type, em Create media type:

Defina o nome da mídia e seu tipo, no caso “Type Script”

Em Script name coloque o mesmo nome que está no diretório de script, o Zabbix vai buscar por esse nome:

Nos parâmetros do script, insira os campos abaixo:

Por fim, salve.

Actions

No Zabbix. Vá até Configurations e depois em Actions. Clique em Create Action:

Em Actions será onde iremos definir quais ações o script irá tomar ao enviar as notificações de alerta.

Siga o padrão acima:

Em Operations clique em new

Em Operation details definimos os seguintes parâmetros

Em Send to Users groups é o grupo que irá receber as notificações.

Ás configurações nesses campos podem ser feitas de acordo com as suas necessidades.

Em Recovery Operations, mantenha o mesmo padrão definido no Operations, apenas altere o campo Default subject

Essa ação é responsável por enviar o status resolvido.

Por fim, em Adminsitration, vá em Users e selecione o usuário que é ter permissão de acesso a Mídia criada para o Telegram

No campo Send To, insira o id do seu bot.

no “2. Criando bot no Telegram” tem as instruções necessárias

5. Recebendo notificação de alerta

Após todo o processo de instalação e configuração do bot, o Zabbix está apto para enviar alertas aos grupos de usuários configurados ao Telegram.

Para que seja validado que a mensagem do alerta foi enviado, basta olhar sobre o gatilho no canto direito do alerta a action, que informa que a mensagem foi enviada. Conforme imagem abaixo:

--

--

Emerson Silva
Emerson Silva

Written by Emerson Silva

Apaixonado por tecnologia, livros e café

Responses (2)