Monitoração de tráfego com MRTG

Este artigo nos ensina a instalar, configurar e executar o MRTG, uma ferramenta usada para monitorar a utilização de sua banda de rede. Os relatórios são exibidos em HTML com imagens, o que possibilita uma representação visual (e ao vivo) deste tráfego.

[ Hits: 308.754 ]

Por: Júlio Henrique em 19/06/2004


Configuração



Após a instalação dos pacotes, é hora de partir para a criação dos arquivos de configuração dos hosts que o MRTG irá monitorar.

O MRTG possui um utilitário que auxilia na criação dos arquivos configuração. Trata-se do cfgmaker, que possui a seguinte sintaxe:

# cfgmaker --output /etc/mrtg/router_abc_xyz.cfg community@router.abc.xyz

Onde:
  • o parâmetro --output define o arquivo de configuração que será gerado pelo cfgmaker;
  • community é a comunidade SNMP do host, que é router.abc.xyz.

Atenção: para que o nome do host seja resolvido, o equipamento com o MRTG deve estar configurado com o(s) nome(s) do(s) servidor(es) DNS (arquivo /etc/resolv.conf); além disso, é necessário registro no servidor DNS para o host, associando-o com o respectivo endereço IP. Também pode ser utilizada uma entrada para o mesmo no arquivo /etc/hosts ou, ainda, o endereço IP no lugar do nome.

Exemplo: vamos supor que temos um roteador Cisco 2500 com endereço IP 192.168.1.10 e comunidade SNMP public. A sintaxe do comando cfgmaker seria:

# cfgmaker --output /etc/mrtg/router_2500.cfg public@192.168.1.10

Será gerado o arquivo router_2500.cfg como saída (em /etc/mrtg). Este arquivo contém as informações necessárias para que sejam gerados os gráficos. Porém, existem alguns parâmetros que podem ser configurados no arquivo para melhor visualização. Estes parâmetros são definidos nas seções "Global Config Options" e "Global Defaults", conforme abaixo:

WorkDir: /var/www/mrtg
Define qual será a pasta de trabalho do MRTG; ou seja, a pasta onde serão salvos os arquivos gerados pelo MRTG (logs, arquivos html e png, etc). É recomendável criar uma sub-pasta para cada host.

Options[_]: growright, bits
São duas opções em uma (mas podem ser configuradas separadamente): o growright faz com que o gráfico "caminhe" da direita para a esquerda, fazendo com que o horário atual fique à direita no gráfico; já o parâmetro bits define que o gráfico trará as informações em bits (por padrão, as informações são expressas em bytes).

Refresh: 600
É o tempo, em segundos, em que o browser irá atualizar a página. Por padrão, 300 segundos (5 minutos).

Interval: 10
É o tempo, em minutos, em que o MRTG irá buscar novas informações estatísticas junto ao host. Por padrão, 5 minutos.

Language: brazilian
Linguagem que será utilizada nos arquivos HTML que o MRTG gera.

RunAsDaemon: Yes
Para rodar o MRTG como daemon (processo). Ou seja, o MRTG ficará carregado, e vai buscar os dados do host conforme o parâmetro Interval (ou nos 5 minutos padrão).

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Instalação
   3. Configuração
   4. Colocando para funcionar
   5. Conclusão e referências
Outros artigos deste autor

Abrindo arquivos TNEF

Integração MRTG e RRDTool

Futuro do software livre após as eleições

Leitura recomendada

Migração de Software Proprietário para Software Livre em Instituição Pública

Novidades e mudanças na estrutura e configuração do Grub2, fique por dentro!

Atualizando Compiz Fusion em Sabayon Linux

Gerência de projetos com Redmine

ANSIBLE Series: Teoria ... Um papo sobre DevOps

  
Comentários
[1] Comentário enviado por fabio em 19/06/2004 - 02:41h

Muito bom o artigo, parabéns!

Permita-me contribuir com uma pequena dica, que não vai fazer muita diferença, mas é bacaninha de se saber. No Debian, quando você cria um script em /etc/init.d/mrtgd por exemplo, você pode transformá-lo em serviço auto-inicializado com o comando:

# /usr/sbin/update-rc.d mrtgd defaults

ele automaticamente cria os links nas pastas de runlevel. E pra remover:

# /usr/sbin/update-rc.d -f mrtgd remove

