MRTG
Multi Router
Traffic Grapher
Alunos: Mateus Matias Luiz
Edu Rodrigues
Higor Rocha
Luis Henrique
Índice
Introdução... 3
Características... 4
Gerenciamento de Rede... 5
Tutorial... 6
Gráficos... 7
Bibliografia... 8
Introdução
O Multi Router Traffic Grapher (MRTG) é uma ferramenta de monitoração que gera páginas HTML com gráficos de dados coletados a partir de SNMP (Simple Network Management Protocol) ou SCRIPTS externos. É conhecido principalmente pelo seu uso na monitoração de tráfego de rede, mas pode monitorar qualquer coisa desde que o host forneça os dados via SNMP ou script. Foi escrito em Perl, mas utiliza um módulo em C para gerar os gráficos HTML.
MRTG consiste em um script Perl que usa SNMP para ler os contadores de tráfego de seus roteadores e um programa rápido C que registra os dados de tráfego e cria belos gráficos que representam o tráfego na conexão de rede monitorada. Estes gráficos são incluídos em páginas web que podem ser vistos a partir de qualquer navegador da Web moderno.
Além de uma detalhada visão diária o MRTG também cria representações visuais do tráfego durante os últimos sete dias, nas últimas cinco semanas e nos últimos 12 meses. Isso é possível porque o MRTG mantém um registro de todos os dados que ele conseguiu a partir do roteador. Este log é automaticamente consolidado de forma que ele não cresce ao longo do tempo, mas ainda assim contêm todos os dados relevantes para todo o tráfego visto ao longo dos últimos dois anos. Isto tudo é realizado de uma maneira eficiente. Portanto, você pode monitorar mais de 200 ligações de rede a partir de qualquer estação UNIX decente. MRTG não se limita a monitorar o tráfego, no entanto, é possível monitorar qualquer variável SNMP que você escolher. Você ainda pode usar um programa externo para coletar os dados que devem ser monitorados via MRTG.
Características
MRTG
Mede sempre 2 valores, no caso de tráfego, pode ser Entrada e
Saída.
Faz as leituras via SNMP ou através de script que retorne um
formato padrão.
Coleta dados a cada 5 minutos por padrão, mas este tempo pode ser
aumentado ou diminuído.
Cria uma página HTML com 4 gráficos (diário, semanal, mensal e
anual). Se algum deles não for necessário pode ser suprimido.
O MRTG pode avisar caso o valor do gráfico atinja um valor
pré-estabelecido. Por exemplo: se determinado servidor atinge 95% do espaço do disco, o MRTG pode mandar um e-mail para o administrador informando o ocorrido.
Possui uma ferramenta para gerar os arquivos de configuração: o
CFGMAKER.
Possui uma ferramenta para gerar uma página de índice para osInformações do Gerenciamento de Rede
A função de gerenciamento de rede é a observação e análise do
estado e comportamento dos dispositivos gerenciados.
Ao utilizar um software gerente para verificar o estado operacional
de uma ou mais interfaces de rede ou qualquer variável SNMP que você escolher, está efetuando uma função de monitoração.
Gerenciar um sistema consiste em supervisionar e controlar seu
funcionamento para que ele satisfaça aos requisitos tanto dos seus usuários quanto dos seus proprietários.
Gerente: Núcleo do Gerenciamento de Redes onde os
processamentos das solicitações de requisições são feitas.
Agente: Programa que coleta dados de um objeto e envia para
gerente processar.
Tutorial
Instalação do MRTG no Linux CentOS 6.4 através de comandos
Instalar o MRTG e o apache: Comando: yum install mrtg httpd
Habilitar para o httpd iniciar junto com o sistema: Comando: chkconfig httpd on
Liberar o mrtg no httpd:
comando: vim /etc/httpd/conf.d/mrtg.conf Mudar o conteúdo para:
Alias /mrtg /var/www/mrtg <Loacation /mrtg>
Order deny,allow #Deny from all
#Allow from 127.0.0.1 Allow from all
#Allow from .example.com <Loacation>
Reiniciar o apache:
comando: service httpd restart
acessar o endereço no navegador para cofirmar que o apache esteja rodando :
Depois de instalado acessar o diretório do MRTG.
comando: cd /etc/mrtg
Criar copia de backup do arquivo mrtg.conf:
comando: cp /etc/mrtg/mrtg.cfg /etc/mrtg/mrtg.cfg.bkp Editar o arquivo mrtg.conf:
comando: vim /etc/mrtg/mrtg.cfg
Substituir todo o conteúdo do arquivo mrtg.conf:
#--- --- #Configurando MRTG WorkDir: /var/www/mrtg Htmldir: /var/www/mrtg icondir: /mrtg Refresh: 300 Interval: 5 Language: portuguese RunAsDaemon:Yes
#LogFormat: rrdtool [caso queira usar RRDTOOL descomentar esta linha e apagar este comentário]
#---# Monitorar eth0 # REDE LOCAL #---
Target[eth0]: `cat /proc/net/dev |grep eth0 |awk -F':' '{print $2}' |awk '{print $1}'; cat /proc/net/dev |grep eth0 | awk -F':' '{print $2}' |awk '{print $9}'; echo -e; echo -e`
Title[eth0]: REDE - Utilização da placa de rede eth0 PageTop[eth0]: <H1>Estatísticas da interface eth0:</H1> Options[eth0]: printrouter, growright, bits, noarrow MaxBytes[eth0]: 1250000000
YLegend[eth0]: Bits por segundo
LegendI[eth0]: Entrada (download) de dados LegendO[eth0]: Saída (upload) de dados
Legend1[eth0]: Tráfego de Entrada (download) de dados em Bits por segundo
Legend2[eth0]: Tráfego de Saída (upload) de dados em Bits por segundo Colours[eth0]: VERDE#008000,AZUL#000080,DARK GREEN#006000,VIOLET#FF00FF XSize[eth0]: 550 YSize[eth0]: 250 TimeStrPos[eth0]: RU
#---# Monitorar loopback # REDE LOOPBACK #---
Target[lo]: `cat /proc/net/dev |grep lo |awk -F':' '{print $2}' |awk '{print $1}'; cat /proc/net/dev |grep lo | awk -F':' '{print $2}' |awk '{print $9}'; echo -e; echo -e`
Title[lo]: REDE - Utilização da placa de loopback
PageTop[lo]: <H1>Estatísticas da interface loopback:</H1> Options[lo]: printrouter, growright, bits, noarrow
MaxBytes[lo]: 1250000000 YLegend[lo]: Bits por segundo
LegendI[lo]: Entrada (download) de dados LegendO[lo]: Saída (upload) de dados
Legend1[lo]: Tráfego de Entrada (download) de dados em Bits por segundo
Legend2[lo]: Tráfego de Saída (upload) de dados em Bits por segundo Colours[lo]: VERDE#008000,AZUL#000080,DARK GREEN#006000,VIOLET#FF00FF XSize[lo]: 550 YSize[lo]: 250 TimeStrPos[lo]: RU
#---# Monitorar UPTIME Uso do processador # Servidor CentOS
#---
Target[cpu]: `/etc/mrtg/mrtg-cpu.sh` Title[cpu]: Uso do Processador
PageTop[cpu]: <H1>Uso do Processador:</H1> Options[cpu]: gauge, printrouter, growright, noarrow MaxBytes[cpu]: 100
YLegend[cpu]: Porcentagem ShortLegend[cpu]: %
LegendI[cpu]: CPU-1 LegendO[cpu]: CPU-2
Legend1[cpu]: CPU-1 utilizada Legend2[cpu]: CPU-2 utilizada
Colours[cpu]: AMARELO#FFFF00,VERMELHO#FF0000,DARK GREEN#006000,VIOLET#FF00FF XSize[cpu]: 550 YSize[cpu]: 250 TimeStrPos[cpu]: RU
#---# Monitoramento do ping do servidor # Servidor CentOS
#---
Target[ping]: `/etc/mrtg/ping.sh`
Title[ping]: Monitoramento do Link de Internet (PING) MaxBytes[ping]: 4000
PageTop[ping]: <H1>Monitoramento do Link (Ping):</H1> Options[ping]: growright,unknaszero,nopercent,gauge LegendI[ping]: Pacotes Perdidos %
LegendO[ping]: Media RTT YLegend[ping]: RTT (ms) XSize[ping]: 550
YSize[ping]: 250 TimeStrPos[ping]: RU
# final do arquivo de configuração
#--- ---
Criar o arquivo mrtg-cpu.sh:
comando: vim /etc/mrtg/mrtg-cpu.sh
Dentro do arquivo coloque a seguinte linha de comando: #!/bin/bash
echo 0
Criar o arquivo ping.sh:
comando: vim /etc/mrtg/ping.sh
Dentro do arquivo coloque a seguinte linha de comando: #!/bin/sh
PING="/bin/ping" # Google, for example ADDR="google.com"
DATA=`$PING -c10 -s500 $ADDR -q `
LOSS=`echo $DATA | awk '{print $18 }' | tr -d %` echo $LOSS
if [ $LOSS = 100 ]; then
echo 0 else
echo $DATA | awk -F/ '{print $5 }' fi
############################################################### ###
Dar permissões de escrita e leitura a todos:
comando: chmod 0777 mrtg-cpu.sh cpu.sh eth1.sh ping.sh
Gerar o arquivo index .html:
comando: indexmaker --output=/var/www/mrtg/index.html /etc/mrtg/mrtg.cfg
E por fim acesse o endereço no navegador: