Monitorando sua internet 3G

Postado por Rafael Sierra em 2/08/2009

Em decorrência da minha mudança de imóvel por conta do meu (em breve) casamento fiquei sem internet. O prédio atual onde moro não tem suporte a cabeamento da Net/Virtua e a Telefônica foi, legalmente, proibida de vender novas assinaturas telefônicas, o que significa que eu não tinha até então internet em casa, e pra resolver isso a sempre sábia @pathiene sugeriu que utilizássemos uma internet 3G qualquer, e como eu já tinha feito um teste com o Claro 3G, que funcionou muito bem por eu estar em um lugar onde geralmente não se tem muita atenção das operadoras de celular, resolvi então ver qual seria a melhor opção, que dentre as disponíveis a OI/Velox se destacou.

O problema começa na assinatura do contrato, quando você lê no mesmo: "...até um limite de 10GB por mês..." caso eu ultrapasse o limite será cobrado R$0,10 por MB adicional, ou R$102,40 por GB adicional, e no caso da Claro com 1GB por mês tendo como punição ao abuso o corte da velocidade de 1Mbps para 128Kbps. Naturalmente, não existe de forma clara e abertamente disponível aos seus clientes (ao menos no caso da Oi, não posso confirmar quanto a outras operadoras) um link como o http://consumo.virtua.com.br que lhe disponibiliza um relatório diário com o seu consumo, bastando saber qual o mac address de seu dispositivo.

Pois bem, para resolver esse problema recorri, naturalmente, à programação e criei um script que para ser adicionado ao crontab que irá gerar um relatório constante do seu consumo. O script é feito em Ruby (ahh Rafael, pq Ruby e não Python/Java/C/PHP??, simples: porque eu quis) e pode ser baixado em http://blog.stiod.com/wp-content/uploads/2009/08/net_counter.rb .

O funcionamento do script é muito simples:
sdm@sdm:~$ ./net_counter.rb -h
Usage: net_counter.rb [OPTIONS]
Utilize este script para mensurar o consumo de sua rede
-i, --interface=val Interface que deve ser analizada. Padrão: ppp0
-f, --file=val Arquivo onde deve ser armazenado os dados.
Evite usar o mesmo arquivo para diferentes interfaces. Padrão: report_ppp0.txt
-h, --help Exibe esta mensagem.

Edite o seu crontab e adicione o comando nele, você pode customizar ele para gerar logs mensais, adicionando o comando net_counter.rb --file /qualquer/lugar/report_ppp0_`date +%m`.txt. Lembre-se apenas de dar permissão de execução no script (chmod +x) e de coloca-lo no PATH do seu crontab (/usr/bin/ costuma servir).

Para saber como esta o consumo da sua rede basta analizar o arquivo report_ppp0.txt ou seja lá qual for o nome que você escolher, o arquivo está disposto da seguinte forma:

  • Primeira linha: Trafego de download total (somatório desde a primeira execução para aquele arquivo)
  • Segunda linha: Trafego de upload total (idem)
  • Terceira linha: Trafego de download desde a última vez que você se conectou
  • Quarta linha: Trafego de upload desde a última vez que você se conectou

Em todos os casos o número sera em bytes, em um post futuro talvez eu faça o script que calcula em K, M ou GB.

Observações:

  • O script utiliza os dados do arquivo /proc/net/dev
  • A internet 3G da Claro e Oi funcionam muito bem em Praia Grande/SP, se você vier passar um feriado aqui, pode trazer seu notebook e modem tranquilamente :)
  • O modem oferecido pela Oi funcionou perfeitamente no Ubuntu 9.04 e foi extremamente simples e intuitiva sua configuração
  • Desculpem pelos 4 meses e 1 dia sem atualização no blog :S
  • Sim, o ultimo post foi de primeiro de abril

Trackback URI | RSS dos comentários

Deixe um comentário

Av. Conselheiro Nébias, 368A, Cj. 413
Vila Mathias - Santos - SP
Telefone: (13) 3345-4580

© 2008 - 2009 Stiod. Todos os direitos reservados.