Bandwidthd + Postgre

Bandwidthd é um sistema de monitoramento de redes TCP/IP que gera gráficos de utilização de banda por host. Ele rastreia os IPs de uma rede especificada e captura todo tráfego gerando gráficos individuais, possibilitando dessa forma um gerenciamento detalhado da rede e de possíveis gargalos na utilização do link.

[ Hits: 40.714 ]

Por: Kent Johann Modes em 25/01/2008


Configuração



Banco de dados:

# adduser postgres (adiciona o usuário postgres)
# su -l postgres (muda o usuário atual para postgres)
$ /usr/bin/initdb -D /var/lib/pgsql/data (inicializa o agrupamento do banco de dados)

$ cd /bandwidthd-2.0.1 (entra no diretório de instalação)
$ psql template1 (entra no modo de configuração do Postgre)
CREATE DATABASE bandwidthd; (cria o banco de dados chamado bandwidthd)
Ctrl+d (sai do modo de configuração)
$ psql bandwidthd postgres < schema.postgresql (copia o schema para o banco)
$ /usr/bin/pg_ctl -D /var/lib/pgsql/data start (inicia o banco)

PHP:

No arquivo /etc/php.ini foi necessário alterar os parâmetros abaixo para o bandwidthd se conectar ao bando de dados Postgre:

pgsql.auto_reset_persistent = On
register_globals = On

Bandwidthd:

O arquivo principal de configuração se encontra em /usr/local/bandwidthd/etc/bandwidthd.conf. No nosso caso a configuração ficou assim:

subnet 192.168.1.0/24 # Rede a ser monitorada
dev "eth0" # Interface que irá "escutar" em modo promíscuo
pgsql_connect_string "user = postgres dbname = bandwidthd host = localhost" # Parâmetros para conectar-se no banco de dados
sensor_id "kent.local" # Identificador do domínio local
graph false
recover_cdf false

Dentro do pacote tar.gz contém um diretório chamado phptdocs, ele foi copiado para /usr/local/bandwidthd:

# cp -rfp phptdocs /usr/local/bandwidthd

E em seguida o arquivo /usr/share/bandwidthd/phptdocs/config.conf deve ser editado para conectar no banco de dados:

$db_connect_string = "user = postgres dbname = bandwidthd host = localhost"

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação
   3. Configuração
   4. Iniciando o bandwidthd
   5. Possíveis problemas
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Personalizando o vim!

Pebrot: Um cliente MSN (modo texto) muito eficiente

Instalação e Configuração do Puppet

Instalando ou atualizando o seu KDE

Formatando fontes no openoffice

  
Comentários
[1] Comentário enviado por dtux em 25/01/2008 - 16:31h

Mto bom a tempo estava atras de como gravar os dado em banco de dados, agora queria saber se vc consegui fazer o mesmo usando mysql?

[2] Comentário enviado por kent em 25/01/2008 - 16:46h

Diego,

Segue abaixo algumas linhas do README do bandwidthd:

"#### DATABASE SUPPORT ####
...The database system. Currently Bandwidthd only supports Postgresql."

Porém se você conseguir fazer funcionar com sucesso, por favor poste aí pra comunidade =D

[3] Comentário enviado por Bique em 26/01/2008 - 11:22h

Cara,

Parabens pelo artigo muito bom. Uma pergunta mesmo que a ethx esteja em modo "promisco" como ira ele captar os pacotes num ambiente Switch uma vez que os pacotes nao sao visiveis para todos? Se for um Switch gerenciavel ou um Hub e possivel claro.

Um abraco,

[4] Comentário enviado por kent em 28/01/2008 - 08:30h

Bique,

Respondendo a sua pergunta, o Switch não encaminha os quadros para todas suas portas assim como o Hub, somente quando há broadcast ( consultas ARP, etc ). Portando numa rede com Switch você ficará limitado a coleta de dados. Em Switchs que são gerenciáveis ou possuem uma porta que pode-se configurar em modo "monitor" é possível coletar todo tráfego que passa pelo mesmo.

Vai depender do que você pretende monitorar, se for tráfego da Internet, o interessante é deixar a máquina de monitoramento antes do Gateway da rede assim ela vai capturar todo tráfego.

Abraço.

[5] Comentário enviado por kent em 28/01/2008 - 08:30h

?comentario=


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts