logo       

Monitoramento do Uso da Rede em Sistemas Unix Like por meio do BandwidthD: msg#02630

culture.publications.dicas

Subject: Monitoramento do Uso da Rede em Sistemas Unix Like por meio do BandwidthD

Monitoramento do Uso da Rede em Sistemas Unix Like por meio do BandwidthD
=========================================================================

Colaboração: José Messias Alves da Silva

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 |

- Site do Projeto para efetuar o download: http://bandwidthd.sourceforge.net/
- Site de Demonstração: http://bandwidthd.sourceforge.net/demo/

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:

- libpng: http://www.libpng.org/
- libgd: http://www.boutell.com/gd/
- libpcap: http://www.tcpdump.org/


Instalação
==========

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.


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



Rodando
=======

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.


Ajustes
=======

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.

http://localhost/bandwidthd/


Considerações Finais
====================

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.



<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise