O slideshow foi denunciado.
Utilizamos seu perfil e dados de atividades no LinkedIn para personalizar e exibir anúncios mais relevantes. Altere suas preferências de anúncios quando desejar.

1º Meetup Zabbix Meetup do Recife: André Marques - Utilizando Telegram para fazer consulta no Zabbix

123 visualizações

Publicada em

Como utilizar o Telegram para fazer consulta no Zabbix, incluindo como enviar comandos para o Zabbix

Publicada em: Tecnologia
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

1º Meetup Zabbix Meetup do Recife: André Marques - Utilizando Telegram para fazer consulta no Zabbix

  1. 1. ZABBIX BRASILUTILIZANDO TELEGRAM PARA FAZER CONSULTA NO ZABBIX
  2. 2. ANDRÉ MARQUES  NOME: André Felipe Marques da Silva  IDADE: 22 anos  FORMAÇÃO: GRADUADO EM REDES DE COMPUTADORES  EMPRESA: Urbano Vitalino Advogados  CARGO : Analista de TI
  3. 3. DEMANDA  Sistema de monitoramento  Enviar alertas  Fazer consulta no zabbix sem a necessidade de ter que entrar nele.
  4. 4. Resultados Imagem do Grafana
  5. 5. RESULTADO IMAGENS DOS ALERTAS NO TELEGRAM
  6. 6. RESULTADO IMAGENS DAS CONSULTAS NO TELEGRAM
  7. 7. CÓDIGO from pyzabbix import ZabbixAPI import emoji from telegram.ext import Updater, CommandHandler zabbix_server = "http://IP/zabbix" username = “USER" password = “SENHA “ # Instanciando a API zapi = ZabbixAPI(server=zabbix_server) zapi.login(username, password) updater = Updater('681103130:AAFVbEaXTwECzTl6kqfv90EH4sTg1Z14HHk')
  8. 8. CÓDIGO def get_item_by_name(items, _name): for each in items: if each.get('name') == _name: return each.get('lastvalue') def temp (bot, update): items = zapi.item.get() TEMPDTC01 = get_item_by_name(items, 'Temperatura Data center Sede') TEMPDTC02 = get_item_by_name(items, 'TEMP DTC02') UMIDTC02 = get_item_by_name(items, 'UMI DTC02')
  9. 9. CÓDIGO update.message.reply_text(emoji.emojize(f'Olá {update.message.from_user.first_name}!nn:snowflake: TEMPERATURA DTC01: {TEMPDTC01} GRAUS. ')) update.message.reply_text(emoji.emojize(f' :snowflake: TEMPERATURA DTC02: {(int(float(TEMPDTC02)))} GRAUS. ')) update.message.reply_text(emoji.emojize(' :droplet: UMIDADE DTC02: {}'.format((int(float(UMIDTC02)))))) updater.dispatcher.add_handler(CommandHandler('temp', temp)) updater.start_polling() updater.idle()
  10. 10. FIM

×