Aviso de queda de Internet via Sendxmpp

Neste artigo abordarei uma ferramenta que analisa se o DNS da Internet está pingando, avisa via Sendxmpp, ao usuário quando na rede
há perda de comunicação.

[ Hits: 18.938 ]

Por: Ricardo Rodrigues em 05/01/2012


Entendendo e instalando o Sendxmpp



O Sendxmpp é um script Perl para enviar XMPP (Jabber), semelhante ao que faz e-mail para o Correio. Sendxmpp foi escrito por C. Binnema Dirk-Jan, e está disponível sob os termos da GPLv2 GNU.

O trabalho duro é feito por Ryan Eatmon da Net:: XMPP-módulos, e você precisa tê-los instalados para o Sendxmpp funcionar.

Obviamente, para usar o Sendxmpp você precisa ter uma conta Jabber, eles estão disponíveis gratuitamente na jabber.org, mas você também pode executar seu próprio servidor.

A boa notícia é que mensagens instantâneas entre os servidores do Google Talk e seus clientes usam um protocolo aberto - XMPP; permitindo que usuários de outros XMPP / Jabber clientes possam se comunicar com usuários do Google Talk.

Para mais informações, visite a página do Sendxmpp.

Você precisa também de um servidor XMPP na sua rede, eu utilizo o Openfire. Não irei aqui abordar a instalação do Openfire e sim a funcionalidade do script para analisar se a internet está ativa na sua rede.

Preparando a instalação

Esta instalação foi feita no CentOS 5.5.

É necessário ter instalado o Perl 5.8.

I- Baixe o Sendxmpp:

$ cd /usr/src
# wget
http://sendxmpp.platon.sk/sendxmpp-0.0.8.tar.gz

II- Instale os Módulos no Perl:

# perl -MCPAN -e shell
cpan> install Net::XMPP
cpan> install IO::Socket::SSL
cpan> install Getopt::Long
cpan> install Authen::SASL
cpan> exit

III- Instalando o Sendxmpp:

# tar -zxvf sendxmpp-0.0.8.tar.gz
# cd /usr/src/sendxmpp-0.0.8
# perl Makefile.pl
# make
# make install


IV- Criando arquivo para conta do usuário:

# echo "# Minha Conta no openfire" > ~/.sendxmpprc
# echo "minhaconta@meuservidor senha" >> ~/.sendxmpprc
# chmod 700 ~/.sendxmpprc
# cp -v ~/.sendxmpprc /etc/sendxmpprc


    Próxima página

Páginas do artigo
   1. Entendendo e instalando o Sendxmpp
   2. Script para o análise da Internet
Outros artigos deste autor

Desligar servidores quando o nobreak entra na bateria e envio de aviso por e-mail

Leitura recomendada

Ubuntu 14.04 no AD com CiD

Script com muitas utilidades para arquivos e pastas

Executando backup do MySQL e enviando por FTP

Enviando mensagens de WhatsApp no Linux usando Shell Script e ADB

Script GitPratico para criar repositórios remotos sem logar no GitHub

  
Comentários
[1] Comentário enviado por removido em 05/01/2012 - 11:35h

Ótima ferramenta, irei testar.

Ótimo artigo.

Abraço.

[2] Comentário enviado por skullred em 02/04/2013 - 17:11h

Boa tarde amigo,

Estou fazendo implantando uma ferramenta de monitoramento, que ira rodar alguns scripts no crontab e fazer o envio de mensagem para determinado contato no meu servidor openfire.
Acontece que, ja tentei varias formas de fazer esse envio via crontab e nao tive sucesso.
Peguei esse seu script como exemplo, e coloquei em meu servidor, se eu executo o script no prompt, colocando /usr/bin/internet.sh, eu recebo a mensagem de queda de internet normal no meu chat (no caso eu alterei o 8.8.8.8 para um ip que nao iria responder).
Adicionei entao a linha citada no crontab, executando o mesmo arquivo, e não funciona.
Meu crontab esta:

SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly
0-59/1 * * * * root /usr/bin/internet.sh

Desde já, mto grato pela ajuda.

[3] Comentário enviado por ntserv em 22/05/2013 - 15:07h

OI, No meu caso eu fiz assim
no rc.local eu coloquei na linha /usr/bin/internet-ok.sh

ai dentro do script internet-ok.sh
coloquei no final da linha
sleep 160
/usr/bin/internet-ok.sh &

fazendo assim ele fica em loop sempre rodando
da uma pausa e depois fazer o loop


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts