Monitorando roteadores com MRTG usando SNMP

MRTG é uma ferramenta usada para monitorar o tráfego de dispositivos de rede e como resultado, gerar gráficos de seu uso através de páginas HTML.

[ Hits: 77.806 ]

Por: Hugo Rebello em 25/07/2006


Configuração do MRTG



Não vou abordar a instalação do MRTG, pois hoje em dia ele está incorporado em muitas distribuições e a sua instalação é bem simples.

Na criação dos arquivos CFG iremos utilizar o comando cfgmaker. Nesse exemplo poderemos monitorar vários roteadores ao mesmo tempo.

O objetivo da configuração abaixo é a monitoração da utilização dos links Frame- Relay.

Antes de executar o comando "cfgmaker", vamos criar a estrutura de diretório onde iremos armazenar as páginas HTML que serão geradas pelo MRTG. No meu caso estou usando o Fedora Core 3 e o diretório foi criado na instalação do pacote RPM do MRTG:

# mkdir /var/www/mrtg

Abaixo desse diretório criarei um subdiretório para cada um dos roteadores. Exemplo: /var/www/mrtg/router1 e /var/www/mrtg/router2.

Com a estrutura criada irei gerar o arquivo .cfg que será usado pelo MRTG:

# cfgmaker --global "Workdir: /var/www/mrtg/router1" --global "Options[_]: growright,bits" public@192.168.1.1 > /etc/mrtg_router1.cfg

Vamos explicar o comando acima:

1. A opção --global indica que a opção a seguir será usada para todas as interfaces dentro do arquivo .cfg. No caso o "Workdir" (diretório de trabalho) será o /var/www/mrtg/router1, onde as páginas HTML serão geradas.

2. "Options[_]" também usando uma opção global, será usado para todas as interfaces monitoradas por esse arquivo .cfg, nesse caso estamos determinando que os dados monitorados serão mostrados em bits.

3. Na seqüência do comando temos a opção "public@endereço_IP". Isso significa que iremos monitorar a máquina com o endereço IP 192.168.1.1 usando a comunidade SNMP public.

DICA: Não esqueçam de configurar no roteador uma comunidade não publica e que seja somente read only. Isso é importante para a segurança do seu roteador.

4. A última opção é o diretório e nome do arquivo que iremos criar o arquivo .cfg. Nesse caso será criado o arquivo mrtg_router1.cfg no diretório /etc.

Veja um exemplo do arquivo .cfg:

# Created by
# /usr/bin/cfgmaker --global 'Workdir: /var/www/mrtg/router1' --global 'Options[_]: growright,bits' public@192.168.1.1 > /etc/mrtg_router1.cfg


### Global Config Options

# for UNIX
# WorkDir: /home/http/mrtg

# or for NT
# WorkDir: c:mrtgdata

### Global Defaults

# to get bits instead of bytes and graphs growing to the right
# Options[_]: growright, bits


Language: brazilian # Essa linha não vem configurada por padrão, você pode acrescentá-la, estaremos alterando a linguagem da nossa página HTML com os gráficos gerados
# EnableIPv6: no
Workdir: /var/www/mrtg/router1
Options[_]: growright,bits
WithPeak[_]: wmy # Essa linha é importante, com essa opção nós conseguiremos gerar gráficos com os picos do tráfego máximo de entrada e os picos de tráfego máximo de saída. As opções "wmy" são: gráficos semanais "w", gráficos mensais "m" e gráficos anuais "y"

Abaixo um exemplo de monitoração da interface serial de um roteador onde o MRTG irá capturar todas as informações para a geração do gráfico em HTML:

#####################################
# System: sc10r
# Description: Cisco Internetwork Operating System Software
# IOS (tm) C1700 Software (C1700-Y-M), Version 12.2(11)T10, RELEASE SOFTWARE (fc3)
# TAC Support: http://www.cisco.com/tac
# Copyright (c) 1986-2003 by cisco Systems, Inc.
# Compiled Thu 23-Oct-03 13:28 by eaarma
# Contact:
# Location:
#####################################


### Interface 2 >> Descr: 'Serial0' | Name: 'Se0' | Ip: '' | Eth: '' ###
### The following interface is commented out because:


Target[192.168.1.1_2]: 2:public@192.168.1.1:
SetEnv[192.168.1.1_2]: MRTG_INT_IP="" MRTG_INT_DESCR="Serial0"
MaxBytes[192.168.1.1_2]: 16000
Title[192.168.1.1_2]: Traffic Analysis for 2 -- sc10r
PageTop[192.168.1.1_2]: <H1>Traffic Analysis for 2 -- sc10r</H1>
  <TABLE>
    <TR><TD>System:</TD>     <TD>sc10r in </TD></TR>
    <TR><TD>Maintainer:</TD> <TD></TD></TR>
    <TR><TD>Description:</TD><TD>Serial0 *Acesso SPO* </TD></TR>
    <TR><TD>ifType:</TD>     <TD>frame-relay (32)</TD></TR>
    <TR><TD>ifName:</TD>     <TD>Se0</TD></TR>
    <TR><TD>Max Speed:</TD>  <TD>128.0 kbits/s</TD></TR>
</TABLE>
Página anterior     Próxima página

Páginas do artigo
   1. O que é o MRTG
   2. Configuração do MRTG
   3. Geração dos HTMLs
Outros artigos deste autor

Instalação e configuração do Nagios

Leitura recomendada

Debian como servidor DHCP no VirtualBox

Utilizando certificados e-CNPJ e e-CPF no Linux

Instalando o Debian (ilustrado)

Iniciando seu Linux através do NTLoader do Windows 2000/XP

Apache + MariaDB + PHP + phpMyAdmin no CentOS 7

  
Comentários
[1] Comentário enviado por thelinux em 25/07/2006 - 13:22h

Cara, parabéns pelo tuto. Não cheguei a testar. Mas a sua dica é valiosa.
Uso a tempos o MRTG.

[2] Comentário enviado por fernoliv em 25/07/2006 - 17:11h

Bom artigo, parabéns!

O MRTG pode ser utilizado em conjunto com o CACTI, ou até substituído por este, uma vez que ele tem a mesma finalidade (coleta através de SNMP e gera gráficos através do RRDTool), porém utiliza PHP e grava informações do pooling em base de dados MySQL. Desta forma, ele torna-se mais leve e é possível ter um histórico de sua monitoração por até 2 anos e buscá-la a qualquer momento de forma dinâmica. O Cacti pode ser obtido em www.cacti.net.

Isso é apenas um complemento. Mérito ao Hugo pela atitude e clareza na confecção de seu artigo.

Abraço, Fernando.

[3] Comentário enviado por moisesos em 07/08/2006 - 10:03h

Gostei do artigo, so nao estou conseguindo colocar o snmp pra funcionar, da o seguinte erro:
[root@servidor ~]# snmpwalk localhost public interfaces
snmpwalk: No securityName specified

uso o fedora core 4.

valeu


[4] Comentário enviado por pauloric9 em 02/12/2008 - 11:53h

fiz todos esse passo so na hora de executar o cfgmaker ele diz que cfgmaker: command not found você tem alguma dica que posso me ajudar como resolver esse problema

[5] Comentário enviado por pauloric9 em 02/12/2008 - 11:53h

Bom dia

Fiz todos esse passo so na hora de executar o cfgmaker ele diz que cfgmaker: command not found você tem alguma dica que posso me ajudar como resolver esse problema. Fico muito agradecido

[6] Comentário enviado por qxada07 em 20/10/2010 - 18:33h

Cara... Parabéns pelo artigo....

Realizei o procedimento e funfou certinho......

Para quem quizer gerenciar o grafico de um router Cisco e não sabe configurar a comunidade snmp, segue abaixo......

Após executar o "conf t", execute os comandos abaixo...

snmp-server community NOME_COMUNIDADE RO
snmp-server packetsize 2048
snmp-server enable traps snmp
snmp-server enable traps isdn call-information
snmp-server enable traps config
snmp-server enable traps bgp
snmp-server enable traps frame-relay


Lembrando que a conf acima deve ser realizada no router

[7] Comentário enviado por flaviog em 18/02/2013 - 17:20h

Achei muito interessante o artigo, queria muito fazer tambem, mas quando tentei executar o comando olha o retorno.

cfgmaker --global "Workdir: /var/www/mrtg/192.168.2.4" --global "Options[_]: growright,bits" public@192.168.2.4 > /etc/mrtg_192.168.2.4.cfg
SNMP Error:
no response received
SNMPv1_Session (remote host: "192.168.2.4" [192.168.2.4].161)
community: "public"
request ID: 1960777850
PDU bufsize: 8000 bytes
timeout: 2s
retries: 5
backoff: 1)
at /usr/bin/../lib64/mrtg2/SNMP_util.pm line 629
SNMPWALK Problem for 1.3.6.1.2.1.1 on public@192.168.2.4::::::v4only
at /usr/bin/cfgmaker line 950
WARNING: Skipping public@192.168.2.4: as no info could be retrieved

SO= CentOS 6.3
Buscando no Windows 7 Ultimate com protocolo snmp ativado.

O que será que pode ser?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts