De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: José Messias Alves da Silva
Data de Publicação: 18 de Junho de 2006
O BandwidthD é um sistema de monitoramento que rastreia o uso de subredes TCP/IP e constrói arquivos HTML com gráfico para mostrar a utilização da rede. Os gráficos são construídos individualmente para cada IP e mostra sua utilização em vários períodos de tempo. Ele usa uma legenda de cores para demonstrar o tráfego em diferentes protocolos. Diferentemente do MRTG (http://people.ee.ethz.ch/~oetiker/webtools/mrtg/), ele varre cada endereço IP e subredes e não o estado dos links. Há dois modos de configuração, o modo estático e o modo em banco de dados. O modo estático é rápido e fácil de configurar e tem poucas dependências. O modo banco de dados suporta filtragem por subrede, sensores, relatórios customizados e intervalos, e pode processar milhares de IPs eficientemente. A utlização da rede pode ser guardada em formato CDF ou em um banco de dados como PostGreSQL. Nesta dica nos ateremos a configuração em modo estático. BandwidthD pode ser compilado para várias plataformas operacionais Unix Like:
ix86 | Solaris 9 |
Debian 3.0 | |
Fedora Core 2 | |
OpenBSD 3.8 | |
FreeBSD 5.6 | |
NetBSD 3.0 | |
AMD64 | Fedora Core 3 |
PPC G4 | MacOSX 10.2 |
Para instalação e uso do Sistema é necessário que um servidor web esteja instalado para exibição dos relatórios em HTML, de preferência o Apache . Caso fosse utilizado modo banco de dados utilizando PostGreSQL seria necessária a instalação também de PHP4 ou posterior. É também necessário que as seguintes bibliotecas estejam devidamente instaladas:
Todos os passos devem ser efetuados como root e dentro do diretório desse usuário. Para esta dica foi utilizada a versão 2.0.1 baixada em:
http://ufpr.dl.sourceforge.net/sourceforge/bandwidthd/bandwidthd-2.0.1.tgz
Após baixada a versão, realiza-se os seguintes passos:
# tar -xvzf bandwidthd-2.0.1.tgz # cd bandwidthd-2.0.1 # ./configure && make install
Após a instalação, passemos para a configuração.
O arquivo de configuração do BandwidthD é relativamente pequeno, possuindo poucas opções de configuração. Deve-se configurar basicamente a rede e subredes que serão monitoradas e por qual(is) interfaces. O arquivo de configuração encontra-se em /etc/bandwidthd/bandwidthd.conf . Abaixo um exemplo do arquivo:
#################################################### # Bandwidthd.conf # Exemplo de Configuração # Subredes que o sistema irá capturar informações. # O tráfego que não corresponder a nenhuma dessas redes # será ignorado. # A Sintaxe é o IP da Subrede e a máscara subnet 10.0.0.0 255.0.0.0 subnet 192.168.0.0/24 # Pode ser utilizada # esse terminologia também # Interface a ser escutada # Bandwidthd escuta na primeira que detecta por default. # Pode-se rodar "bandwidthd -l" para listar os dispostivos # que ele detectou. dev "eth0" ################################################### # As opções abaixo não são frequentemente modificadas # Mas segue algumas explicações ################################################### # Intervalo em minutos ele aguarda antes de # gerar um novo gráfico. Normalmente se utiliza algo # entre 2.5 e 5.0 #skip_intervals 0 # Aqui é quantidade de kbytes que devem ser transferidos por um ip antes gerar seu gráfico #graph_cutoff 1024 # Coloca a interface em modo promíscuo, pegando até mesmo # pacotes que não são roteados pela máquina #promiscuous true # Criar o log das informações em um arquivo # CDF em htdocs/log.cdf #output_cdf false # Ler o arquivo CDF anterior ao iniciar #recover_cdf false # Formato da String de Filtro Libpcap usada para controlar # o que o bandwidthd vasculhará. Normalmente se inclui # a palavra "ip" dentro da string para evitar problemas # estranhos. Esta opção é pouco usada. Exemplo: filter # "ip and host 192.168.0.1" #filter "ip" # Desenha os gráficos. O default é true. Normalmente # só se utiliza false quando se deseja apenas guardar # os logs cdf em um banco de dados sem gerar gráficos. # Quando se põe false, o BandwidthD usa muito menos da CPU # e da memória RAM. graph true # Ajusta o valor em segundos de META REFRESH, que é # atualização do gráficos (default 150, use 0 para # desabilitar). #meta_refresh 150
Após realizada a compilação com sucesso, vamos botar pra rodar.
# ./bandwidthd
Em seguida, verificando se foi carregado corretamente.
# ps ax
Se não ocorrer "bandwidthd <defunct>", signifca que não há nenhum erro de configuração e o sistema está rodando normalmente. Caso contrário, verifica-se novamente os detalhes da configuração e tenta-se novamente.
O BandwidthD gera as imagens e o código HTML no diretório
/var/lib/bandwidthd/htdocs/.
Para a exibição das páginas, é necessário que
se crie um link simbólico /var/www/bandwidthd/.
# ln -s /var/lib/bandwidthd/htdocs/ /var/www/bandwidthd/
Para finalizar os logs, normalmente se reinicia o BandwidthD. Pode-se colocar para realizar isto automaticamente inserindo a seguinte a linha no crontab:
0 0 * * * * /bin/kill -HUP `cat /var/run/bandwidthd.pid`
Posteriormente, pode-se criar um script para organizar os logs e para inicializar e parar o sistema.
Para finalizar, pode-se testar o sistema acessando o servidor web no diretório bandwidthd.
Alguns questionam o fato de o BandwithD consumir muito recursos da CPU. Entretanto, isso não constitui uma verdade, visto que baseado em testes realizados, o consumo assemelha-se a de qualquer outro aplicativo de monitoramento. Pode ser que em versões anteriores isto tenha acontecido, porém, atualmente, isso com certeza não ocorre. Espera-se que a instalação desse sistema seja de grande utilidade para Administradores de Redes que necessitam frequentemente estar averiguando se a rede está sendo utilizada de forma correta e eficiente.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários