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
Ele irá solicitar um nome para o bot, após enviar o nome ele irá enviar o token do bot :
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
Configuração em Configuration > Actions > Create Action
Action
Conditions
Operations
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.
Conclusão
Com estas configurações receberemos notificações via Telegram caso seja necessário .