Você está na página 1de 6

UNIVERSIDADE CATLICA DE PELOTAS CENTRO POLITCNICO BACHARELADO EM CINCIA DA COMPUTAO REDE DE COMPUTADORES II Prof. Dr. Adenauer C.

Yamin

MRTG
Bruno Andretti Duarte <brunoandrettiduarte@gmail.com>

Resumo. Este artigo descreve um breve resumo da ferramenta MRTG, uma ferramenta de monitorao que gera pginas HTML com grficos de dados coletados a partir de SNMP ou scripts externos. conhecido principalmente pelo seu uso na monitorao de trfego de rede, mas pode monitorar qualquer coisa desde que o host fornea os dados via SNMP ou script. Foi escrito em Perl, mas utiliza um mdulo em C para gerar os grficos.

1. Introduo
O MRTG (Multi Router Traffic Grapher) foi desenvolvido para monitorar o trfego em uma interface de rede de um dispositivo gerenciado, atravs da gerao de grficos onde mostrada a evoluo deste trfego ao longo do tempo. Porm, a utilizao do MRTG em larga escala e medida que a quantidade de equipamentos a ser monitorado aumenta, apresenta uma degradao do desempenho. Isso ocorre porque alm de coletar as informaes de cada equipamento, o MRTG ainda responsvel pela criao das pginas com os grficos que sero exibidos.

2. MRTG
O MRTG (Multi Router Traffic Grapher) uma ferramenta de monitoramento que gera pginas html com grficos de dados coletados a partir de SNMP. conhecido principalmente pelo seu uso no monitoramento de trfego de rede, mas pode monitorar qualquer coisa desde que o host fornea os dados via SNMP ou scripts. O MRTG um programa muito til na anlise de trfego de uma rede, mas tambm pode monitorar outras variveis tais como a utilizao do HD, temperatura de hardware, uso do processador etc, tornando-se uma ferramenta de grande valor, alm de ser um software livre, ele pode ser configurado no sistema Linux e no sistema Windows. A ferramenta MRTG pode gerar grficos que visualizam o uso da banda de rede em termos de velocidade usando alertas como thresholds que iram facilitar o gerenciamento. Sendo um software livre que facilite muito a tarefa de acompanhar o funcionamento de um sistema ou uma rede atravs do protocolo SNMP, podemos citar algumas caractersticas dessa ferramenta: Medio de dois valores, no caso de trfego, podem ser entrada e sada. Leitura via SNMP ou atravs de script que retorne um formata padro. Coleta dados a cada 5 minutos por padro, mas o tempo pode ser aumentado. Gera uma pgina em html com 4 grficos (dirio, semanal, mensal e anual).

O MRTG pode avisar caso o grfico atinja um valor pr-estabelecido. Por exemplo: se determinado servidor atinge 95% do espao de disco, o MRTG pode encaminhar um e-mail para o administrador informando o ocorrido. Com a ferramenta CFGMAKER gera os arquivos de configurao.

Com a ferramenta INDEXMAKER gera uma pgina com ndice para os casos em que muitos itens so monitorados.

2.1. Exemplos de grficos do MRTG


Um pequeno exemplo da Figura (1) a Figura (4), mostra a gerao de um grfico no monitoramento de trfego em uma rede onde so verificados os bits de entrada e sada.

Figura (1) Grfico do monitoramento dirio com a ferramenta MRTG.

Figura (2) Grfico do monitoramento semanal com a ferramenta MRTG.

Figura (3) Grfico do monitoramento mensal com a ferramenta MRTG.

Figura (4) Grfico do monitoramento anual com a ferramenta MRTG.

3. O protocolo SNMP
O protocolo SNMP - Simple Network Management Protocol (Protocolo Simples de Gerncia de Rede) pode ser usado para o gerenciamento dos dispositivos conectados a uma rede local de forma simples e direta. O SNMP foi desenvolvido nos anos 80 como resposta para os problemas de gerenciamento em ambientes TCP/IP, envolvendo redes heterogneas. Inicialmente foi concebido para ser apenas uma soluo provisria at o desenvolvimento de um protocolo de gerenciamento mais completo, o CMIP (Common Magement Information Protocol). Neste contexto, sem um protocolo melhor disponvel, o SNMP passou a ser o protocolo mais utilizado e sendo adotado por uma grande quantidade de fabricantes e com isto cada vez mais equipamentos oferecem funcionalidades de gerenciamento por SNMP, de modo a facilitar tarefas como a deteco de falhas, a visualizao de grficos e as notificaes de como anda o equipamento ou servio. Os pioneiros na implantao dos protocolos SNMP foram os fornecedores de bridges e roteadores. Normalmente, o fornecedor desenvolve o agente SNMP e posteriormente desenvolve uma interface para a estao gerente da rede. Em geral, estes produtos funcionam para vrios sistemas operacionais, como Microsoft Windows NT e superiores, Linux e outros, e muito comum que estes fornecedores incluam bibliotecas e utilitrios que permitam a criao de aplicaes de gerenciamento com caractersticas especficas para alguns componentes da rede. As implementaes bsicas do SNMP permitem monitorar e isolar falhas, j as aplicaes mais sofisticadas permitem gerenciar o desempenho e a configurao da rede. Estas aplicaes, em geral, incorporam menus e alarmes para facilitar a interao com o profissional que est gerenciando a rede. O funcionamento do SNMP define duas entidades para o gerenciamento, as quais trocam informaes entre si atravs de requisies do tipo cliente-servidor. O gerente SNMP (cliente) realiza basicamente duas operaes: a leitura de valores para o monitoramento do dispositivo gerenciado e a escrita onde for possvel efetuar a alterao de valores deste dispositivo. O agente SNMP (servidor) fica ento responsvel por responder s solicitaes do gerente e alterar as informaes quando solicitada tal operao, alm de notificar o gerente no caso de ocorrer alguma exceo. Toda a inteligncia do processo fica na estao de gerncia permitindo que o agente seja uma aplicao muito simples e com o mnimo de interferncia no dispositivo em que est sendo executado. As decises tomadas na ocorrncia de problemas e as funes de relatrios ficam sob responsabilidade do gerente.

Figura (5) Representao da interao entre Agente e Gerente

3.1. Agente SNMP


O Agente responsvel pela manuteno dos dados na gerncia da mquina e efetuam as requisies dos gerentes nas MIBs dos dispositivos, dessa maneira a comunicao entre um agente e um gerente feito via protocolo de transporte UDP. As principais funes que um agente exerce atender as requisies enviadas pelo gerente e enviar automaticamente informaes de gerenciamento ao gerente quando previamente programado.

3.2. Gerente SNMP


O gerente uma aplicao em execuo em uma estao de gerenciamento. possvel que exista um ou mais gerentes em execuo em uma mesma estao colaborando entre si para o gerenciamento e todos eles utilizam o protocolo de gerncia disponibilizado por essa estao. Essas aplicaes so capazes de monitorar os agentes atravs de requisies de informaes contidas na base de informaes de gerenciamento e de alterar as caractersticas dos nodos gerenciados, informando novos valores ao agente. Os gerentes so os responsveis pela implementao da poltica que ser adotada na gerncia e eles so acessveis pessoa ou entidade responsvel pelo gerenciamento do nodo. O envio de alarmes por e-mail, chamadas telefnicas, mensagens para telefones celulares ou outras formas de comunicao com o administrador so comuns nestes aplicativos. Alm disso, a visualizao das grandezas e estados dos equipamentos fundamental neste tipo de aplicao. Outra forma de visualizao interessante a apresentao de grficos que mostrem a evoluo de valores ou condies do equipamento ao longo do tempo, fornecendo informaes sobre tendncia de comportamento dos equipamentos.

3.3. Operaes do protocolo SNMP


O protocolo SNMP possui duas operaes bsicas: Operao SET: utilizada para mudar o valor da varivel quando solicitada pelo gerente ao agente. Operao GET: utilizada para ler o valor da varivel quando solicitado pelo gerente ao agente.

4. Linguagem Perl
A linguagem Perl uma programao estvel e multiplataforma, assim como outras linguagens da Internet como Java script ou APS, sendo destacado o seu uso no desenvolvimento de aplicaes web de todos os tipos, ou seja, o cdigo dos scripts em Perl no se compila e sim a cada execuo se l o cdigo e coloca-se ele em funcionamento. Com Perl as tarefas ditas fceis ficam ainda mais simples de se executar e as ditas difceis so simplificadas ao mximo, assim podemos concluir algumas caractersticas: Os tipos e as estruturas usadas pela Perl so fceis de entender e usar; Perl gratuita; Perl pega emprestado elementos de outras linguagens como (Python, C, BASIC, awk, ingls e grego); Voc pode incorporar Perl em outras linguagens e incorporar outras linguagens em Perl; Perl protege o programador contra erros de segurana acidentais, atravs de um mecanismo de rastreamento de dados que impede operaes perigosas antes que elas venham a acontecer. Strings e arrays podem crescer at o tamanho desejado pelo programador;

4.1. Exemplo de cdigo em Perl


A primeira linha de um cdigo em Perl deve sempre comear com uma indicao do caminho onde est o seu executvel no computador: #!/usr/bin/perl Ol, mundo! #!usr/bin/perl Print Ol, mundo\n; Unlink $0; Comentrio # Isto um comentrio em Perl

Note o ponto-e-vrgula no final de cada expresso. Assim como em C e c++, Perl exige que o usemos para indicar o final de uma expresso. A ltima linha a que apaga o arquivo. unlink equivale a 'rm' e $0 uma referncia simples ao arquivo que est sendo executado. Expresso regular - Filtro O programa a seguir l um texto e substitui qualquer ocorrncia da string "foo" por "bar", imprimindo a linha transformada na tela: while(<>) { s/foo/bar/g; print; } possvel obter o mesmo resultado com uma nica linha (um "one-liner"): perl -pi -e 's/foo/bar/g' arquivo.txt De fato, comum a ocorrncia de problemas que exigem dezenas de linhas em outras linguagens de programao mas que podem ser resolvidos com uma nica linha de cdigo em Perl, especialmente na rea de ETL.

5. Concluso
O MRTG se apresenta como uma grande ferramenta de monitoramento, no s do trfego de uma rede, mas de todo um sistema de computador assim tornando-se, no s uma ferramenta, mas um grande aliado na anlise de dados e nos trabalhos dos pesquisadores e estudantes da rea de informtica.

Referncias < http://pt.wikipedia.org/wiki/Multi_Router_Traffic_Grapher> < http://pt.wikipedia.org/wiki/Simple_Network_Management_Protocol> <http://pt.wikipedia.org/wiki/Perl> < http://oss.oetiker.ch/mrtg/> < http://www.brunorusso.eti.br/howto/mrtg/>