Nagios enviando alertas via WhatsAPP

Este artigo trás uma breve descrição sobre como implementar o envio de alertas do Nagios para o WhatsAPP.

[ Hits: 75.089 ]

Por: Gleison em 14/04/2014 | Blog: http://gleisonrodrigo.xpg.uol.com.br/


Requisitos



1. Servidor Linux Rodando o Nagios:

Testado em CentOS 5.5 e 6.4 x86_64. No entanto, nada impede de ser implementado em outras distros.

2. yowsup:

Este é o 'cara' deste artigo.

O que é: escrito em Python, é uma Interface de Linha de Comando utilizada para interagir com o WhatsAPP, para ser mais claro, é um WhatsAPP via linha de comando. Dentre todas as funcionalidades deste, usaremos apenas 3, vistas mais adiante.

3. Um número/CHIP:

Neste caso, um número de Celular. Este será responsável por registrar-se junto aos servidores do WhatsAPP e enviar as mensagens de alertas.

Obs: use um número/chip apenas para esta função. Se registrado posteriormente, via Smartphone, por exemplo, a aplicação deixará de funcionar. Os servidores do WhatsAPP só permitem a utilização/registro em um único equipamento por vez.

4. Dependências:
  • python 2.6 ou superior (python26)
  • python26-libs
  • python26-argparse
  • python26-dateutil

Obs: estou usando CentOS.

* Importante: este artigo não aborda a instalação de um servidor Nagios. Sendo assim, partimos do principio de que você já tem um ambiente com o Nagios funcionando.

    Próxima página

Páginas do artigo
   1. Requisitos
   2. Instalação
Outros artigos deste autor

Balanceamento simples com BALANCE

Leitura recomendada

TurnKey Linux - Instale e configure serviços de rede facilmente

Análise de Desempenho: Web API

Instalando o oVirt 4.3 Single Host

VLAN Tagging nos sistemas GNU/Linux derivados do Red Hat

Asterisk - Recebimento de Fax com encaminhamento por e-mail

  
Comentários
[1] Comentário enviado por tsuriu em 14/04/2014 - 09:36h

Cara parabéns, muito útil essa dica. Eu estava procurando algo do tipo.
Me tira só um dúvida, é possível enviar uma mensagem para um grupo de contatos, ou algo do tipo?
Agradeço desde já.

[2] Comentário enviado por arthurmatiello em 14/04/2014 - 09:41h

Muito bom, vou testar e depois posto aqui!

[3] Comentário enviado por silent-man em 14/04/2014 - 10:37h

@tsuriu, valeu!

Você pode configurar no nagios o "contactgroups".

define contactgroup {
contactgroup_name admins
alias Nagios Administrators
members nagiosadmin,tsuriu
register 1
}

Sendo que os contatos nagiosadmin e tsuriu devem ter como opção de contato o "pager", no qual é o número zapzap.

o yowsup tem um parâmetro -b(--broadcast) que envia mensagem para mais de um destinatário

./yowsup-cli --broadcast "NUMERO1 NUMERO2" "MENSAGEM" -w -c whatsapp_config.txt

[]s

[4] Comentário enviado por andersonjackson em 14/04/2014 - 11:24h

Cara muito bom esse artigo.

Parabéns pelo achado.

[5] Comentário enviado por vitorcotta em 14/04/2014 - 12:30h

Excelente, segui o artigo e funciona 101%. Eu utilizo o Centreon.

[6] Comentário enviado por ricardoolonca em 15/04/2014 - 15:19h

Muito interessante. Uso Zabbix, mas acho que dá prá adaptar.

[7] Comentário enviado por dimasdaros em 15/04/2014 - 15:53h

opa, excelente ideia, não vou conseguir testar nesse momento, mas assim que chegar em casa vou verificar.

parabéns

[8] Comentário enviado por joaoferreira em 16/04/2014 - 18:50h

Boa noite,

O link parece não existe mais.

[9] Comentário enviado por joaoferreira em 16/04/2014 - 18:51h

Novo link pessoal https://github.com/tgalal/yowsup/archive/master.zip

[10] Comentário enviado por thyagobrasileiro em 17/04/2014 - 01:45h

me pergunto se é seguro usar uma versao antiga do python

[11] Comentário enviado por JJSantos em 18/04/2014 - 16:48h

Legal, muito bom!

[12] Comentário enviado por srdavidsilva em 22/04/2014 - 00:36h

Muito bom! Parabéns e obrigado pela contribuição.

[13] Comentário enviado por wellmendes em 24/04/2014 - 11:23h

Estou tendo problemas
Quando executo o comando ./yowsup-cli -r sms -c zapzap.config recebo a seguinte mensagem:
Detected cc: 20
Status: fail
reason: blocked

[14] Comentário enviado por vandocouto em 25/04/2014 - 14:15h

Muito bom. Vou testar tb.


[15] Comentário enviado por marciome2000 em 18/06/2014 - 15:57h

Fiz toda a configuração, mas estou usando grupo de contatos, já que são várias pessoas que recebem os alertas, dependendo do ativo ou serviço monitorado.

Testei o envio das mensagens e foi normal, mas não funcionou no nagios.

Alguém pode me ajudar?

[16] Comentário enviado por eunegru em 20/06/2014 - 15:28h

Pessoal, vocês estão conseguindo enviar mensagens para mais de um número, broadcast, aqui quando executo ou retorna erro de timedout quando uso a "," para separar os números, porém quando uso a dica de ./yowsup-cli --broadcast "NUMERO1 NUMERO2" "MENSAGEM" -w -c whatsapp_config.txt a mensagem não chega para nenhum destinatário. Poderiam me dar alguma dica, poisá j procurei em diversos locaisã e no obtive sucesso. Obrigado

[17] Comentário enviado por marciome2000 em 20/06/2014 - 16:05h

O erro no nagios.log é esse.



Warning: Attempting to execute the command "/root/yowsup-master/src/yowsup-cli --send XXXXXXXXXXXX "FIBRA-F04, Estado: DOWN, Data/Hora: Fri Jun 20 16:00:56 BRT 2014" --config /root/yowsup-master/src/yowsup-cli.config" resulted in a return code of 126. Make sure the script or binary you are trying to execute actually exists...

Alguém sabe como resolver?

[18] Comentário enviado por viper_mg em 02/07/2014 - 17:15h

Boa tarde Pessoal,

Ao executar o comando:

# ./yowsup-cli -r sms -c zapzap.config

Me retorna o seguinte erro:

[root@SrvNagios src]# ./yowsup-cli -r sms -c zapzap.config
File "./yowsup-cli", line 98
unistr = str if sys.version_info >= (3, 0) else unicode
^
SyntaxError: invalid syntax


Alguém pode me ajudar?
CentOS 5.9

[19] Comentário enviado por rodrigoKulb em 18/07/2014 - 00:00h

Muito bom!!! Parabéns...

[20] Comentário enviado por marcoslnx em 19/08/2014 - 10:14h

Instalação do EPEL

## RHEL/CentOS 7 64-Bit ##
wget http://dl.fedoraproject.org/pub/epel/beta/7/x86_64/epel-release-7-0.2.noarch.rpm
rpm -ivh epel-release-7-0.2.noarch.rpm

## RHEL/CentOS 6 32-Bit ##
wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm

## RHEL/CentOS 6 64-Bit ##
wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh epel-release-6-8.noarch.rpm

Instalação Dos Requisitos

yum install python-argparse python python-dateutil

[21] Comentário enviado por italogf em 26/09/2014 - 11:14h

cara, não recebo o request code por nada!!!

[22] Comentário enviado por brunoglobalwave em 29/09/2014 - 17:43h

não estou recebendo o requestcode no celular configurado.

[23] Comentário enviado por brunoglobalwave em 30/09/2014 - 09:58h


[21] Comentário enviado por italogf em 26/09/2014 - 11:14h:

cara, não recebo o request code por nada!!!


italogf estava com o mesmo problema, a solução é deixar o password em branco na hora de solicitar a request code.

[24] Comentário enviado por wagnerdias em 01/10/2014 - 12:52h

Recomendo a quem não está conseguindo receber o request code usar um numero de telefone que não tem whatsapp configurado. Comigo funcionou.

Eu não estou conseguindo receber mensagem no nagios mas no shell está funcionando alguem pode me ajudar.

[25] Comentário enviado por almeidanilo em 13/10/2014 - 10:47h

Não recebo o reuqest code também, estou colocando um chip sem cadastro no whats, tentei por voz tbm e não recebi a ligação!

[26] Comentário enviado por thla_88 em 23/12/2014 - 23:30h

Após o comando ./yowsup-cli -r sms -c zapzap.config
Ele da esse resultado:
Available commands:
=============
demos, version, registration

Alguém sabe resolver isso? Help galera!!!

[27] Comentário enviado por thla_88 em 24/12/2014 - 00:14h

Galera já resolvi, eis aqui a resposta:
./yowsup-cli registration --requestcode sms --phone xxxxxxxxxxxx --cc 55 --mcc 123 --mnc 456

INFO:yowsup.common.http.warequest:{"status":"sent","length":6,"method":"sms"."retry_after":1805}

status:sent
retry_after: 1805
length: 6
method: sms

[28] Comentário enviado por thla_88 em 24/12/2014 - 19:36h

Galera logo após este comando de cima que postei segue o próximo para receber a bendita senha (pw)

./yowsup-cli registration --register <código recebido via sms> --phone XXXXXXXXXX --cc <código do país>

Se der tudo certo logo vai gerar este resultado:

status: ok
kind: free
pw: jkagfaeoibassadubsasWN@)@NFW=
price: US$0.99
price_expiration: 1422218325
currency: USD
cost: 0.99
expiration: 1444211121
login: <codigo do país + código do DDD do estado + seu número>
type: existing

[29] Comentário enviado por removido em 15/01/2015 - 14:33h

Senhores, alguém já sabe enviar mensagem para um grupo no whatsapp?
Não pode ser no modo interativo.

[30] Comentário enviado por fabiobp2000 em 06/02/2015 - 21:59h

Consegui enviar pela linha de comando, porem não consigo enviar ao monitorar um serviço ou host;

Criei esse tópico para o meu problema, se alguém puder me dar uma luz agradeço.

http://www.vivaolinux.com.br/topico/Nagios/Colocar-um-comando-no-commands

Abraços.

[31] Comentário enviado por gabriel.andrade em 24/02/2015 - 17:27h

Ja obtive exito no registro e coloquei a senha no arquivo. Porém ao tentar enviar mensagem da o erro abaixo.

[root@unm97902044 yowsup-master]# ./yowsup-cli demos -s 558xxxxxxxxx "teste" -c zap.config
Traceback (most recent call last):
File "./yowsup-cli", line 304, in <module>
if not parser.process():
File "./yowsup-cli", line 227, in process
self.startSendClient()
File "./yowsup-cli", line 265, in startSendClient
from yowsup.demos import sendclient
File "/opt/yowsup-master/yowsup/demos/sendclient/__init__.py", line 1, in <module>
from .stack import YowsupSendStack
File "/opt/yowsup-master/yowsup/demos/sendclient/stack.py", line 1, in <module>
from yowsup.stacks import YowStack
File "/opt/yowsup-master/yowsup/stacks/__init__.py", line 1, in <module>
from .yowstack import YowStack, YowStackBuilder
File "/opt/yowsup-master/yowsup/stacks/yowstack.py", line 21, in <module>
from yowsup.layers.axolotl import YowAxolotlLayer
File "/opt/yowsup-master/yowsup/layers/axolotl/__init__.py", line 1, in <module>
from .layer import YowAxolotlLayer
File "/opt/yowsup-master/yowsup/layers/axolotl/layer.py", line 2, in <module>
from .protocolentities import SetKeysIqProtocolEntity
File "/opt/yowsup-master/yowsup/layers/axolotl/protocolentities/__init__.py", line 3, in <module>
from .iq_keys_get_result import ResultGetKeysIqProtocolEntity
File "/opt/yowsup-master/yowsup/layers/axolotl/protocolentities/iq_keys_get_result.py", line 3, in <module>
from axolotl.state.prekeybundle import PreKeyBundle
ImportError: No module named axolotl.state.prekeybundle

Versão do python:

[root@unm97902044 yowsup-master]# python -V
Python 2.6.6


Lembrando que tenho os pacotes acima referido:

[root@unm97902044 yowsup-master]# rpm -qa | grep -i python-argparse
python-argparse-1.2.1-2.el6.centos.noarch

[root@unm97902044 yowsup-master]# rpm -qa | grep python-dateutil
python-dateutil-1.4.1-6.el6.noarch

[32] Comentário enviado por silent-man em 25/02/2015 - 10:01h

Bom dia Gabriel,
acredito que o seu problema seja na sintaxe passada já que como você mesmo citou conseguiu registrar-se. Então, o aplicativo rodou.

Sua sintaxe:

[root@unm97902044 yowsup-master]# ./yowsup-cli demos -s 558xxxxxxxxx "teste" -c zap.config

Não entendi este "demos" antes do número de destino.

Tente como no exemplo do artigo.

./yowsup-cli -s 558xxxxxxxxx "Testando ZapZap CLI - VOL" -w -c zap.config

Abcs!

[33] Comentário enviado por fabiobp2000 em 15/03/2015 - 15:54h


Como mando mensagem para um grupo do whatsapp?

[34] Comentário enviado por viniciusinside em 14/06/2018 - 10:44h

Bom dia. Alguem poderia me ajudar a implementar este serviço do Whatapp(pelo yowsup) no CACTI. Eu uso a versao CACTIEZ. Vi algumas alternativas de envido de sms conforme este exemplo: https://habr.com/post/192250/ mas observei que o site russo vesms.ru nao esta funcionando aqui no Brasil. Entao vi a mensagem de voces aqui que esta enviando os alertas do Nagios. Será que existe alguma maneira de implementacao no CACTI? Peço a ajuda de voces. Obrigado. Abraços.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts