INTEGRAÇÃO DO ZABBIX COM TELEGRAM
1. CRIAÇÃO DO BOT TELEGRAM
1.1 Abra o Telegram, clique na lupa e busque pelo usuário @BotFather. É esse usuário que vai criar e gerenciar seus Bots.
1.2 Envie a mensagem /newbot
1.3 Digite um nome para o Bot: MeuRobô
1.4 Digite um nome para a conta do Bot, terminando com Bot: meuroboBot
1.5 Anote o token gerado 768312515:BBG-prRup9Y9GpmwwOpDfynJM1zTJxLzoH5
1.6 Para alterar a foto, envie /setuserpic
1.7 Envie uma mensagem qualquer para o Bot, buscando na lupa @meuroboBot
===================================================================================
VERIFIQUE INFORMAÇÕES DO BOT PELO BROWSER
Comando:
https://api.telegram.org/botCOLE_SEU_TOKEN_AQUI/getMe
Resposta:
{"ok":true,"result":{"id":629521235,"first_name":"MeuRobô","username":"meuroboBot"}}
Observe a mensagem de resposta e perceba o ID do Bot. Cada usuário, grupo e bot terá um ID diferente.
===================================================================================
===================================================================================
VERIFIQUE AS MENSAGENS RECEBIDAS DO BOT PELO BROWSER
Comando:
https://api.telegram.org/botCOLE_SEU_TOKEN_AQUI/getupdates
Resposta:
"message":{"message_id":7,"from":{"id":226223456,"first_name":"Alison"},"chat":
{"id":229955635,"first_name":"Alison","type":"private"},"date":1491759290,"text":"Ola Bot"}}]}
Observando a resposta, você verá o ID do usuário que enviou a mensagem, anote, pois será necessário para enviar uma mensagem de volta.
===================================================================================
===================================================================================
ENVIE MENSAGENS PELO BROWSER
No comando abaixo, cole o ID do usuário após o campo CHAT ID e a mensagem após o campo TEXTComando:
https://api.telegram.org/botCOLE_SEU_TOKEN_AQUI/sendmessage?chat_id=226223456&text=OlaMundo
Resposta:
{"ok":true,"result":{"message_id":8,"from":{"id":629521235,"first_name":"SaBaLAkU","username":"sabalakuBot"},"chat":
{"id":226223456,"first_name":"Alison","type":"private"},"date":1491759736,"text":"OlaMundo"}}
===================================================================================
2. INTERAÇÃO DO BOT COM O GRUPO
2.1 Adicione o Bot em um Grupo
2.2 Para descobrir o ID do grupo que o Bot foi inserido é necessário permitir o Bot receber mensagens do grupo, para isso DESATIVE a privacidade com o comando /setprivacy, enviando ao @BotFather.
2.3 Envie uma mensagem para o grupo a partir do seu usuário pessoal.
2.4 Verifique a mensagem recebida pelo Bot e identifique o ID do grupo começando com o sinal (-) negativo -218234567.
Comando:
https://api.telegram.org/botCOLE_SEU_TOKEN_AQUI/getupdates
Resposta:
"message":{"message_id":14,"from":{"id":226223456,"first_name":"Alison"},"chat":{"id":-218234567,"title":"Estacio
Redes","type":"group","all_members_are_administrators":true},"date":1491762045,"text":"Agora vai"}}]}
2.5 Agora envie uma mensagem pelo BROWSER do BOT para GRUPO utilizando o ID do GRUPO
Comando:
https://api.telegram.org/botCOLE_SEU_TOKEN_AQUI/sendmessage?chat_id=-218234567&text=OlaGrupo
3. SCRIPT PYTHON PARA COLETAR 03 ARGUMENTOS E ENVIAR MENSAGENS À UM GRUPO
No terminal execute os comandos:
#apt-get install python-pip //Instala o PIP
#pip install telebot //Faz download e instala a biblioteca telebot. Existe pip, pip2 e pip3. O pip3 é pra o interpretador
// Python3.
#nano BotTelegram.py //Crie seu script Python com as linhas abaixo
===================================================================================
#!/usr/bin/env python
import telebot,sys
ARG1=sys.argv[1]
ARG2=sys.argv[2]
ARG3=sys.argv[3]
bot = telebot.TeleBot('Butei Pra Fuder')
bot.config['api_key'] = ('COLE_SEU_TOKEN_AQUI')
bot.send_message(COLE_O_ID_GRUPO,ARG1 + '\n' + ARG2 + '\n' + ARG3)
===================================================================================
#chmod +x BotTelegram.py //Dando permissão de execução
#./BotTelegram.py Testando Envio Mensagem //Teste de envio da mensagem com 03 argumentos
4. INTEGRAÇÃO COM O ZABBIX
4.1 Coloque o Script no local indicado na linha AlertScriptsPath= do arquivo /etc/zabbix/zabbix_server.conf
#cat /etc/zabbix/zabbix_server.conf | grep “AlertScriptsPath=”
4.2 Na aplicação Zabbix crie um Tipo de Mídia e adicione a um Usuário, bem como ative o Zabbix para disparar a Ação de envio das mídias criadas.
4.2.1 Tipo de Mídia
Vá em Adminstration → Media types → Create media type.
• Name: BotTelegram.py
• Type: Script
• Script name: BotTelegram.py
Se estiver usando Zabbix 3.0.1. Esses serão os 03 Argumentos(Parâmetros) passados ao Script Python.
• Script Parameters
• {ALERT.SENDTO}
• {ALERT.SUBJECT}
• {ALERT.MESSAGE}
4.2.2 Adicionar o Tipo de Mídia a um Usuário
Vá em Adminstration → Usuários
• Clique no Usuário Admin → Mídia → Adicionar
• Escolha: BotTelegram.py
• No campo “Enviar para” é o Argumento 1(Parâmetro {ALERT.SENDTO} do item anterior). Se você tiver
vários servidores Zabbix, sugiro colocar o nome do servidor, pra você saber de qual servidor a
mensagem partiu. Caso tenha só 01 servidor, elimine esse parâmetro do Zabbix e do Script pra ficar
mais organizado.
• Clique em Atualizar para criar o registro e voltar pra tela anterior.
• Clique nesse outro Atualizar para efetivamente adicionar a mídia ao usuário.
4.2.3 Ação
Vá em Configuration → Actions observe o Status Inativo da ação Report problems to Zabbix adminitrators.
•Clique em Inativo para Ativar
Caso queria enxugar a mensagem enviada ao Telegram:
•Clique na ação Report problems to Zabbix adminitrators → Operações e altere o campo Mensagem Padrão
REFERÊNCIAS
https://jorgepretel.com.br/category/zabbix/
https://github.com/GabrielRF/Zabbix-Telegram-Notification#telegram
Nenhum comentário:
Postar um comentário