Português do Brasil English
Devin no Facebook  Devin no Twitter  RSS do Site 
Programas    

Configurando o MRTG


Comentários  8
Visualizações  
52,650

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.

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:

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! :)


Comentários  8
Visualizações  
52,650


TagsLeia também

Apaixonado por Linux e administração de sistemas. Viciado em Internet, servidores, e em passar conhecimento. Idealizador do Devin, tem como meta aprender e ensinar muito Linux, o que ele vem fazendo desde 1997 :-)


Leia também



Comentários

8 respostas para “Configurando o MRTG”

  1. Rogerio Ferreira disse:

    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

  2. Eitch disse:

    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/

  3. Leonardo disse:

    presciso gerar graficos a redes especificas, exmplo, enlaces brazil 200,189,201, tres graficos expecificos, saindo pela mesma interface..

    []'s

  4. Rodrigo disse:

    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

  5. Marcio disse:

    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?

  6. Diego disse:

    Ótima explicação, curta objetiva e didática! Parabéns! Aprendi bastante com o seu post.

    Abçs.

  7. Ruan Soares Apolinar disse:

    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 …

  8. daniel disse:

    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

Deixe uma resposta