Pular para o conteúdo

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.
Gleison silent-man
Hits: 76.495 Categoria: Linux Subcategoria: Redes
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Requisitos
   2. Instalação

Balanceamento simples com BALANCE

Criando RADIUS no Windows Server 2012 para autenticar no Mikrotik

Testando velocidade entre equipamentos Ubiquiti

Plugin MSofficeKey para OCS Inventory

Criando regras simples com IP6Tables

Instalação OpenMeettings no Debian 7

#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.
#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.
#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

Entre na sua conta para comentar.