[Zabbix] — Integração com o Telegram
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:
Em seguida, basta acessar o seu Telegram, seja via smartphone ou navegador no desktop para validar chegada da mensagem
FONTE: