Você está na página 1de 10

05/07/2020 Windows IT Pro: [Sobre o Zabbix] Integração de Alertas Zabbix com WhatsApp (YowSup)

terça-feira, 4 de fevereiro de 2020

[Sobre o Zabbix] Integração de Alertas Zabbix com WhatsApp (YowSup)

Neste tutorial irei ensinar a como realizar a integração dos Alertas do Zabbix com o WhatsApp usando a ferramenta YowSup.

Neste tutorial estarei usando:

CentOS 7
Zabbix Server 4.0.1
YowSup 3.2.3

Caso não tenha um bom entendimento da ferramenta Zabbix, conhecimento em Linux, não aconselho a tentar realizar a implementação, por mais que eu tente
facilitar o máximo possível no tutorial. Mas problemas podem surgir.

Lembrando que, o número a ser usado será de USO EXCLUSIVO da ferramenta. Antes de associar à ferramenta, caso seja uma linha que nunca tenha usado
WhastApp, use-a por mais ou menos 1 semana. Para depois associar à ferramenta.

Sem mais delongas vamos por a mão na massa.

ATUALIZAÇÃO 05/06/2020!

Antes de iniciar necessitamos que, no Arquivo do Agent e do Server tenha:

Timeout=30
AllowRoot=1

E na hora que informar o número que irá receber os Alertas (Mída do Usuário) utilizem:

NUMERO@s.whatsapp.net

##Instalação do Python 3.6 e complementos necessários

yum install python-devel


yum install libevent-devel
yum install https://repo.ius.io/ius-release-el7.rpm
yum install python36u python36u-libs python36u-devel python36u-pip
yum install gcc
yum install epel-release
yum install python-pip
yum install unzip wget

##Instalando dependências do YowSup conforme documentação (https://github.com/tgalal/yowsup/blob/master/setup.py)

python3.6 -m pip install consonance==0.1.3-1


python3.6 -m pip install appdirs
python3.6 -m pip install python-axolotl==0.2.2
python3.6 -m pip install requests
python3.6 -m pip install cryptography
python3.6 -m pip install six==1.10
python3.6 -m pip install argparse
python3.6 -m pip install pyaxmlparser

##Baixando YowSup e extraia para onde quiser. Esse caminho da extração será informado posteriormente.

wget https://github.com/tgalal/yowsup/archive/master.zip
unzip master.zip
cd yowsup-master/

everaldoscabral.blogspot.com/2020/02/sobre-o-zabbix-integracao-de-alertas.html 1/10
05/07/2020 Windows IT Pro: [Sobre o Zabbix] Integração de Alertas Zabbix com WhatsApp (YowSup)
##Antes de iniciar é necessário alterar o MD5, Version e realizar upgrade do Protocolo WA 3.0. Para que não gere a mensagem de "old version".

##Alterando MD5 e Version. Isso será necessário todas as vezes que acontecer a mensagem supracitada ("old version").

vim yowsup/env/env_android.py

##Editar os campos _MD5_CLASSES E _VERSION

##Existe um script que coleta essas informações de forma fácil e rápida, segue link para download do script. Lembre-se de dar permissão de execução ao script e
realizar o download do .apk do WhatsApp direto do site oficial.

#A forma de execução do script é:

python3 "script" "caminho do .apk"

#Supondo que tudo esteja no caminho /tmp, a execução é:

python3 dexMD5.py WhatsApp.apk

#A saída do script é a forma abaixo, basta copiar os dados e alterar nos campos citados:

Atuais dados:

Version: 2.20.124
ClassesDex: R4LeoAEBkTDrbXgRY1ZOKg==

#Agora é necessário realizar algumas modificações em alguns arquivos para realizar o upgrade do protocolo WA 3.0. Conforme link
(https://github.com/tgalal/yowsup/pull/2924/files). Caso não queira editar, seguem arquivos editados para download. Lembrando de colocar no mesmo caminho:

##Criando arquivo de configuração do YowSup

vim /etc/zabbix/zap.conf

cc=55 #Código do País


phone=5579xxxxxxxx #Composto com Código + DD + Número sem dígito 9

##Registrando (-E android sempre ter // -d debug)


##Você receberá um SMS com o código de ativação

python3.6 yowsup-cli registration -r sms -c /etc/zabbix/zap.conf -E android -d

everaldoscabral.blogspot.com/2020/02/sobre-o-zabbix-integracao-de-alertas.html 2/10
05/07/2020 Windows IT Pro: [Sobre o Zabbix] Integração de Alertas Zabbix com WhatsApp (YowSup)
##Código recebido e registrando

python3.6 yowsup-cli registration -R xxxxxx -c /etc/zabbix/zap.conf -d

##Após registrar terá que ter o status assim: status: b'ok'


##Após registrar agora é a hora de testar o envio de mensagem teste para um número. Dentro do executável "yowsup-cli" você pode trocar a chamada da versão
para a 3.6, assim como eu fiz. Na primeira linha faz assim: #!/usr/bin/env python3.6

./yowsup-cli demos -c /etc/zabbix/zap.conf -s 5579xxxxxxxx "Mensagem de teste"

Agora temos a ferramenta totalmente funcional! Vamos agora para a parte do Zabbix.

##Criando um script para envio de Alertas


##Abaixo segue download do script que estou utilizando. Lembrando de dar permissão de execução chmod 777
##Aonde basta informar os os itens conforme seu cenário, seu gosto:

YOWSEXEC
CONF
LOG

zabbix-alertas-whatapp.sh
$1 – Destino. Quem receberá a notificação.
$2 – Assunto. Texto do assunto da notificação.

##O script deverá ficar em /usr/lib/zabbix/alertscripts ou o caminho que você escolher conforme arquivo de configuração do Zabbix Server. Para testar a execução
do script segue mais abaixo.

./zabbix-alertas-whatapp.sh 5579xxxxxxxx "Teste"

##Também pode verificar a execução dando tail no arquivo de log:


tail -f /tmp/whatsapp.log

Agora basta criar um tipo de mídia na interface web do Zabbix e cadastrar a mídia para o usuário receber a notificação.

Cadastrando a mídia do usuário conforme o exemplo abaixo:

everaldoscabral.blogspot.com/2020/02/sobre-o-zabbix-integracao-de-alertas.html 3/10
05/07/2020 Windows IT Pro: [Sobre o Zabbix] Integração de Alertas Zabbix com WhatsApp (YowSup)

VERIFICAR ATUALIZAÇÃO 05/06/2020, INÍCIO DO POST.

Uma imagem vale mais do que mil palavras.

Lembrando que é necessário criar a ação no Zabbix Server conforme print abaixo:

Bônus!

É possível enviar alertas para um número ou para um Grupo, que é o que eu utilizo. Para isso, o número associado deve estar no Grupo depois basta pegar o ID
do Grupo:

everaldoscabral.blogspot.com/2020/02/sobre-o-zabbix-integracao-de-alertas.html 4/10
05/07/2020 Windows IT Pro: [Sobre o Zabbix] Integração de Alertas Zabbix com WhatsApp (YowSup)

./yowsup-cli demos --yowsup --config /etc/zabbix/zap.conf


/L
/groups list

Basta anotar o campo ID conforme destacado.

Bônus 2!

Caso tente enviar mensagens e fique a mensagem de "Aguardando essa mensagem. Isso pode demorar um pouco". Basta deletar o arquivo axolotl.db que
fica em /root/.config/yowsup/5579xxxxxxxx. Também dê permissão de chmod 777 nessa pasta.

Todas às vezes que adicionar alguém no Grupo, será necessário deletar esse arquivo. Então melhor criar o Grupo, adicionar o contato bem como as pessoas que
farão parte.

Bônus 3!

Eu tive que instalar tudo novamente no meu novo telefone, instalei o WhatsApp e quando começaram a chegar as notificações como imaginei, chegou aquela
mensagem: "Aguardando essa mensagem. Isso pode demorar um pouco."?

Tentei deletar o arquivo axolotl.db que fica em /root/.config/yowsup, ainda sim não surtiu efeito. Então usei o comando find / -name axolotl.db e para minha
surpresa, me mostrou mais outro diretório (/var/lib/zabbix/.config/yowsup) com este arquivo. Pois bem, bastou eu deletar também o arquivo deste diretório e voltei a
receber normalmente os alertas. \O/

Bom pessoal espero ter ajudado e estou à disposição.

Abraços
\O

Postado por Everaldo Santos Cabral às 11:54

Marcadores: Alertas, Integração, WhatsApp, YowSup, Zabbix

48 comentários:

Anônimo 4 de fevereiro de 2020 13:24

Vou testar, obrigado por compartilhar, encontrei pelo grupo no facebook, grande abraço.
Responder

Respostas

Everaldo Santos Cabral 4 de fevereiro de 2020 13:38


Obrigado, amigo.
\O

Responder

Unknown 4 de fevereiro de 2020 21:49

Este comentário foi removido por um administrador do blog.


Responder

Unknown 4 de fevereiro de 2020 21:56

everaldoscabral.blogspot.com/2020/02/sobre-o-zabbix-integracao-de-alertas.html 5/10
05/07/2020 Windows IT Pro: [Sobre o Zabbix] Integração de Alertas Zabbix com WhatsApp (YowSup)
Efetuei o teste segui certo e deu esse erro :
File "yowsup-cli", line 722, in
if not parser.process():
File "yowsup-cli", line 362, in process
super(RegistrationArgParser, self).process()
File "yowsup-cli", line 216, in process
config = config_manager.load(self.args["config"])
File "/root/yowsup-master/yowsup/config/manager.py", line 46, in load
config = self._load_path(path_or_profile_name)
File "/root/yowsup-master/yowsup/config/manager.py", line 102, in _load_path
raise ValueError("Unsupported config type")
ValueError: Unsupported config type

isso ao tentar pegar o codigo


Responder

Respostas

Everaldo Santos Cabral 4 de fevereiro de 2020 23:00

Você fez algo de errado no arquivo de config.

Responder

Weslley 14 de fevereiro de 2020 09:36


Amigo, tem a possibilidade de instalar no debian ?
na primeira tentava ali
yum install python-devel mudei para apt-get install , mas sem sucesso..

Responder

Respostas

Everaldo Santos Cabral 14 de fevereiro de 2020 10:59

Você precisa achar esses pacotes para o Debian. = )

Responder

Filipe 6 de abril de 2020 03:34


Everaldo,

Mesmo fazendo as alterações MD5 e Version, ao executar o script pra envio de sms retorno falha por old_version.
Responder

Respostas

Everaldo Santos Cabral 6 de abril de 2020 09:32

Você fez a alteração dos arquivos que citei no tutorial?

Filipe 7 de abril de 2020 21:40

Sim!

Responder

Anonimo100Nome 6 de abril de 2020 12:02

Opa bom dia.

Aqui esta dando o seguinte erro : ModuleNotFoundError: No module named 'pyaxmlparser' ao executar esse comando : python3 dexMD5.py WhatsApp.apk

Já fiz a instalação usando o comando pip install pyaxmlparser e mesmo assim continua esse problema

Responder

Respostas

Everaldo Santos Cabral 6 de abril de 2020 14:31

Você precisa executar o dex... Conforme versão do python e o módulo que instalou nele. Talvez aí seja python 2.7.

Responder

Anônimo 21 de abril de 2020 12:27


OPa, tudo bem?
Estou tantno usar , mas estou com um problema.
Já consegui pegar o sms e fazer o cadastro, mas na hora e enviar msg ele conecta e desconeta.
EU acho q o whatspp fez alguma atualização ai tbm está com esse problema ou sera q configurei algo errado?
Responder

Respostas

everaldoscabral.blogspot.com/2020/02/sobre-o-zabbix-integracao-de-alertas.html 6/10
05/07/2020 Windows IT Pro: [Sobre o Zabbix] Integração de Alertas Zabbix com WhatsApp (YowSup)

Everaldo Santos Cabral 21 de abril de 2020 12:58

Colocou -d no final para tentar ver o que há? O arquivo de configuração está de acordo com o informado no tutorial?

Responder

Anônimo 21 de abril de 2020 13:15

COnsegui fazer funcionar :)


Queria saber se tem como mandar para uma lista de contatos uma mesma msg e também enviar imagens.
thx
Responder

Unknown 21 de abril de 2020 13:22


Outra duvida eu tenho q ter os numeros cadastrado?
Ou eu posso enviar para qualquer numero?

Responder

Respostas

Everaldo Santos Cabral 21 de abril de 2020 13:25

Você envia para qualquer um mesmo não estando na lista. Até então só consegui enviar para uma pessoa ou um grupo, os alertas do Zabbix. Demais
informações, favor consultar projeto do Desenvolvedor. :D

Unknown 21 de abril de 2020 14:21

Certo, eu vou dar uma lida.


Estou lá no forum do github, mas não tem muita informação.
Agora quero descobrir como enviar image/gif para um numero.
Pois eu sei a forma de usar o /L e conectar e funciona, mas o terminal buga todo e queria só rodar uma linha de comando para enviar a img

Responder

Everaldo Santos Cabral 21 de abril de 2020 13:24

Este comentário foi removido pelo autor.


Responder

Unknown 21 de abril de 2020 13:37


Tentei registrar um numero e retornou o serguinte erro:

reason: b'missing_param'
param: b'authkey'
Responder

Anônimo 21 de abril de 2020 14:35


O meu programa tenho q sempre rodr em sudo sabe qual pode ser o problema?

Responder

Humberto Rodrigues 8 de maio de 2020 10:22

Cara, eu nem precisava do yowsup para usar no zabbix. Só precisava fazer esse projeto abandonado funcionar novamente.
Pq vc não cria um novo repositório com essa versão funcional dele pra galera dar vida a esse projeto novamente?

Responder

Respostas

Everaldo Santos Cabral 8 de maio de 2020 10:28

Olá, o projeto até então é funcional para o que preciso. O que tu precisa e não funciona?

Humberto Rodrigues 8 de maio de 2020 10:30

Com as modificações que vc sugeriu ele se tornou funcional para mim tb. O problema é que o repositório oficial deixou de ser atualizado. Ai tive q pesquisar
bastante até chegar aqui e ver os ajustes q vc fez

Everaldo Santos Cabral 8 de maio de 2020 10:32


Entendi! É que infelizmente não sou DEV e dependo do projeto original, algumas coisas consigo resolver, outra somente o DEV ou quem tem o manejo de
desenvolver na linguagem do projeto. Infelizmente.

Humberto Rodrigues 8 de maio de 2020 11:04


Que pena! Eu desenvolvo em PHP e estava até disposto a me aventurar em python pra ajudar no projeto. rs

Everaldo Santos Cabral 8 de maio de 2020 11:32

everaldoscabral.blogspot.com/2020/02/sobre-o-zabbix-integracao-de-alertas.html 7/10
05/07/2020 Windows IT Pro: [Sobre o Zabbix] Integração de Alertas Zabbix com WhatsApp (YowSup)
Kkkk, mas pode fazer e farei toda questão de divulgar. Falta resolver envio em broadcast e envio de imagens/áudio. O que falta para o envio em anexo é mudar
a URL. Caso queira saber, posso lhe mandar o email.

Responder

Unknown 22 de maio de 2020 00:30


Olá Everaldo, bom tutorial, mas não funciona para mim, fiz o registro corretamente, mas envie uma mensagem não envie nada, ele está bloqueado handle_close, tenho as
mesmas versões do seu tutorial que você sabe que pode ser. Gracias por tu Colaboracion.

yowsup-cli v3.2.0
yowsup v3.2.3
consonance v0.1.3-1
dissononce v0.34.3
python-axolotl v0.2.2
cryptography v2.9.2
protobuf v3.12.1

[root@5f55cdc5c558 yowsup-master]# python3.6 yowsup-cli demos -c config.conf -s 57xxxxxxxxx "Prueba" -d


.
...
....
D 2020-05-22 03:18:45,796 yowsup.env.env - Env not set, setting it to android
D 2020-05-22 03:18:45,797 yowsup.env.env - Current env changed to android
D 2020-05-22 03:18:45,797 yowsup.layers.noise.layer - Performing handshake [username= 57xxxxxxx, passive=True]
D 2020-05-22 03:18:45,797 yowsup.layers.noise.layer - Starting handshake worker
D 2020-05-22 03:18:45,944 yowsup.layers.network.dispatcher.dispatcher_asyncore - handle_close
D 2020-05-22 03:18:45,945 yowsup.layers.network.layer - Disconnected
D 2020-05-22 03:18:45,946 yowsup.layers.axolotl.layer_control - Disconnected, reboot_connect? = False
Responder

Respostas

Everaldo Santos Cabral 22 de maio de 2020 00:40


Como tá teu arquivo de configuração do Zabbix, o que cria com DDI e etc? Fez a substituição paramodificados? Esse número já tinha WhatsApp ou é novo? Se
novo,usou quanto tempo no celular?

Unknown 22 de maio de 2020 17:35


Funcionou para mim, muito obrigado pela sua resposta e pelo tutorial.

Responder

Victor 23 de maio de 2020 14:34

Na hora de registrar da o seguinte erro


yowsup.common.http.warequest - b'{"login":"55XXXXXXXXXX","status":"fail","reason":"missing"}\n'
Responder

Respostas

Everaldo Santos Cabral 23 de maio de 2020 15:35


Verifique se criou o arquivo correto, se colocou os arquivos novos. Enfim, só fazer direitinho. Se perceber bem, acima tem o colega que estava com problema.
Só foi ler direitinho que resolveu. ;)

Responder

IsmaeldDeSousa 28 de maio de 2020 10:53

Este comentário foi removido pelo autor.


Responder

IsmaeldDeSousa 28 de maio de 2020 10:55

Fala Everaldo.

Primeiramente, parabéns pelo conteúdo... Muito simples e auto-explicativo!!


Implementei num ambiente em centos7, encima de nginx, com banco postgreSQL e Zabbix na versão 5.0 e esta funcionando muito bem!

Um dica para quem for utilizar com grupo do whats, sempre que adicionar alguem no grupo, siga a dica "Bônus 2!" e delete a base axolotl.db,
não se preocupe, assim que a api for chamada novamente ela recriará a base sozinha.

Mais uma vez, obrigado pelo conteúdo.

Abraço.

Responder

Respostas

Everaldo Santos Cabral 28 de maio de 2020 12:12

Obrigado irmão, que bom que gostou e que eu tenha feito de uma forma simples e direta. :D

Responder

everaldoscabral.blogspot.com/2020/02/sobre-o-zabbix-integracao-de-alertas.html 8/10
05/07/2020 Windows IT Pro: [Sobre o Zabbix] Integração de Alertas Zabbix com WhatsApp (YowSup)

Roberto 4 de junho de 2020 16:39

Parabéns pelo conteudo, funciona bem, porém esta dando erro de TimeOut quando vai executar um teste do media type. sabe me dizer o pq ?
Responder

Respostas

Everaldo Santos Cabral 4 de junho de 2020 21:14


Só aumentar o timeout. Agente e server.

Responder

Roberto 5 de junho de 2020 21:09

Mesmo aumentando para 30 em ambos não foi cara ... será que pode ser permissões em arquivo ou pasta ?

Responder

Respostas

Everaldo Santos Cabral 5 de junho de 2020 21:15

Pode ser. Precisa ler logs e entender.

Responder

Roberto 5 de junho de 2020 21:19


Agora esta dando essa mensagem quando executo com poder de usuario zabbix ... sabe me dizer o pq ?

E 2020-06-06 00:16:44,643 yowsup.config.manager - Could not find a config for profile=5511966666666, paths checked:
/var/lib/zabbix/.config/yowsup/5511966666666/config.yo:/var/lib/zabbix/.config/yowsup/5511966666666/config.json
Responder

vinicius 10 de junho de 2020 19:15


Boa noite, não sei se esta ativo nesse blog ou post. Mas antes queria parabenizar pela iniciativa de passar seu conhecimento adiante. Estou pra implementar a solução
aqui mencionada, já tenho ela com telegram rodando no Debian 9. Gostaria de saber se você testou ela com CentOS 8, se vai ter algum problema com versionamento dos
pacotes ou ela só pode rodar no CentOS 7 mesmo? Muito obrigado e abraços!

Responder

Respostas

Everaldo Santos Cabral 10 de junho de 2020 19:18

Olá boa noite, mesma coisa. Já testei com Zabbix 5 inclusive.

vinicius 10 de junho de 2020 20:11

Show, vou baixar o Centos 8 e montar o lab. Obrigado!

vinicius 11 de junho de 2020 17:10

Fiz aqui no CentOS 8, até a instalação do Zabbix foi tudo certo... A partir do inicio do Tutorial quando temos que instala o Python 3.6, aí começou o BO, não
instala por nada... Só a versão mais nova... Nesse caso praticamente acabei desistindo do CentOS e baixei o 7, vou começar a instalação agora, em breve
posto resultado, abraços!

vinicius 12 de junho de 2020 15:43

A instalação no CentOS 7 ocorreu tudo certo conforme esperado. Já no Zabbix 5 as telas de configuração são diferentes, mas fim, funcionou também (SEGUE
PRINT: http://prntscr.com/syozud). Fiquei com algumas dúvidas com relação ao YowSup, como por exemplo, o arquivo axolotl.db, não é interessante fazer um
scritp para apaga-lo periodicamente? Outra coisa, o projeto YowSup ele tava parado, será que vamos ficar a pé em breve? Vou faze mais testes e posto
resultado.

Everaldo Santos Cabral 12 de junho de 2020 17:50

No Zabbix 5 ficou até melhor mas é só criar uma de problema e outra de recuperação, só isso. Já para a base, isso é inerente à pessoa. Toda as vezes vezes
que adicionar alguém novo, tem que deletar. Então a pessoa cria o script conforme necessidade. Já para o Projeto tem mais de um ano parado, mas muitos
outros mantém. Mas caso manje, pode dar a própria manutenção e etc.

Responder

Daniel 12 de junho de 2020 10:17

Parabens pelo tutorial! O único que encontrei e que realmente funciona… A minha pergunta é… Funciona mandar msg para mais de um grupo? Exemplo mandar alertas
específicos para grupos específicos.... Obrigado
Responder

Respostas

Everaldo Santos Cabral 12 de junho de 2020 12:59

Primeiramente gostaria de agradecer o feedback, espero que tenha ficado bastante claro e direto para qualquer um consiga fazer. Já para sua pergunta, sim! É
sõ associar o ID do grupo ao Usuário e brincar de criar ações. Agora é mais entendimento de Zabbix do que outra coisa. Se souber criar ações que lhe

everaldoscabral.blogspot.com/2020/02/sobre-o-zabbix-integracao-de-alertas.html 9/10
05/07/2020 Windows IT Pro: [Sobre o Zabbix] Integração de Alertas Zabbix com WhatsApp (YowSup)
atendam, ele enviará (YowSup).

Responder

Digite seu comentário...

Comentar como: ricardooliveiraso Sair

Publicar Visualizar Notifique-me

Postagem mais recente Página inicial Postagem mais antiga

Assinar: Postar comentários (Atom)

Imagens de tema por enot-poloskun. Tecnologia do Blogger.

everaldoscabral.blogspot.com/2020/02/sobre-o-zabbix-integracao-de-alertas.html 10/10

Você também pode gostar