Gerenciamento de Redes Utilizando o Protocolo SNMP
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:
Com os objetos ifInUcastPkts, ifOutUcastPkts, ifInNUcastPkts, ifOutNucastPkts, ifInErrors, ifOutErros, pode-se calcular as porcentagens de erro de entrada/saída:
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:
Depois calcula-se o total de bytes e bits por segundo:
E, finalmente, a taxa de utilização:
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:
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:
porcentagem de erros de saída:
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
Obrigado de Paula, estou fazendo uma implementação para NOBREAKS e vou aproveitar para inserir de impressora tbm.
31/10/2003 6:47am
(~21 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
(~21 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.
Agradeço pela crítica.
31/01/2003 7:35am
(~22 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
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
(~22 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.
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
(~22 anos atrás)