terça-feira, 29 de janeiro de 2008

Atualização do utilitário para controle de banda e novo nome

Buenas gente, tive um tempo vago hoje e fiz algumas atualizações no utilitário pra controle de banda, seguindo algumas sugestões que me passaram por comentário. A primeira atualização acho que foi quanto ao nome, agora passa a se chamar Ruby Bandwidth Monitor (RBM) e as demais:
* Paginação dos resultados
* Classificação em ordem ascendente e descendente por todos os campos
* Parâmetros informados no início do arquivo rbm.rc (notas a seguir)
* Somatórios

Não consegui de maneira alguma passar argumentos através da linha de comando e processar com ARGV sem receber a mensagem de erro "setfilter: parse error" na linha "cap = Pcaplet.new("-i #{$device} -s 128")" e este erro só ocorre porque tento passar argumentos pela linha de comando, então, por enquanto, tive que manter os parâmetros no código-fonte mesmo e são eles:
* $device: nome do dispositivo de rede a ser monitorado. Ex: eth0, eth1
* $gateway_ip: número ip da interface que será monitorada, em uma próxima versão vou tentar obter este número automaticamente, através do dispositivo informado
* $sort_by: pode ser ip,mac,traffic_in,traffic_out,packets_in e packets_out para classificação em ordem ascendente e com o ascréscimento de um "-" (hífen) logo antes (ex: "-ip") para classificação em ordem descendente
* $refresh: tempo em segundos para atualização dos resultados

Basicamente utilizo, Debian i486, Ruby 1.8, libpcap-ruby1.8 e tenho instalado em meu sistema a biblioteca libpcap0.8.

Quanto à biblioteca libpcap-ruby para CentoOS fico devendo por enquanto, mas vou procurar algum sistema RedHat pra testar.

Quanto ao iptraf, tenho usado ele seguidamente, o único problema é que ele não totaliza o tráfego por ip e quanto ao MRTG, realmente seria a solução ideal, mas eu quis iniciar este projeto com dois propósito, aprender um pouco de Ruby e ter um utilitário simples, que não demandasse muitas configurações e fosse bem direto ao assunto. Realmente não saberia como fazer para o MRTG me oferecer as mesmas informações que propus com o RBC, assim, tão simples e rápido.

Obrigado a todos pelos comentários, sugestões e críticas, o próximo passo acredito que seja fazer resolução de nomes para quem desejar assim (e eu desejo :-)).

Código-fonte em: http://www.katyphotoart.com/ruby/rbm.rb.html

Até logo

[]'s

Nenhum comentário: