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: 307.930 ]

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


Instalação



Para instalar e utilizar o MRTG no Debian GNU/Linux, você precisa de um compilador C e uma versão do Perl instalada no equipamento. Na maioria das instalações padrão, ambos estão disponíveis. Caso não estejam, o utilitário de obtenção de pacotes da distribuição Debian, o apt-get, irá encarregar-se de instalá-los, uma vez que este analisa as dependências do pacote do MRTG.

Da mesma maneira, são necessárias algumas bibliotecas para que o MRTG possa gerar gráficos de estatísticas de tráfego: libgd, libpng, zlib, as quais o apt-get também se encarrega de instalar, caso estas não estejam pré-instaladas.

Uma vez instalado o sistema operacional (Debian GNU/Linux), obtém-se acesso de root à máquina, logando-se como tal, ou através do comando "su". Em seguida é recomendável atualizar a lista de pacotes disponíveis ao apt-get, conforme abaixo:

# apt-get update

O apt-get irá atualizar as informações dos pacotes disponíveis nos repositórios configurados (CDROMs, servidores HTTP, servidores FTP, sistema de arquivos, etc).

Como iremos utilizar os gráficos em HTML gerados pelo MRTG, vamos também fazer a instalação de um webserver nesta máquina. Por ser o mais utilizado, vamos cobrir o Apache (http://httpd.apache.org) neste artigo. Caso o mesmo não esteja instalado, pode ser através do comando:

# apt-get install apache

Isso irá instalar o Apache e suas dependências. Em seguida, podemos realizar a atualização do pacote do MRTG (e, conseqüentemente, de suas dependências):

# apt-get install mrtg

O apt-get irá instalar o pacote e questionar se o arquivo /etc/mrtg.cfg deve estar acessível somente ao usuário do MRTG. Pode-se responder que sim; porém, eu particularmente prefiro criar um arquivo de configuração do MRTG para cada host a ser monitorado. Por isso, eu crio um diretório chamado /etc/mrtg, contendo os arquivos de configuração, os quais veremos em detalhes mais adiante.

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

ManageIQ: Gerencie a sua infraestrutura de TI Híbrida através de uma única plataforma

Instalação e Integração GLPI + OCS

DD-WRT no D-Link Dir-300 Rev A

Kdrive, um X em miniatura

Monte seu próprio servidor de ICQ

  
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