Notificações Zabbix pelo Telegram.

Neste artigo vamos abordar uma configuração muito útil, a utilização do monitoramento de mensagens da ferramenta Zabbix através do Telegram. Com esta configuração você será capaz de personalizar suas mensagens e visualiza-las a partir de seu aplicativo de mensagens, otimizando assim o tempo de respostas para incidentes.

CONSIDERAÇÕES

Vamos levar em consideração que você já possua um ambiente com o Zabbix instalado e rodando normalmente. Caso queria aprender como instalar a ferramenta Zabbix no Linux, confira o artigo “Instalando Servidor Zabbix”. Também é necessário que você seja capaz de criar um bot pelo aplicativo Telegram. Caso queira aprender como criar um bot, confira nosso artigo “Configurando Telegram Bot”. Para este artigo estamos utilizando a distribuição Debian 8.8., mas você pode utilizar sua distro de preferência.

1) INSTALANDO PACOTES.

Para realizarmos a integração de nosso bot Telegram com a ferramenta Zabbix é necessário a instalação do pacote “python-pip“. Realize a instalação conforme ilustrado abaixo.

apt-get install python-pip

Agora a partir do python, vamos instalar a API do Telegram.

pip install pyTelegramBotAPI


2) CONFIGURANDO SCRIPT.

Com os pacotes instalados, vamos criar um script que fará interação com nosso Telegram Bot. Para isso, crie um arquivo em “/usr/local/share/zabbix/alertscripts” chamado “telegram.sh, e com seu editor de texto de preferência, adicione o conteúdo conforme ilustrado abaixo.

vi /usr/local/share/zabbix/alertscripts/telegram.sh
#!/usr/bin/env python

import telebot,sys

BOT_TOKEN='121455441:EEASDa4DjfSjnSv7-g_nHaTrbaKdRggf3l4I'
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)

A variável do “BOT_TOKEN” deve ser substituída pelo token do seu bot criado. Realize a alteração salve e saia da edição do arquivo. De permissão de execução ao arquivo “telegram.sh” e adicione o usuário “zabbix” como dono do arquivo, conforme ilustrado abaixo.

chmod +x telegram.sh
chown -R zabbix telegram.sh


3) ADICIONANDO BOT AO GRUPO DE MONITORAMENTO.

Para que possamos usufruir do monitoramento entre equipes, precisamos criar um grupo no aplicativo Telegram, Ex: “Monitoramento Zabbix”. Realize a criação do grupo e adicione seu bot a ele.

Precisamos agora enviar uma mensagem para o bot a partir do grupo. Isso é importante, pois através da interação com o bot, conseguiremos pegar o ID do grupo que será utilizado nas configurações do Zabbix. Envie uma mensagem para o bot a partir do grupo criado conforme ilustrado abaixo.

/start@Jarbaszabbix_bot

Em seu navegador, vamos acessar as informações destinadas ao bot. Para isso, acesse o endereço ilustrado abaixo e substituindo a variável <BOT_TOKEN> pelo token do seu bot.

curl &quot;https://api.telegram.org/bot&lt;BOT_TOKEN&gt;/getUpdates&quot;

Você será capaz de visualizar algumas informações sobre seu bot, inclusive o ID do grupo no qual o mesmo pertence.

4) TESTANDO SCRIPT.

Com as devidas configurações realizadas, precisamos agora testar nosso script. Para isso, execute o mesmo a partir do shell, conforme ilustrado abaixo.

./telegram.sh &lt;ID_USER&gt; Teste Mensagem

A variável “ID_USER” deve ser substituída pelo ID do usuário disponibilizada no link executado no brower, conforme mencionado no passo 3. Se a execução do script for satisfatória, você verá em seu Telegram a mensagem “Teste Mensagem” enviada pelo bot.

5) ADICIONANDO SCRIPT AO ZABBIX.

Vamos realizar a integração de nosso script com a ferramenta Zabbix. Para isso acesse “Administração>Tipos de Mídias” é clique em “Criar tipo de mídia“. Feito isso, realize as configurações conforme ilustrado abaixo e em seguida clique em “Adicionar“.

Agora precisamos ir em “Administração>Usuários“, escolha o usuário, no nosso caso estamos utilizando o usuário Admin. Selecione “Mídia” e clique em “Adicionar“. Realize as configurações conforme ilustrado abaixo.

O Campo “Enviar para” deve ser substituído pelo ID do grupo de monitoramento no qual o bot pertence. Este ID pode ser encontrado pelo browser, através do link informado no passo 3. Realize a configuração e clique em “Adicionar“.

Por último, precisamos configurar nossas ações “Triggers“, no qual irão fornecer as informações necessárias através do script Telegram. Para isso, acesse “Configuração>Ações” e clique em “Criar ação“. Definas as configurações conforme ilustrado abaixo.

Também precisamos definir as operações. Acesse a opção “Operações” e clique no botão “Nova” localizado na parte inferior da tela, conforme ilustrado abaixo.

Defina o usuário, no nosso caso estamos utilizando o usuário Admin, e clique em “Adicionar“.

Feito isso, clique em “Adicionar” para finalizarmos a configuração da nova ação, conforme ilustrado abaixo.

Pronto, nossa ferramenta Zabbix já esta integrada com o Telegram.

CONCLUSÃO

Neste artigo foi abordado de maneira prática, a utilização do aplicativo Telegram para monitoramento de alertar emitidos pela ferramenta Zabbix.

Se você gostou deste post e através dele pude lhe ajudar, o que acha de aproximarmos nosso contato? Siga meu blog e me adicione no Linkedin, aproveite para classificar algumas das minhas competências/recomendações, este simples gesto faz toda a diferença.

Att,
Rafael Oliveira
SysAdmin

Você pode compartilhar esse artigo.

Siga o Blog Via E-mail

Digite seu endereço de e-mail para assinar este blog e receber notificações de novas publicações por e-mail.

Junte-se a 46 outros assinantes

Sobre o Autor

Rafael Oliveira Maria - Linux

Rafael Oliveira

Bacharel em Sistemas de Informação, SysAdmin, Professor, Blogueiro e Entusiasta Linux.

Certificados:

LPIC-1-Large
LPIC-2
LinuxPlus Logo Certified
itil-foundation-digital-badge

Gostou do conteúdo? Ajude-me a manter o blog.

PicPay - Linux

Aceitamos pagamentos e doações via PicPay link picpay.me/rafaeloliveimar

35 respostas

  1. Olá! Estou com o seguinte erro quando tento enviar a mensagem de teste. Estou utilizando o Debian. Alguma luz?

    root@zabbix:/usr/lib/zabbix/alertscripts# ./telegram.sh 949721472 Teste Mensagem
    Traceback (most recent call last):
    File “./telegram.sh”, line 2, in
    import telebot,sys
    File “/usr/local/lib/python2.7/dist-packages/telebot/__init__.py”, line 23, in
    from telebot import apihelper, types, util
    File “/usr/local/lib/python2.7/dist-packages/telebot/apihelper.py”, line 18, in
    from telebot import types
    File “/usr/local/lib/python2.7/dist-packages/telebot/types.py”, line 829
    def add(self, *args, row_width=None):
    ^
    SyntaxError: invalid syntax

    1. resolvi esse problema apenas editando a seguinte parte do script

      de:

      #!/usr/bin/env python

      para:

      #!/usr/bin/env python3

      é logo nas primeiras linhas!

  2. opa, otimo tutorial. estou com problemas ao executar o script, apresenta esse erro:

    InsecurePlatformWarning

    Sabe como proceder nesse caso?

  3. O script funciona certinho e manda as msgs via SO. No Zabbix, eu vejo msg com status de enviado pelo Telegram, mas a msg não chega no aplicativo. Alguma ideia/dica do que pode estar acontecendo? Muito obrigado!

Ficou com dúvida? Alguma Sugestão ou Elogio? Deixe seu comentário!