You are on page 1of 12

ALERTAS PELO ZABBIX VIA WHATSAPP

S.O.: Ubuntu 13.04 Server x64 / Centos 6.4 ~ 6.5


Funo: Enviar mensagens Whatsapp pelo Zabbix Server.

Sumrio
SOLUO UTILIZADA .................................................................................................................... 2
PR-REQUISITOS ........................................................................................................................... 2
INSTALANDO E CONFIGURANDO ............................................................................................... 3
CONFIGURANDO O SCRIPT DE NOTIFICAES PARA O ZABBIX......................................... 7
CONFIGURANDO O ZABBIX .......................................................................................................... 8

Reviso

Descrio da atualizao

Autores

Data

1.0

Elaborao do documento

Henrique Duarte

14/04/2014

SOLUO UTILIZADA
Na elaborao deste documento foi utilizada a ferramenta YOWSUP. H outra ferramenta chamada
WhatsAPI, porm no foi testada em nosso ambiente at a presente data.

PR-REQUISITOS
Para o funcionamento correto da ferramenta foi utilizado:
Um nmero de celular vlido e que nunca foi cadastrado no Whatsapp.
Python 2.6+
Python-dataeutil
Python-argparse
Conexo com Internet e sada para http?//*.whatsapp.net liberada.

INSTALANDO E CONFIGURANDO
- Primeiro instale os mdulos de Python necessrios para o funcionamento da soluo com o comando:
UBUNTU:

apt-get install python python-dateutil python-argparse


CENTOS:

wget --directory-prefix=/etc/yum.repos.d/ http://mirrors.geekymedia.com/centos/geekymedia.repo


yum -y install python26
yum -y install python-dateutil
yum -y install python-argparse

- Aps a instalao do Python faa o download da api do WhatsAPP (YOWSUP):

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

- Descompacte o arquivo com o comando:

unzip master.zip

- Entre na pasta criada:

cd yowsup-master/src

- Copie o arquivo de configurao de exemplo para o que voc ir utilizar:

cp config.example yowsup-cli.config

- Edite o arquivo yowsup-cli.config para que o contedo seja apenas o listado abaixo, sem os comentrios:

cc=55
phone=558499999999
id=
password=
Onde:

cc = Cdigo internacional do Brasil


phone = Telefone completo Ex.: +55(84)9999-9999 = 558499999999. Coloque o numero de
telefone de acordo com o numero que ser usado.
id = id fornecido pelo Whatsapp (deixe em branco)
password = senha fornecida pelo Whatsapp (deixe em branco)

- De permisses de leitura e escrita para a pasta do YOWSUP e em seguida mova para o seu diretrio
definitivo onde a aplicao ir funcionar. No nosso caso colocamos ela dentro da pasta de instalao do
Zabbix em /usr/lib/zabbix/

chmod 777 -R yowsup-master/


mv R yowsup-master/ /usr/lib/zabbix/

- Agora transforme o script em executvel:

cd yowsup-master/src/
chmod +x yowsup-cli

- Depois disto devemos fazer a requisio do cdigo de registro do telefone ao Whatsapp:

./yowsup-cli --requestcode sms --config yowsup-cli.config

- A sada desta requisio dever ser algo como:

status: sent
retry_after: 3605
length: 6
method: sms
OBS.: Em alguns casos o comando de requisio ao Watsapp pode no funcionar, neste caso solicite
solicitao via web pelo endereo: https://coderus.openrepos.net/whitesoft/whatsapp_sms

- Com o nmero NNN-NNN recebido via SMS no chip vlido faa o registro do celular no Whatsapp com o
comando:

./yowsup-cli --register nnn-nnn --config yowsup-cli.config -d

- A sada do registro do numero NNN-NNN dever ser algo parecido com:

{'Accept': 'text/json', 'User-Agent': 'WhatsApp/2.12.10 S40Version/14.26 Device/Nokia302'}


cc=55&in=8499999999&id=d41d8ef95f00b203a9800978edb8420e&code=521348
Opening connection to v.whatsapp.net
Sending GET request to
/v2/register?cc=55&in=21969011727&id=d41d8ef95f00b203a9800978edb8420e&code=581447
WARegRequest:
{"status":"ok","login":"558499999999","pw":"Je4L1+IOP7KGqPvrahL5/ELS5Br=","type":"new","expiratio
n":1420992398,"kind":"free","price":"US$0.99","cost":"0.99","currency":"USD","price_expiration":139212
3274}
status: ok
kind: free
pw: Je4L1+IOP7KGqPvrahL5/ELS5Br=
price: US$0.99
price_expiration: 1392123274
currency: USD
cost: 0.99
expiration: 1420992398
login: 558499999999
type: new
./yowsup-cli --register nnn-nnn --config yowsup-cli.config -d

- Verifique se o arquivo yowsup-cli.config foi modificado pelo script. Caso no tenha sido, faa a incluso
da senha (PW) manualmente com o editor de sua preferencia:

cd /usr/share/zabbix/yowsup-master/src
vi yowsup-cli.config

cc=55
phone=558499999999
id=
password=Je4X1+IZP7KYqPvrahL9/ELS5Br=

- Para testar o funcionamento da ferramenta use o comando:

./yowsup-cli -c yowsup-cli.config -s 5584XXXXXXXX "Teste de Mensagem"


Onde:

O numero 5584XXXXXXXX deve ser um numero de telefone que tenha o servio


WhatsApp ativado e funcionando.

- Em caso de duvidas ou para saber como usar o programa dentro do diretrio de instalao do aplicativo
digite:

./yowsup-cli -h

CONFIGURANDO O SCRIPT DE NOTIFICAES PARA O ZABBIX


- Acesse o diretrio alertscripts do seu Zabbix Server (no meu caso a pasta padro fica em
/usr/lib/zabbix/alertscripts).
- Crie o arquivo:

vi whatsapp.sh

- Com o editor de sua preferencia, adicione no arquivo whatsapp.sh o seguinte contedo:

# !/bin/bash
## Envia mensagens via whatsapp
export zabbixemailto=$1
export zabbixsubject=$2
export zabbixbody=$3
/usr/bin/python /usr/lib/zabbix/yowsup-master/src/yowsup-cli -c /usr/lib/zabbix/yowsup-master/src/yowsupcli.config -s $zabbixemailto "$zabbixsubject $zabbixbody"
Onde:

/usr/lib/zabbix/yowsup-master/src/yowsup-cli a pasta do meu yowsup


/usr/lib/zabbix/yowsup-master/src/yowsup-cli.config o arquivo de configurao do
meu yowsup

- Torne o script executvel:

chmod +x whatsapp.sh

- No diretrio do script, teste com o comando:

./whatsapp.sh 558499999999 Teste


Onde: 558499999999 o cdigo nacional + DDD da sua regio + o numero do telefone que ir
receber a mensagem via Whatsapp.

CONFIGURANDO O ZABBIX
Vamos realizar o ajuste de mdia para envio das notificaes via Whatsapp. Para isto acesse a interface de
administrao do Zabbix via web e em seguida v nas opes: Administrao -> Tipos de mdias -> Novo tipo
de Mdia

Agora iremos alterar o tipo de mdia para SCRIPT e preencher os dados conforme a imagem abaixo:

Onde:

Nome - Pode ser qualquer nome, no meu c aso para melhor organizao coloquei
Whatsapp
Tipo: Script
Nome do script: O nome do nosso script criado anteriormente, whatsapp.sh

Precisamos definir uma ao para essa nova mdia configurada, na interface web do Zabbix acesse:
Configurao -> Aes -> Criar ao (Localizada no canto superior direito da tela) -> Triggers.

Informe o nome da ao e marque a opo Mensagem da recuperao caso voc queira ser notificado
quando o problema for resolvido.

Clique em CONDIES e configure as condies da ao, personalize conforme sua necessidade.

Clique em AES -> Nova e configure conforme a imagem:

OBS: Adicione os usurios ou grupos de usurios conforme a sua necessidade.


Clique em ADICIONAR e depois em SALVAR para salvar a ao.

10

Agora temos que configurar os nmeros de Whatsapp que iro receber as notificaes. Faremos isto nos
usurios que acessam o Zabbix, no meu caso irei configurar todos os nmeros Whatsapp no usurio Admin
Acesse: Administrao -> Mdia -> Adicionar -> Tipo: Whatsapp
- Configure o seu numero de telefone com o cdigo nacional + DDD + telefone (Ex: 5584999999)
- Configure os horrios de funcionamento
- Defina em quais situaes o usurio deve ser notificado

Para finalizar clique em ADICIONAR depois em SALVAR para salvar a mdia para o usurio.
Com isto seu Zabbix esta pronto para notifica-lo via Whatsapp.

11

Fontes:
https://www.zabbix.com/documentation/2.0/manual/config/notifications/media/script
https://github.com/tgalal/yowsup
Roberto Flavio Rezende Lista de discusso zabbix-brasil
Alisson Silva Lista de discusso zabbix-brasil
Johnny Ferreira http://tidahora.com.br/index.html/doku.php?id=envio_de_alertas_via_email_pelo_zabbix_2.0

12