Isso vale pra qualquer serviço que esteja em /etc/init.d. O update-rc.d é similar ao ntsysv do RedHat e derivados.

[]'s

[2] Comentário enviado por fredcosta em 19/06/2004 - 17:08h

Realmente... um artigo bem itneressante, curto e de fácil compreensão... Meus parabens!!!

Mas o MRTG não serve apenas para mostrar a carga dos links, ele é um BOMBIL.... tem mil e uma utilidades!!!

A configuração abaixo lhe possibilita monitorar:

O numero de conexões abertas via TCO
Percentual ocioso da cpu
espaco em disco da partição root
Uso da Memoria (fisica e swap)

Façam bom uso!!!!

Target[tcpopen]: tcpCurrEstab.0&tcpCurrEstab.0:COMMUNITY@IP_SERVIDOR
Options[tcpopen]: nopercent, gauge
Title[tcpopen]: Open TCP connections
PageTop[tcpopen]: <h1>Open TCP connections</H1>
MaxBytes[tcpopen]: 1000000
YLegend[tcpopen]: # conns
ShortLegend[tcpopen]: connections
LegendI[tcpopen]: Connections:
LegendO[tcpopen]:
Legend1[tcpopen]: Open TCP connections

Target[cpuidle]: ssCpuRawIdle.0&ssCpuRawIdle.0:COMMUNITY@IP_SERVIDOR
# put here 100 * the number of cpu's you have
MaxBytes[cpuidle]: 100
Title[cpuidle]: CPU IDLE time percentage
PageTop[cpuidle]: <H1>CPU IDLE time percentage </H1>
ShortLegend[cpuidle]: %
YLegend[cpuidle]: CPU Utilization
Legend1[cpuidle]: IDLE CPU in % (Load)
Legend2[cpuidle]:
Legend3[cpuidle]:
Legend4[cpuidle]:
LegendI[cpuidle]: idle:
LegendO[cpuidle]:
Options[cpuidle]:

Target[root_boot_disk]: dskPercent.1&dskPercent.1:COMMUNITY@IP_SERVIDOR
MaxBytes[root_boot_disk]: 100
Title[root_boot_disk]: DISK USAGE
PageTop[root_boot_disk]: <H1>DISK /root and /boot Usage %</H1>
Unscaled[root_boot_disk]: ymwd
ShortLegend[root_boot_disk]: %
YLegend[root_boot_disk]: DISK Utilization
Legend1[root_boot_disk]: / disk:
Legend2[root_boot_disk]:
Legend3[root_boot_disk]:
Legend4[root_boot_disk]:
LegendI[root_boot_disk]: / disk:
LegendO[root_boot_disk]:
Options[root_boot_disk]: gauge,nopercent

Target[memory]:memTotalReal.0&memTotalReal.0:COMMUNITY@IP_SERVIDOR - memAvailReal.0&memAvailReal.0:COMMUNITY@IP_SERVIDOR - memCached.0&memCached.0:COMMUNITY@IP_SERVIDOR
MaxBytes[memory]: 520000
Title[memory]: Physical memory usage
PageTop[memory]: <H1>Physical memory usage</H1>
Unscaled[memory]: ymwd
YLegend[memory]: Memory Usage
Legend1[memory]: Real memory in use
Legend2[memory]:
Legend3[memory]:
Legend4[memory]:
LegendI[memory]: real mem in use :
LegendO[memory]:
ShortLegend[memory]: B
kMG[memory]: K,M,G,T,P
Options[memory]: gauge,nopercent

Target[swap_memory]:memTotalSwap.0&memTotalSwap.0:COMMUNITY@IP_SERVIDOR - memAvailSwap.0&memAvailSwap.0:COMMUNITY@IP_SERVIDOR
MaxBytes[swap_memory]: 1010000
Title[swap_memory]: Swap memory usage
PageTop[swap_memory]: <H1>Swap memory usage</H1>
Unscaled[swap_memory]: ymwd
YLegend[swap_memory]: Memory Usage
Legend1[swap_memory]: Swap memory in use
Legend2[swap_memory]:
Legend3[swap_memory]:
Legend4[swap_memory]:
LegendI[swap_memory]: Swap mem in use :
LegendO[swap_memory]:
ShortLegend[swap_memory]: B
kMG[swap_memory]: K,M,G,T,P
Options[swap_memory]: gauge,nopercent

[3] Comentário enviado por jeffestanislau em 21/06/2004 - 08:05h

10, ficou show o artigo!!!

[4] Comentário enviado por agk em 21/06/2004 - 08:52h

Parabéns muito bom o artigo. Dou aqui também meu byte de contribuição, você pode usar o rcconf do Debian para inicializar automaticamente scripts. É só colocar o script ou criar um link dele em /etc/init.d e depois executar rcconf que ele vai aparecer na lista de serviços do sistema.
Abraços.

[5] Comentário enviado por iceknight em 21/06/2004 - 11:02h

É possivel colocar o mrtg para monitorar um computador ???
Tentei usar essa configuração do tutorial para mostrar informações de uma maquina linux, seria possivel ?

Valeu

[6] Comentário enviado por removido em 21/06/2004 - 11:22h

Olá!! Eu não entendi como configurar o mrtg... mais especificamente no cfgmaker... para monitorar minha eth1 ou eth0, como eu devo fazer?? O que preciso colocar em community@router.abc.xyz sendo que eu não tenho uma comunidade SNMP... Se puder me ajudar, eu agradeço! :)

[7] Comentário enviado por gregorye em 22/06/2004 - 00:19h

Bah! tb nun consegui configurar!

[8] Comentário enviado por removido em 23/06/2004 - 14:37h

Encontrei outro artigo que me ajudou a configurar perfeitamente o MRTG, está funcionando 100% para as duas placas de rede, memória e CPU.... http://brlinux.linuxsecurity.com.br/tutoriais/001627.html

[9] Comentário enviado por jhenrique em 23/06/2004 - 17:11h

Ao Fábio e Agk: Agradeço às dicas. Eu particularmente não sabia que poderia criar os links dessa forma.

Ao Virtualboy: realmente, o artigo do Augusto (brlinux.org) explica como realizar a configuração do MRTG de forma simplificada. Lamento não ter visto antes o seu comentário, senão, teria recomendado este artigo (apesar de não ter testado implementar o MRTG desta forma).

Ao Iceknight: Eu coloquei o MRTG para monitorar computadores somente uma vez, e me utilizando dos Scripts que estão na Lista MRTG-BR, cedidos pelo Vicente. Porém, acredito que o artigo do Augusto, indicado pelo Virtualboy, irá lhe ajudar.

E à todos: agradeço pelos elogios neste primeiro artigo, e espero ter contribuído com a comunidade Linux.

[10] Comentário enviado por gregorye em 30/10/2004 - 11:05h

porque pra mim ele fica só o cabeçalho e não gera o resto dos gráficos ??????

MRTG Index Page



version 2.9.17 Tobias Oetiker <oetiker@ee.ethz.ch> and Dave Rand <dlr@bungi.com>


fico no aguardo contato@enos.com.br

[11] Comentário enviado por guitarloko em 20/12/2004 - 14:47h

mto bom o artigo!!

[12] Comentário enviado por pogo em 21/12/2004 - 21:04h

o artigo ficou realmente muito bom! parabéns! parabéns também ao fredcosta pela ótima dica.... me ajudou muito!

[13] Comentário enviado por leysen em 08/04/2005 - 11:31h


este artigo irá facilitar muito no meu trabalho, valeu! jhenrique

[14] Comentário enviado por jhenrique em 27/04/2005 - 12:13h

Versão Melhorada do artigo em http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=2394, com integração ao RRDTool.

[15] Comentário enviado por itaipava em 06/05/2005 - 18:28h

quando eu coloco para roda da este erro

ERROR: Line 21 ( WorkDir: /home/pagina/dominio/public_html/mrtg/) in CFG file (/etc/mrtg.cfg) does not make sense


[16] Comentário enviado por digaossa em 13/06/2005 - 09:15h

O artigo e bem legal, porém hoje há outros aplicativos com funcoes semelhantes, por exemplo ainda não descobri um melhor que o cacti!!

Seu artigo ta 10, explica direitinho!!

[17] Comentário enviado por bique em 18/11/2005 - 08:26h

Beleza...

[18] Comentário enviado por fnpaulinos em 22/03/2006 - 18:34h

Olá Júlio,

Primeiramente, parabéns pelo artigo, está muito bom e fácil de entender.
Segundo, estou estudando algumas idéias para implementação de algumas ferramentas para gerenciamento e muitas pessoas indicam o Nagios ou o MRTG como possíveis soluções. Porém já vi algumas pessoas implementando servidores com as duas soluções. Você sabe me dizer quais as diferenças fundamentais do Nagios e o MRTG e porque algumas pessoas implementariam as duas soluções?

Desde já agradeço.
Fábio Nunes

[19] Comentário enviado por kleitonlrsoares em 01/04/2006 - 09:27h

Opa, muito bom este artigo, realmente o MRTG é mão na roda para monitoração de ambiente, utilizo em minha empresa e sempre consigo gerar relatórios sobre utilização desde a ventoinha do pc até o uso da VPN. Agora precisamos só fazer um do SARG, já fiz 2 vezes mas o pessoal deixa no forno aqui !

Abraços e parabêns !

[20] Comentário enviado por servslack em 13/07/2006 - 11:21h

Gostei do seu artigo, mas gostaria de saber como integrar o mrtg + rrdtool. Já vi um artigo aqui no vivaolinux que explica sucintamente como fazer, mas não consegui fazer funcionar. Trabalho em uma empresa onde fazemos o uso constante do MRTG. Porém gostaria de implementar está melhoria que se dá na forma do armazenamento dos arquivos estáticos. Se alguem já tiver implenetado por favor me dê um alô via mail ok ? servslack@yahoo.com.br

[21] Comentário enviado por agk em 13/07/2006 - 15:54h

post errado, desculpem-me.

[22] Comentário enviado por eudson em 19/07/2006 - 13:32h

kra por exemplo tenho dois servidores q sao gateways e um ink em cada um.. Tem como eu fazer uma comparacao entre os dois, gerar um relatorio mostrando a diferenca entre eles (quem consumiu mais, quais momentos, etc...)

[23] Comentário enviado por balani em 16/09/2006 - 13:52h

Esse artigo vai me ajudar muito, parabens ficou bom, vlw

[24] Comentário enviado por Jr_Pamplona em 13/04/2007 - 19:02h

Seria possivel utilizar o MRTG como software supervisório, para um equipamento externo(geralmente ligado a porta serial) como um CLP (Controlador Lógico Programável)?

[25] Comentário enviado por alexandre.master em 15/05/2007 - 19:42h

Galera ao utilizar a dica: http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=6400

eu tive um erro com o mrtg.
Estou usando o Debian Etch 4.0. O erro foi o seguinte:
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 /etc/mrtg/mrtg.cfg

[26] Comentário enviado por jhenrique em 15/06/2009 - 11:41h

Artigo revisto e atualizado em

http://imasters.uol.com.br/artigo/13115/linux/monitoramento_de_trafego_no_centos_com_mrtg/

[27] Comentário enviado por donabuba em 21/07/2009 - 11:56h

Tive um problema ao startar o meu Httpd. Ocorreu o seguinte erro:

Iniciando httpd: httpd: Syntax error on line 210 of /etc/httpd/conf/httpd.conf: Syntax error on line 3 of /etc/httpd/conf.d/mrtg.conf: /etc/httpd/conf.d/mrtg.conf:9: <> was not closed.\n/etc/httpd/conf.d/mrtg.conf:3: <> was not closed. [FALHOU]

[28] Comentário enviado por jhenrique em 21/07/2009 - 12:09h

Existe um erro (de sintaxe) em seu /etc/httpd/conf.d/mrtg.conf. Dê uma conferida.


Um abraço,


Júlio Henrique
http://www.teklinux.com.br

[29] Comentário enviado por donabuba em 22/07/2009 - 13:02h

O problema agora foi na hora de fazer o index. Ele retornou o erro seguinte:

Use of uninitialized value in hash element at /usr/bin/indexmaker line 352.

ERROR: creating /var/www/html/mrtg/192.168.10.153/index.html: Arquivo ou diretório não encontrado


Mas o diretorio existe!!!

[30] Comentário enviado por manoserpa em 28/11/2009 - 09:35h

Eu gostaria de saber como configurar para monitoras as interfaces das outras estações da rede...

[31] Comentário enviado por nunesdutra em 13/04/2012 - 11:56h

Simples, só instalar o SNMPD na maquina que você precisa e alterar o arquivo mrtg.cfg na servidora e coloca o IP que precisa.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts