sexta-feira, 14 de abril de 2017

Zabbix envia alertas pelo BotTelegram para um Grupo

                     
Resultado de imagem para Zabbix



Resultado de imagem para telegram


                                                         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 TEXT

Comando:
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: