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:
- Configurando o LILO
- Utilizando o crontab
- Montando estatísticas com o Webalizer
- Recompilando o kernel do Linux
- Executando aplicações gráficas remotamente






(3 votos, média: 4,00 de 5)
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?
15 de ago de 2009 em 7:41 pm
Ótima explicação, curta objetiva e didática! Parabéns! Aprendi bastante com o seu post.
Abçs.
23 de set de 2011 em 2:28 pm
Estou tentando compilar o mrtg, mas diz que não encontrou o gd.h, o que pode ser?
checking gd.h usability… no
checking gd.h presence… no
checking for gd.h… no
** Ooops, one of many bad things happened:
a) You don’t have the GD library installed.
Get it from http://www.boutell.com, compile it and
use either –with-gd-lib=DIR and –with-gd-inc=DIR to specify
its location. You might also have to use –with-z-inc,
–with-z-lib and –with-png-inc, –with-png-lib for gd
versions 1.6 and higher. Check config.log for more
information on the problem.
b) You have the GD library installed, but not the gd.h
header file. Download the source (see above) and use
–with-gd-inc=DIR to specify where the file can be found.
c) You have the library and the header file installed, but
you also have a shared GD library in the same directory.
Remove the shared library files and/or links (e.g.
libgd.so.2.0.0, libgd.so and libgd.so.2). This is especially
likely if you’re using a recent (post 1.8.4) version of GD
and didn’t configure it with –disable-shared.
d) You have gd library installed and also it’s headers, but you are
missing libpng (and headers) or freetype (and headers)
(mrtg does not use freetype, but if your copy of gd is precompiled
against it, you have to install it …
03 de jan de 2012 em 8:59 pm
fins as instalacao mas apareceu o seguinte erro.
SNMP Error:
no response received
SNMPv1_Session (remote host: “192.180.x.x” [192.180.x.x].161)
community: “community”
request ID: -1701973239
PDU bufsize: 8000 bytes
timeout: 2s
retries: 5
backoff: 1)
at /usr/bin/../lib/mrtg2/SNMP_util.pm line 629
SNMPWALK Problem for 1.3.6.1.2.1.1 on community@192.180.x.x::::::v4only
at /usr/bin/cfgmaker line 955
WARNING: Skipping community@192.180.x.x: as no info could be retrieved
ERROR: creating /etc/mrtg/exemplo.cfg: Arquivo ou diretório não encontrado