+3

Gerenciamento de Redes Utilizando o Protocolo SNMP

criado por Italo Marcelo de O. Costa em 24/01/2003 8:00pm
Para fazer o levantamento desses dados foram necessários alguns cálculos. Esses cálculos são extraídos de objetos pertencentes aos grupos na estrutura de dados da MIB do equipamento.

A descrição do sistema do equipamento foi extraída do grupo SYSTEM. Este grupo contém informações sobre o sistema no qual se encontra a entidade gerenciada. Muitos destes objetos são usados no gerenciamento de configuração. O SysDescr informa a descrição do sistema. Este dado pode ser útil tanto para gerenciar a configuração do dispositivo como para diagnosticar falhas. Os objetos SysLocation, SysContact e SysName são úteis quando há necessidade de entrar em contato com alguém para um acesso físico a um dispositivo remoto.
Existe também o grupo INTERFACES, que oferece dados sobre cada interface de um dispositivo gerenciável da rede.

Essas informações são úteis para o gerenciamento de falhas, de configuração, de desempenho e de contabilização. O objeto ifTable contém informações sobre todas as interfaces de uma entidade. Os objetos IfDesc e IfType retornam às descrições ou nome da interface e qual o seu tipo. O objeto ifSpeed é um medidor da velocidade da interface em bits por segundo. Ele é útil quando se deseja saber a velocidade atual de uma interface que aloca banda passante de acordo com a demanda de tráfego.

Objetos do grupo interfaces para gerência de desempenho:

Objeto            Informação
if InDiscards     Taxa de descartes de entrada
IfOutDiscards     Taxa  de descartes de saída
IfInErrors        Taxa de erros de entrada
IfOutErros        Taxa de erros de saída
IfInOctets        Taxa de bytes recebidos
IfOut Octets      Taxa de bytes enviados
IfInUcastPkts     Taxa de pacotes unicast  recebidos
IfOutUcastPkts    Taxa de pacotes unicast  enviados
IfInNUcastPkts    Taxa de pacotes no-unicast recebidos
IfOutNucastPkts   Taxa de pacotes no-unicast enviados
IfInUnknownProtos Taxa de pacotes de protocolos desconhecidos  recebidos
IfOutQLen         Total de pacotes na fila de saída

Com os objetos ifInUcastPkts, ifOutUcastPkts, ifInNUcastPkts, ifOutNucastPkts, ifInErrors, ifOutErros, pode-se calcular as porcentagens de erro de entrada/saída:

Porcentagem de erro de entrada = ifInErrors/(ifInUcastPkts + ifInNUcastPkts)
Porcentagem de erro de saída = ifOutErrors/(ifOutUcastPkts + ifOutNUcastPkts)

Da mesma forma, com os objetos ifInUcastPkts, ifOutUcastPkts, ifInNUcastPkts, ifOutNucastPkts, ifInDiscards, ifOutDiscards, pode-se calcular as porcentagens de descartes de entrada/saída.

O objeto ifInUnknownProtos informa o número de descartes realizados devido ao recebimento de pacotes de protocolo desconhecido. Portanto, não há a detecção de nenhum problema, caso o valor dos objetos ifInUnknownProtos e ifInDiscards estiverem crescendo proporcionalmente.

Com os objetos ifInOctets e ifOutOctets, pode-se calcular a taxa de utilização de uma interface. Para isso, primeiro calcula-se o total de bytes recebidos e enviados em um intervalo de tempo entre x e y:

total de bytes = (ifInOctets_y - ifInOctets_x)+(ifOutOctets_y - ifOutOctets_x)

Depois calcula-se o total de bytes e bits por segundo:

total de bytes por segundo = total de bytes/(y - x)
total de bits por segundo = total de bytes por segundo * 8

E, finalmente, a taxa de utilização:

taxa de utilização = (total de bits por segundo)/ifSpeed

