INTRODUÇÃO
O MRTG (Multi Router Traffic Grapher) é amplamente utilizado para analisar
o tráfego de dispositivos de rede, gerando gráficos contendo estatísticas
da utilização da banda passante de todo equipamento que possui
suporte a SNMP, como: roteadores, cablemodems, servidores, switches, bridges,
entre outros. O MRTG pode também ser usado na verificação
da interface de rede, sendo que, neste caso, não será necessário
o suporte ao SNMP.
No que diz respeito às suas funções, é indiscutível
a sua utilização. Com ele, pode-se verificar a carga de memória,
o processamento, a capacidade de armazenamento na unidade e outras inúmeras
funções.
Neste artigo, abordaremos o MRTG como um sistema de monitoração
de rede de qualquer equipamento que esteja respondendo aos pacotes ICMP (fping).
Os gráficos gerados por ele são de fácil análise
e estão bem dispostos e detalhados fornecendo informações
diárias (média de 5 minutos), semanais (média de 30 minutos)
e mensais (média de 2 horas). Para que isto aconteça de forma
eficaz, é necessário que o seu servidor web - aqui indico o Apache
- esteja configurado "funcionando", já que o MRTG gera as estatísticas
através de páginas html e seus gráficos estão no
formato PNG (Portable Network Graphic). As vantagens para o administrador de
redes na utilização do MRTG para monitorar seus computadores,
são a simplicidade na configuração, a rapidez e a confiabilidade
na integridade das informações.
REQUISITOS
Compilador gcc http://gcc.gnu.org/releases.html
awk - linguagem de script http://www.gnu.org/software/gawk/gawk.html
fping - utilitário ping http://fping.com
perl http://www.perl.com
gd - biblioteca para gerar gráficos estatísticos no formato PNG
http://www.boutell.com
libpng - requerida pela gd para gerar os gráficos http://www.libpng.org
zlib - para compactar os gráficos que o MRTG vai gerar ftp://sunsite.cnlab-switch.ch/mirror/infozip/zlib
Para baixar o MRTG - http://www.mrtg.org
Na distro Slackware 9, você somente irá precisar além do
MRTG as bibliotecas gd e o fping, pois as outras bibliotecas já estão
no cd de instalação.
INSTALAÇÃO
Processo de compilação das bibliotecas.
dica: para instalar o fping vc pode utilizar por exemplo algum cd de outra
distro, por exemplo o RedHat ou baixar do site no formato tar.gz para ser compilado,
fica a seu critério :-)
$rpm -ivh fping-2.x.x.x.rpm
--nodeps
$gunzip gd-2.x.x.tar.gz ;
tar -xvf gd-2.x.x.tar
$cd gd-2.x.x
$./configure
$make
$make install
$gunzip mrtg-2.x.x.tar.gz
; tar -xvf mrtg-2.x.x.tar
$cd mrtg-2.x.x.x
$./configure
$make
$make install
CONFIGURAÇÃO
No diretório onde você desempacotou o MRTG existe uma pasta chamada
contrib, que contém utilitários para o MRTG. Utilizaremos aqui
somente as configurações da pasta net-hosts, sendo que todo o
seu conteúdo será copiado para dentro do diretório web.
A árvore de diretórios ficará: /var/www/htdocs/net-hosts.
As configurações são simples e você pode variar de
acordo com o seu padrão de utilização. Seguindo os passos
corretamente você terá um monitor de rede em perfeito funcionamento.
Arquivos de configuração:
internet
Esse arquivo irá conter as informações que fazem referência
às unidades que serão monitoradas, sendo que ele já vem
com algumas informações prontas para que o usuário possa
ter uma idéia de como ele será preenchido.
ex:
212.93.136.193:eth1-sub2-HFC-H1A-10M.rds-cons.rdsct.ro:969099666:1
212.93.136.130:10Me0-Ct-E1-Buc.noc-ct.rdsct.ro:969099666:1
212.93.152.1:212.93.152.1:969099666:1
193.231.227.182:bucharest-bb3-fe2-0.rdsnet.ro:969106997:1
...
<endereço ip>:<hostname>:<data da ultima verificação>:<estado
"1" para up e "0" para down>
Na primeira configuração, a data da ultima verificação
vai ficar em branco deixando para MRTG preencher.
veja:
192.168.10.1:ramones.linux.dom::1
192.168.10.2:misfits.linux.dom::1
192.168.10.3:rancid.linux.dom::1
192.168.10.4:nofx.linux.dom::1
192.168.10.5.pod.linux.dom::1
make-mrtg.cfg.awk
Contém informações (paths) que será verificado
pelo script net-hosts.
mrtg_var_WorkDir = "/var/www/htdocs/net-hosts"
mrtg_var_IconDir = "/net-hosts/"
mrtg_var_Interval = "5" # Intervalo de atualização vai
ser apresentada na página (5 minutos)
mrtg_executable = "/usr/local/mrtg-2/bin/mrtg" #executável
mrtg
mrtg_nethosts_cfg = "/var/www/htdocs/net-hosts/make-mrtg-awk.cfg"
nethosts_internet_path = "/var/www/htdocs/net-hosts"
nethosts_css_file = "net-hosts.css"
nethosts_maintainer_email = "Administrator <admin[at]@linux>"
net-hosts
Script que irá verficar as unidades que estão ativas na rede,
vai gerar as páginas e os gráficos.
#!/bin/sh
MRTG_EXECUTABLE="/usr/local/mrtg-2/bin/mrtg"
NETHOSTST_INTERNET_PATH="/var/www/htdocs/net-hosts"
NETHOSTST_AWK_FILE="/var/www/htdocs/net-hosts/make-mrtg.cfg.awk"
/bin/cat $NETHOSTST_INTERNET_PATH/internet
| /bin/awk -F: '{print $1}' | /usr/sbin/fping | /bin/awk -f $NETHOSTST_AWK_FILE
# analisa a saída do fping para verificação das unidades
do arquivo internet
Adicione o comando ao final do net-hosts.
/usr/local/mrtg-2/bin/indexmaker
/var/www/htdocs/net-hosts/make-mrtg-awk.cfg > /var/www/htdocs/net-hosts/resumo.html
Vamos dar a permissão para o net-hosts.
$chmod 755 net-hosts
Execute o net-hosts.
$./net-hosts
Após a execução ele vai gerar inúmeros arquivos
como: internet.html, make-mrtg-awk.ok, make-mrtg-awk.cfg e as páginas
html referentes aos nós do arquivo internet.
Outros arquivos para serão usados nas páginas html.
cubprev.gif
grnball.gir
net-hosts.css
redball.gif
Agora é só utilizar o cron para atualizar as informações
em intervalos de 5 minutos.
$crontab -e
# Atualização
MRTG monitor de rede
*/5 * * * * root /var/www/htdocs/net-hosts/net-hosts
Com seu web server funcionamento, agora é só acessar os gráficos
com seu navegador, veja como ficou:
localhost/net-hosts/internet.html
Você também pode acessar "localhost/net-hosts/resumo.html"
para verificar os gráficos de uma forma diferente.
Autor: Douglas Alvares
|