Configurando o MRTG
Como configurar o MRTG para analisar o tráfego de seu roteador, e gerar gráficos em tempo real a partir dele.
O MRTG é um programa feito em perl muito útil para análisar o tráfego utilizado em sua rede/link. Ele gera gráficos que te mostram o uso da banda em termos de velocidade. Para configurar não é tão complicado, dependendo do caso, é claro. Você precisará pegar o MRTG, seja como código-fonte, ou como pacote. No caso dos pacotes, uma compilação não é necessária, e os arquivos já estarão instalados no sistema (portanto é só configurar). Mas como quero cobrir tudo aqui, colocarei os passos de compilação e instalação manual.
- Exemplo de gráficos - http://www.switch.ch/network/operation/statistics/geant2.html
Se você tem uma distribuição que possui o utilitário “apt”, ótimo, porque provavelmente você só terá que digitar o comando “apt-get install mrtg” e o programa irá baixar e instalar automaticamente. Agora se você quiser baixá-lo, visite a página oficial do MRTG:
- MRTG - http://oss.oetiker.ch/mrtg/
Neste endereço você poderá encontrar as versões mais atuais, tanto como código-fonte, quanto pré-compilados em pacotes ou em um binário para Windows (sim! O MRTG também funciona no Windows, se tiver o perl! Mas aqui só vou falar da instalação no linux :P) No meu caso, eu peguei a versão “2.9.25″.
O MRTG requer o seguinte para compilar e funcionar no seu Linux: gcc, perl, gd, libpng, zlib. Provavelmente sua distribuição já veio com esses pacotes, então não os cobrirei neste tutorial. Vamos agora começar a instalação:
# tar zpfx mrtg-2.9.25.tar.gz # cd mrtg-2.9.25 # ./configure --prefix=/usr --sysconfdir=/etc/mrtg [...configurando a compilação...] # make [...compilando...] # make install
E pronto. Se tudo ocorrer bem, o MRTG estará instalado corretamente no seu sistema, e pronto para o uso! Mas antes, teremos que criar um arquivo de configuração para o MRTG usar. Para isso utilizaremos um utilitário do MRTG chamado “cfgmaker”. Tenha em mãos o IP do seu roteador e a senha “community” dele… Se você não souber o que diabos é isso, então está precisando mexer um pouco mais com o roteador :) Execute o comando:
cfgmaker --global 'WorkDir: /var/www/html/mrtg' \
--global 'Options[_]: bits,growright' \
--output /etc/mrtg/exemplo.cfg \
community@xxx.xxx.xxx.xxx
Onde “xxx.xxx.xxx.xxx” é o IP do seu roteador. Este comando irá gerar o arquivo “/etc/mrtg/exemplo.cfg” e servirá para alterarmos manualmente, comparando com o resultado. Veja este exemplo de configuração final comentada:
# --------------------- # Configurações Globais # --------------------- # Diretório onde vai ficar a página com os gráficos gerados # pelo MRTG WorkDir: /var/www/html/mrtg # Língua usada pelo MRTG para as mensagens na página Language: brazilian # Opções: # bits = Mostrar a velocidade em bits (bits/bytes) # growright = O gráfico cresce para a direita Options[_]: bits,growright # Rodar como Daemon? Assim não será preciso colocar # no crontab, só precisará colocar um comando na # inicialização do Linux. RunAsDaemon: yes # -------------------------------- # Configuração do link 1 (256kbps) # -------------------------------- # Aqui você terá de comparar com o exemplo gerado # pelo comando 'cfgmaker', coloque o valor igual # ao que foi mostrado. O primeiro número é essencial # para saber a ligação que estamos usando no roteador. Target[EXEMPLO]: 1:community@xxx.xxx.xxx.xxx: # A quantidade de bytes que o link suporta. # 64kbps = 8000 # 256kbps = 32000 MaxBytes[EXEMPLO]: 32000 AbsMax[EXEMPLO]: 32000 # Com essa opção, todos os 4 gráficos não serão # redimensionados de acordo com o uso do link. Eles sempre # terão a altura do máximo de tráfego que se pode chegar # (de acordo com os itens acima). Unscaled[EXEMPLO]: dwmy # Configurações da página. Título e frase no Topo. Title[EXEMPLO]: Exemplo de Análise de Tráfego para link de 256kbps PageTop[EXEMPLO]: <h1>Exemplo de Análise de Tráfego para link de 256kbps</h1>
Pronto. Já temos uma configuração básica para o MRTG. Agora vamos rodá-lo:
# mrtg
Como colocamos a opção “RunAsDaemon”, ele ficará rodando e estará atualizando o gráfico de 5 em 5 minutos. Os gráficos estarão localizados no diretório “/var/www/html/mrtg, com o nome de “exemplo.html”. Claro que este diretório teria que estar disponível no seu servidor Web para verificarmos o gráfico.
Só que quando reiniciarmos o computador, o mrtg não estará rodando mais. Se você instalou o MRTG a partir de um pacote pré-compilado, ele já deve ter vindo com um scrip de inicialização no diretório “/etc/init.d”, então coloque este script na inicialização do seu Linux. Caso você queira fazer isso manualmente, é só colocar a seguinte linha no seu arquivo “/etc/rc.d/rc.local”:
# Roda o MRTG /usr/bin/mrtg
Assim, toda vez que seu sistema for iniciado, ele chama o MRTG para rodar como Daemon e gerar os gráficos de 5 em 5 minutos.
O uso do MRTG é bem extenso, e não se limita àpenas monitorar o tráfego de um roteador. Mas por enquanto vamos cobrir apenas este assunto. O arquivo de configuração que usamos é muito simples, e se você quiser se aprofundar mais no assunto, dê uma olhada no manual de referência do arquivo de configuração:
MRTG Configuration Reference - http://oss.oetiker.ch/mrtg/doc/mrtg-reference.en.html
E boa sorte! :)
Gostou?
Imprimir esta página
Leia também:
- VIM: Como associo um novo tipo de extensão com um novo syntax highlight?
- Utilizando o crontab
- Montando estatísticas com o Webalizer
- ProFTPd: Como utilizar um chroot e acessar diretórios disponíevis em vários lugares do sistema?
- Permissões




25 de mar de 2008 em 6:39 pm
Boa noite, gostaria que me passasse um link para eu baixar o MRTG, pois o link acima nao abre nada. Muito obrigado desde ja e ficou muito bem explicado
26 de mar de 2008 em 12:53 am
Tentarei mudar mais em frente os links. Pelo que vi a página do mrtg foi mudada para o seguinte endereço:
http://oss.oetiker.ch/mrtg/
26 de jun de 2008 em 2:53 pm
presciso gerar graficos a redes especificas, exmplo, enlaces brazil 200,189,201, tres graficos expecificos, saindo pela mesma interface..
[]’s
24 de abr de 2009 em 12:56 pm
O QUE ESTOU FAZENDO DE ERRADO???
root@mail:/# cfgmaker –global ‘WorkDir: /var/www/html/mrtg’ \ –global ‘Options[_]: bits,growright’ \ –output /etc/mrtg/exemplo.cfg \ mail@200.228.176.1:
Error:
can’t resolve ” –global” to IP address
at /usr/share/perl5/SNMP_util.pm line 426
SNMPWALK Problem for public@ –global::::::v4only
at /usr/bin/cfgmaker line 925
WARNING: Skipping public@ –global: as no info could be retrieved
Error:
can’t resolve “Options[_]” to IP address
at /usr/share/perl5/SNMP_util.pm line 426
SNMPWALK Problem for public@Options[_]: bits,growright:::::v4only
at /usr/bin/cfgmaker line 925
WARNING: Skipping public@Options[_]: bits,growright as no info could be retrieved
Error:
can’t resolve ” –output” to IP address
at /usr/share/perl5/SNMP_util.pm line 426
SNMPWALK Problem for public@ –output::::::v4only
at /usr/bin/cfgmaker line 925
WARNING: Skipping public@ –output: as no info could be retrieved
Error:
can’t resolve “/etc/mrtg/exemplo.cfg” to IP address
at /usr/share/perl5/SNMP_util.pm line 426
SNMPWALK Problem for public@/etc/mrtg/exemplo.cfg::::::v4only
at /usr/bin/cfgmaker line 925
WARNING: Skipping public@/etc/mrtg/exemplo.cfg: as no info could be retrieved
SNMP Error:
no response received
SNMPv1_Session (remote host: “200.228.176.1″ [200.228.176.1].161)
community: ” mail”
request ID: -105050952
PDU bufsize: 8000 bytes
timeout: 2s
retries: 5
backoff: 1)
at /usr/share/perl5/SNMP_util.pm line 627
SNMPWALK Problem for 1.3.6.1.2.1.1 on mail@200.228.176.1::::::v4only
at /usr/bin/cfgmaker line 925
WARNING: Skipping mail@200.228.176.1: as no info could be retrieved
# Created by
# /usr/bin/cfgmaker –global ‘WorkDir: /var/www/html/mrtg’ ‘ –global’ ‘Options[_]: bits,growright’ ‘ –output’ /etc/mrtg/exemplo.cfg ‘ mail@200.228.176.1:’
### Global Config Options
# for UNIX
# WorkDir: /home/http/mrtg
# for Debian
WorkDir: /var/www/mrtg
# or for NT
# WorkDir: c:\mrtgdata
### Global Defaults
# to get bits instead of bytes and graphs growing to the right
# Options[_]: growright, bits
EnableIPv6: no
WorkDir: /var/www/html/mrtg
######################################################################
# System:
# Description:
# Contact:
# Location:
######################################################################
######################################################################
# System:
# Description:
# Contact:
# Location:
######################################################################
######################################################################
# System:
# Description:
# Contact:
# Location:
######################################################################
######################################################################
# System:
# Description:
# Contact:
# Location:
######################################################################
######################################################################
# System:
# Description:
# Contact:
# Location:
######################################################################
root@mail:/# mrtg
———————————————————————–
ERROR: Mrtg will most likely not work properly when the environment
variable LANG is set to UTF-8. Please run mrtg in an environment
where this is not the case. Try the following command to start:
env LANG=C /usr/bin/mrtg
———————————————————————–
root@mail:/# env LANG=C /usr/bin/mrtg
15 de mai de 2009 em 9:05 am
Estou tentando usar o MRTG para monitorar minha placa de rede, mas, mesmo instalando o SNMP, PERL, MRTG e configurando tudo, o gráfico fica “zerado” e não atualiza. O que pode ser?