Servidor Linux


MRTG em um Roteador Linux

Posted in .conf,Roteador por eduroges em novembro 24, 2008
Tags: , , ,

Neste artigo mostrarei como monitorar as Interfaces de Rede e também os clientes de um roteador linux utilizando o MRTG. Neste exemplo estou utilizando um Servidor Lunux Ubuntu com regras de NAT, mas pode ser adaptado facilmente para outras distribuições ou necessidades.

Também utizaremos o IPFM que fará a contabilização do tráfego utilizado pelos IPs que passam pelo roteador linux.

Instalando Programas necessários:

# apt-get install mrtg ipfm

Configurando o MRTG

# mkdir /etc/mrtg
# mkdir /etc/mrtg/scripts
# mkdir /var/www/mrtg

O primeiro é o diretório onde fica guardado o arquivo de configuração (normalmente mrtg.cfg). O segundo é onde ficarão os scripts necessários para o monitoramento e o terceiro diretório é onde estarão as páginas criadas para a visualização dos gráficos.

Criando os Scripts

IFVMON.SH (para monitorar os IPs de clientes)
# vi /etc/mrtg/scripts/ifvmon.sh

# Script Feito por Jefferson Aranha Dos Santos
# Jefferson.aranha@gmail.com
# Passando como 1º parâmetro o caminho completo do log do ipfm e 2º
# parâmetro um ip
#!/bin/bash
cat "$1" | grep "$2 " > /dev/null
if [ "$?" -ne 0 ]
then
echo 0
echo 0
else
cat "$1" | grep "$2 " | awk '{print $2"\n"$3}'
fi

MRTG.CFG

Language: brazilian
EnableIPv6: no
RunAsDaemon: Yes
Interval: 5
WorkDir:/var/www/mrtg
Logdir: /var/log/mrtg
Options[_]: bits,growright
#
Target[eth0]:`/etc/mrtg/scripts/ifmon.sh eth0`
Title[eth0]:"Trafego Internet - eth0"
Maxbytes[eth0]:1400000
PageTop[eth0]:<h1>Trafego Internet - eth0</h1>
Options[eth0]: growright,bits,noinfo
#
Target[eth1]:`/etc/mrtg/scripts/ifmon.sh eth1`
Title[eth1]:"Trafego Clientes - eth1"
Maxbytes[eth1]:1400000
PageTop[eth1]:<h1>Trafego Clientes - eth1</h1>
Options[eth1]: growright,bits,noinfo
#
Target[loopback]:`/etc/mrtg/scripts/ifmon.sh lo`
Title[loopback]:"Trafego da Loopback - lo"
Maxbytes[loopback]:1400000
PageTop[loopback]:<h1>Trafego da Loopback - lo</h1>
Options[loopback]: growright,bits,noinfo
#
Target[192.168.1.100]:`/etc/mrtg/scripts/ifvmon.sh /var/log/ipfm/subnet/ipfm.log 192.168.1.100`
Title[192.168.1.100]:"Trafego do IP - 192.168.1.100"
Maxbytes[192.168.1.100]:1400000
PageTop[192.168.1.100]:<h1>Trafego do IP - 192.168.1.100</h1>
Options[192.168.1.100]: growright,bits,noinfo

Salvo se eu tenha esquecido de alguma coisa, o MRTG agora está pronto para funcionar, portanto vamos às finalizações:

Executando o IPFM

# ipfm -c /etc/ipfm.conf

Gerando a página que mostrará os gráficos

# indexmaker –output=/var/www/mrtg/index.html /etc/mrtg/mrtg.cfg

Executando o MRTG

# env LANG=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg –logging /var/log/mrtg.log

Deixem suas dicas e sugestões nos comentários.
Eduardo Supertrix