Zabbix : Telegram Alerts

Neste post será apresentado como configurar o envio de mensagens do Zabbix pelo Telegram .

O envio é realizado através do script do GabrielRF ,

https://github.com/GabrielRF/Zabbix-Telegram-Notification#telegram

1) Requisitos :

Adicionando repositório extra

rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

Instalando os pacotes necessários

yum install python python-pip git -y 

Instalação de extensões

pip install pyTelegramBotAPI pyopenssl ndg-httpsclient pyasn1

2) Instalação do script do Telegram :

Instalação do script

git clone https://github.com/eternnoir/pyTelegramBotAPI.git
cd pyTelegramBotAPI
python setup.py install

Chame o @BotFather no Telegram e envie a mensagem /newbot

faj-telegram1

Ele irá solicitar um nome para o bot, após enviar o nome ele irá enviar o token do bot :

faj-telegram2

Crie o arquivo com o token criado em /opt/zabbix/telegram.py :

#!/usr/bin/env python

import telebot,sys

BOT_TOKEN='COLOQUE SEU TOKEN AQUI'
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)

Dê permissão :

chown -R zabbix.zabbix /opt/zabbix
chmod +x /opt/zabbix/telegram.py

Para validarmos a instalação execute o SCRIPT ID SUBJECT MESSAGE

python telegram.py 11111111 teste teste

3) Configuração do Zabbix :

Edite o arquivo zabbix_server.conf

vim /etc/zabbix/zabbix_server.conf

AlertScriptsPath=/opt/zabbix

Restart o serviço

service zabbix_server restart

No frontend vá em Administration > Media Types

faj-telegram3

Configuração em Configuration > Actions > Create Action

Action

faj-telegram4

Conditions

faj-telegram5

Operations

faj-telegram6

No celular envie mensagem para o seu bot criado e acompanhe a atualização na url com bot junto do token criado

https://api.telegram.org/botTOKEN/getUpdates

No link pegaremos o id de usuário na url

{"ok":true,"result":[{"update_id":555555555,
"message":{"message_id":1,"from":{"id":1111111,"first_name":"FAJLINUX"},

No frontend clique em Administration > Users e ao selecionar ou criar o usuário clique em Media
configurando de acordo com a imagem abaixo colocando no Send To o id do usuário, no meu caso exemplo é o 1111111.

faj-telegram7

Conclusão

Com estas configurações receberemos notificações via Telegram caso seja necessário .