O objeto ifOutQLen indica se o dispositivo está tendo problemas em enviar dados para fora. Seu valor aumenta de acordo com o aumento do número de pacotes esperando para deixar a interface.

Os objetos ifOutOctets e ifOutDiscards juntos podem sinalizar um congestionamento na rede. Isto ocorre no caso de haver um aumento no valor do ifOutDiscards devido ao descarte de muitos pacotes que tentam deixar a interface, e uma diminuição do número total de bytes de saída, indicado pelo objeto ifOutOctets .

Objetos do grupo interfaces para gerência de contabilização:

Objeto          Informação
IfInOctets      taxa de bytes recebidos
IfOutOctets     taxa de bytes enviados
IfInUcastPkts   taxa de pacotes unicast  recebidos
IfOutUcastPkts  taxa de pacotes unicast  enviados
IfInNUcastPkts  taxa de pacotes no-unicast recebidos
IfOutNucastPkts taxa de pacotes no-unicast enviados

Com os objetos ifInOctets e ifOutOctets, uma aplicação de gerenciamento de contabilização pode determinar o número de bytes enviados e recebidos em uma interface. Se a unidade de contabilização utilizada for pacotes, ao invés de bytes, são utilizados os objetos ifInUcastPkts, ifOutUcastPkts, ifInNUcastPkts, ifOutNucastPkts para calcular o número de pacotes recebidos e enviados.

Para levantar dados sobre a taxa de erro de entrada e saída de pacotes de cada interface foram coletados dados no grupo IP. Os objetos ipInReceives e ipOutRequest juntamente com alguns objetos do grupo Interface permitem o cálculo da taxa de erros IP de entrada e saída de uma entidade.

porcentagem de erros de entrada:

(ipInDiscards+ipInHdrErrors+ipInAddrErrors)/ipInReceives 

porcentagem de erros de saída:

(ipOutDiscards+ipOutHdrErrors+ipOutAddrErrors)/ipOutRequests

Comentários:

Mostrando 1 - 6 de 6 comentários
Obrigado de Paula, estou fazendo uma implementação para NOBREAKS e vou aproveitar para inserir de impressora tbm.
31/10/2003 6:47am (~19 anos atrás)

Parabéns pelo artigo, sugiro incluir algo sobre "gerenciamento de impressoras" RFC1759 já que como vi, vc entende mesmo de SNMP. Abraços.
31/10/2003 6:04am (~19 anos atrás)

Eu é q agradeço a crítica.
Valeu Alexandro
25/03/2003 2:35pm (~19 anos atrás)

Leonardo, estou criando uma nova versão de minha homepage e vou disponibilizar o estudo completo que fiz sobre gerenciamento de rede utilizando o protocolo SNMP, ok. Existem tutoriais na net mas que tratam somente do snmp.... agora php e snmp..... somente na php.net... ou no proprio php_info... vc encontra alguma coisa... mas eh muito pouco.
Agradeço pela crítica.
31/01/2003 7:35am (~19 anos atrás)

Entaum Jayr, na maioria dos meus scripts eu trabalhava com a comunidade publica soh que somente o ip x tinha acesso a este roteador o restante era bloqueado... configuração do proprio sistema do roteador cisco.
Se vc tiver um ... dah uma olhanda no man ou no hlp... q ele te explica como fazer isso.

Abraços e muito obrigado pela crítica
27/01/2003 6:03am (~19 anos atrás)

Muito bom seu artigo.
Queria saber se, como no seu exemplo você usa parâmetros públicos para acesso ao roteador, se quanquer pessoa de posse do endereço do seu roteador conseguirá le-lo ou essa tarefa será dependente da conexão estar usando o input local do roteador.
Pergunto (claro por desconhecimento total de roteadores) pois assim, qualquer mane conseguiria fazer meu roteador entrar em overhead 8como alguns rackers tem feito com os DNS.
26/01/2003 10:46am (~19 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)