UNIVERSIDADE ESTADUAL DE LONDRINA
Curso de pós-graduação em Ciência da Computação
Convênio UFRGS/UEL
Disciplina: Gerência de Redes
Professor: Liane Tarouco
Alunos: 9520560122 - ROGÉRIO RAMOS - ramos@npd.uel.br
9520560019 - ADRIANO CARLOS VERONA - verona@npd.uel.br


Monitoração de interfaces de rede via SNMP


  1. Introdução
  2. O sistema de monitoração
  3. Dinâmica do sistema de monitoração
  4. Pontos a aperfeiçoar
  5. Programas Fontes

1. Introdução

O protocolo SNMP (Simple Network Management Protocol) é utilizado para obter informações de servidores SNMP (os agentes) espalhados em uma rede TCP/IP permitindo que se realize o gerenciamento da rede de forma mais simples e eficaz. Podemos obter informações sobre desempenho, segurança, falhas, estatísticas, etc. Os dados são obtidos através de requisições de um gerente a um ou mais agentes. As variáveis que podem ser requisitadas têm seus nomes padronizados internacionalmente. A descrição, tipo do dado e outros dados pertinentes a uma variável, são armazenadas em uma base de dados denominada MIB ( Management Information Base) sendo que cada empresa tem liberdade para criar sua própria MIB afim de armazenar dados peculiares a um determinado agente SNMP.

Este trabalho cria um ambiente para monitaração do tráfego de várias interfaces em uma rede TCP/IP. É composto de dois módulos principais: um que monitora o tráfego da rede e o arquiva em uma base de dados e outro que lê esta base gerando gráficos ou provendo informações para o usuário através da interface HTTP.

O trabalho foi desenvolvido utilizando a rede da Exactus. Um ambiente heterogêneo onde se encontra: rede Novell, rede Microsoft (com uma máquina NT e várias com Windows 95) e uma Intranet (ainda experimental) predominando o tráfego de pacotes IPX além de um pequeno tráfego dos protocolos TCP/IP, Netbeui e Netbios.

Monitoramos três tipos de agentes SNMP:

Notamos que há uma diferença de comportamento entre os esses três tipos de agente. Por exemplo, o agente instalado no servidor Novell 3.11 sempre retorna 0 nas várias MIB-2 ifInOctets e ifOutOctets. Talvez seja por má configuração ou uma versão muito antiga.

2. O sistema de monitoração

A monitoração do tráfego ocorre como no esquema abaixo.


Um programa Monitor consulta constantemente as variáveis ifInOctets e ifOutOctets de cada um dos agentes SNMP, armazenando os valores em uma base de dados para cada uma das interfaces monitoradas.

Este monitoramento se da de forma constante sendo que, aproximadamente a cada cinco minutos, é feita uma requisição das variáveis referidas ( ifInOctets, ifOutOctets, ifInErrors e ifOutErrors). Uma vez que o monitor tenha obtido com sucesso estes quatro valores o mesmo calcula o delta (diferença entre o valor corrente e o obtido na última aferição) observado dentro destes 5 minutos e armazena este valor na base de dados .

Existe uma base de dados para cada uma das interfaces monitoradas, a qual armazena os dados referentes a monitoração no período de um mês. Cada uma destas bases de dados é composta por 31 registros ( 1 para cada dia do mês), cada um destes registros são compostos por 24 sub-registros (1 para cada hora do dia) os quais por sua vez se subdividem em 12 sub-registros ( 1 para cada 5 minutos da hora). Cada um destes 12 registros armazena o delta para Tráfego e Erros bem como um conjunto de Flags.Como temos uma aferição a cada 5 minutos teremos 12 por hora.

Caso o monitor não obtenha resposta em uma das aferições, a entrada correspondente na base de dados ficará com valores nulos (zeros) além de armazenar um indicador nos Flags.

3. Dinâmica do sistema de monitoração

O processo de monitoração do tráfego ocorre da seguinte forma :

Um cliente HTTP, ao acessar a página de monitoramento dispara um programa CGI que obtem de uma base de dados ( arquivo texto) os nomes e endereços IPs das interfaces passíveis de monitoração. Este programa monta um formulário onde o usuário pode selecionar quais interfaces deseja monitorar. A seguir, é disparado outro CGI que obtem os dados de tráfego e erros das bases de dados das interfaces selecionadas e traça um gráfico o qual é enviado ao cliente HTTP.


Veja como o sistema de Monitoração de Tráfego funciona.

4. Pontos a Aperfeiçoar

Visto que este é apenas a primeira versão do programa notamos que existe ainda muitos pontos passíveis de melhoria, os quais podemos classificar nas seguintes categorias :

Quanto à interação com o usuário entendemos que podemos aperfeiçoar os seguintes pontos :

Quanto ao processo de monitoração propriamente dito :



5. Programas fontes

Para desenvolver o trabalho foi utilizada uma biblioteca denominada WINSNMP ( esta biblioteca é utilizada também pelo programa SNMPMAN) podendo ser obtida via FTP de : ftp://dnpap.et.tudelft.nl/pub/WinSNMP/winsnmp.zip a qual é acompanhada dos programas fontes bem como de exemplos os quais podem ser compilados no ambiente BORLAND C++.

O programas CGI foram feitos para rodar com o Folkweb server da ILAR Concepts que roda em Windows 95 ou NT.

Programa Monitor

Programa CGI que monta a lista de máquinas

Programa CGI que Plota os gráficos

Biblioteca que converte de BMP p/ GIF