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.674 ]

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

GNU Parallel: criando atividades em paralelo com shell script

Redundância de link de internet

Assinatura de documentos PDF em lote via Bash

Ingressando estações de trabalho Ubuntu no AD com Closed In Directory

Yad 0.16 - Eu quero sempre mais de ti

  
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