Belém, 2010
Artigo
apresentado ao Curso de Sistemas de Informação para obtenção do grau de
Bacharel em Sistemas de Informação.
Orientado
por: Prof. Esp. Paulo Santana Rocha
AGRADECIMENTOS
Agradecemos a todos os professores do curso de
Bacharelado de Sistemas de Informação do Instituto de Estudos Superiores da
Amazônia pela ajuda prestada ao longo do curso, agradecemos principalmente ao
professor Paulo Rocha por ter nos orientado neste trabalho final e por ter
muita paciência, preocupação e dedicação.
Agradecemos a várias pessoas que nos acompanharam
nessa jornada. E finalmente agradecemos a pessoa mais importante de todas,
obrigada por tudo DEUS.
Agente
SMNP: Análise de Dificuldades para Implantação e Proposta de Ferramenta
Gerenciadora
Eriko Costa Crispino,
Raquel Kalina Pereira Ribeiro
Curso de
Sistemas de Informação – Instituto de Estudos Superiores da Amazônia (IESAM)
66055-260 – Belém – PA– Brasil
Abstract. This paper aims to present the major advances in research on building a
tool for monitoring an uninterruptible power supply with monitoring data
submitted by the equipment. The goal is to enable power management problems
that occur in the future represent, through proactive measures, provide data
about faults and diagnosis of power quality supplied by the concessionaire.
Resumo. Este
artigo tem como objetivo apresentar uma ferramenta de monitoramento para um
no-break que possibilita o gerenciamento de problemas de energia que possam
ocorrer no futuro, através de medidas pró-ativas, fornecendo dados sobre falhas
e diagnóstico da qualidade da energia fornecida pela organização.
Palavra-Chave:
Agente. Protocolo SNMP. Trap. No-break. Xml
1. Introdução
Para uma boa
informação é necessário existir um conjunto de processos e equipamentos
necessários para que esse fundamental instrumento de trabalho realmente atenda
as necessidades dos gestores, com agilidade e confiabilidade [Cohen 2000].
Neste cenário, monitorar um equipamento significa acompanhar seu
funcionamento identificando falhas, buscando suas origens e evitando que as
mesmas possam vir a se repetir no futuro. Significa também a garantia de
funcionamento de sistemas que dependam do meio de transmissão. Todas essas
necessidades citadas justificam a necessidade da criação de programas de
gerência capazes de auxiliar no cotidiano dos administradores de redes.
Segundo Cohen (2000), hoje essas redes são extremamente importantes
para o dia-a-dia de muitas empresas em todo o mundo, porque, junto com sua
utilização, vem a eficácia e a competitividade. Essa importância vem crescendo
de tal forma que as empresas têm se tornado altamente dependentes destas redes,
sentindo imediatamente o impacto quando os seus recursos ficam indisponíveis.
O gerenciamento de equipamentos analógicos mostra como uma tarefa de
importância cada vez maior dentro das organizações. Além disso, a quantidade de
equipamentos que podem ser gerenciados tende a aumentar continuamente e, aliada
a isto, está a necessidade de simplificar o processo de gerência.
Assim, o protocolo SNMP, pode ser usado para o gerenciamento dos
dispositivos conectados a uma rede local de forma simples e direta. Por sua
vez, os equipamentos tendem a oferecer cada vez mais possibilidades de
gerenciamento, de modo a facilitar tarefas como a detecção de falhas, a
visualização de grandezas e as notificações de condições de exceção ou eventos.
Portanto, cada vez mais equipamentos oferecem funcionalidades de gerenciamento
por SNMP, o que os torna compatíveis com as redes locais e mais facilmente
gerenciáveis.
Portanto, o presente trabalho propõe a construção de uma extensão do
software de gerenciamento com o objetivo de monitorar a utilização dos recursos
de um equipamento de no-break, englobando as informações de tensão de entrada e
saída, carga de baterias e demais dados que o equipamento fornecer. Esta
extensão será criada permitindo a obtenção dos dados de no-breaks de uma forma
direta para o administrador.
2. Referencial Teórico
2.1. Protocolo de
Gerenciamento SNMP
O SNMP (Simple Network Management Protocol) é
um protocolo da camada de aplicação, como ilustra a Figura 1, desenvolvido para
facilitar a troca de informações de gerenciamento entre dispositivos de rede.
Estas informações transportadas pelo SNMP (como pacotes por segundo e taxa de
erro na rede), permitem aos administradores da rede gerenciar o desempenho da
rede de forma remota, encontrando e solucionando os problemas e planejar o
crescimento da rede.
Figura
1. Protocolo de Gerenciamento SNMP
2.2. Descrição de SNMP
Segundo Oda (1998), o SNMP define uma relação
cliente/servidor. O programa cliente (chamado de gerenciador de rede) faz
conexões virtuais a um programa servidor (chamado de agente SNMP) que executa
em um dispositivo de rede remoto e disponibiliza informação para o gerente
relativo ao estado do dispositivo. O banco de dados, que modela o agente SNMP é
denominado Management Information Base (MIB) e sua função padrão é
controlar valores gerenciados no dispositivo.
O SNMP permite a
extensão destes valores padrões adicionalmente com valores específicos para um
agente particular pelo uso de MIB privados. Diretivas emitidas pelo gerenciador
da rede a um agente SNMP consistem nos identificadores de variáveis de SNMP
(chamados identificadores da MIB ou variáveis da MIB) junto com instruções para
adquirir o valor do identificador ou fixar o identificador para um novo valor.
Pelo uso de
variáveis de MIB privadas, agentes SNMP podem ser incrementadas para gerenciar
dispositivos específicos, como bridges, gateways e roteadores. As
definições de variáveis de uma MIB podem suportar um agente em particular.
As MIB são
escritas num formato padronizado chamado de Abstract Syntax Notation One (ASN.1)
[Chisane 2000].
2.3. Pontos positivos e negativos do SNMP
O SNMP é um protocolo de gerenciamento flexível e
extensível. Pode-se estender os agentes SNMP para cobrir dados específicos de
dispositivos, pelo uso de arquivos ASN.1. O SNMP pode assumir numerosos
trabalhos específicos para classes de dispositivos fornecendo um mecanismo
padrão de controle de rede e monitoramento.
Segundo Oda 1998,
podem ser identificados alguns pontos fracos do SNMP. Apesar de seu nome, (i.e.
“Simple” Network Management Protocol), o SNMP é um protocolo
relativamente complexo para implementar. Também, o SNMP não é um protocolo
muito eficiente. Os modos nos quais são identificadas as variáveis SNMP (como strings
de byte onde cada byte corresponde a um nodo particular no
banco de dados da MIB) conduzem desnecessariamente a grandes pacotes de dados
PDU (Protocol Description Unit), que consomem partes significativas de
cada mensagem de SNMP, sobrecarregando a rede de transmissão de dados.
As citações
acima não podem ser usadas para diminuir os pontos positivos mencionados no
SNMP. Enquanto codificações complicadas frustram programadores, a utilização
por parte dos usuários finais não dependem da complexidade dos algoritmos que
disponibilizam os dados a eles.
2.4. Elementos do SNMP
O SNMP possui uma característica cliente/servidor,
onde o cliente seria o gerenciador da rede e o servidor o agente SNMP e a base
que modela este agente denomina-se MIB que para este projeto será substituído
por arquivos XML.
2.4.1. Agentes
No modelo de gerenciamento SNMP, devem ser equipados
com agentes SNMP para que possam ser gerenciados pela estação de gerenciamento através
do gerente SNMP. O agente responde a requisições da estação de gerenciamento,
que pode ser o envio de informações de gerência ou ações sobre as variáveis do
dispositivo onde está.
O funcionamento
desta estrutura só é possível graças ao acesso direto à MIB (Management
Information Base) que o agente possui, pois todas as informações de
gerência encontram-se lá [Chisane 2000]. Ao receber uma mensagem SNMP do
gerente, o agente identifica que operação está sendo requisitada e qual(is) a
(s) variável (is) relacionada, e a partir daí executa a operação sobre a MIB;
em seguida, monta uma nova mensagem de resposta, que será enviada ao gerente.
À primeira
vista, a comunicação do agente com o gerente pode parecer injusta, uma vez que
o agente apenas responde ao que lhe é questionado. Mas há momentos em que o
agente pode "falar" espontaneamente com o gerente sem que antes seja
questionado. Isso ocorre quando o agente detecta, a partir da análise do
contexto da MIB, alguma situação inesperada. Neste momento, o agente gera uma
mensagem especial, denominada Trap, e a envia ao gerente, relatando sobre a
situação.
Para o
tratamento destas exceções e o envio de Trap (Figura 2), é concedido ao agente
um certo poder de decisão, cabendo a ele, a partir da análise do contexto da
MIB, decidir se é ou não necessário enviar o Trap ao gerente.
Figura 2. Diagrama de
Caso de Uso do Agente SNMP: AppNView
Esse poder de
decisão é concedido ao agente para que em certas situações, como quando o
sistema é inicialização, os Trap desnecessários não sejam trafegados pela rede,
o que, em se tratando de dezenas de agentes, poderia interferir no desempenho
global da rede, congestionando as portas.
Cabe ao agente
um papel fundamental em todo o processo de gerenciamento da rede, acessando e
disponibilizando informações de gerência contidas na MIB, além de indicar
situações inesperadas de funcionamento do dispositivo que estiver gerenciando
através do envio de Trap ao gerente.
2.4.2. Gerentes
A interface entre as aplicações de gerência correntes
no NMS e os agentes espalhados pelos dispositivos da rede é o gerente. Cabe ao
gerente enviar comandos aos agentes, solicitando informações sobre variáveis de
um objeto gerenciado ou modificando o valor de determinada variável.
Os gerentes
então processam estas informações colhidas pelos agentes e as repassam à
aplicação que as requisitou. A comunicação entre o gerente e as aplicações é
possível através da utilização das API do gerente SNMP pelo sistema.
A API (Application
Program Interface) é um conjunto de funções que fazem o intermédio na
execução de comandos entre um programa e outro, de forma a simplificar a um
programa o acesso a funções de outro programa e que, no caso do SNMP, fazem o
intermédio das execuções entre uma aplicação de gerência e o gerente SNMP [Tanenbaum 1996].
Quando uma
solicitação da aplicação de gerência chega ao gerente (Figura 3), através da
API, o gerente mapeia esta solicitação para um ou mais comandos SNMP que,
através da troca de mensagens apropriadas, chegarão aos agentes
correspondentes. Deve-se ressaltar que este comando SNMP montado pelo gerente
pode ser enviado a outro gerente, que pode ou não repassá-lo a um agente. Só
que a comunicação gerente-gerente só é possível na versão estendida do SNMP, o
SNMPv2, e não faz parte do SNMP padrão.
Figura
3. Diagrama de Caso de Uso do Gerente SNMP: AppTrapReceiver
Cabe também ao gerente encaminhar à aplicação de
gerência os Trap que porventura sejam enviados pelos agentes. Assim, o software
de gerência terá conhecimento da presença de um novo equipamento na rede ou do
mau funcionamento de algum dos dispositivos da rede (Figura 4).
Figura
4. Diagrama de Atividades do Gerente SNMP: AppTrapReceiver
Quando da
inicialização do software de gerência, nada se sabe sobre a configuração ou
funcionamento da rede. Essas informações vão sendo conhecidas através de Trap
que são enviados pelos agentes, a partir daí o gerente realiza polling [Tanenbaum 1996] a fim de manter a comunicação com os agentes,
possibilitando ao software de gerência mapear, monitorar e controlar.
3. Componentes Essenciais do Gerenciador
Segundo Oda (1998),
todos os gerentes SNMP contêm vários componentes básicos como segue:
3.1. Funções de Alarme
Os gerentes SNMP possuem a funcionalidade de monitorar
os objetos da MIB e de responder com algum tipo de notificação quando estes
mesmos são violados. Isto faz com que constantemente seja testada a integridade
de uma rede. Inerente a esta função está a habilidade de determinar quais
dispositivos estão respondendo e quais dispositivos não estão respondendo.
3.2. Monitoramento de
Funções
Os gerentes SNMP podem monitorar continuamente um
valor SNMP e verificar este valor a intervalos periódicos para ver a tendência
de uma rede. Este tipo de função pode ser usado para determinar a carga de
utilização de uma rede durante um certo período.
3.3. Funções de Recepção
Os gerentes SNMP podem receber mensagens do SNMP
emitidas espontaneamente por dispositivos de rede. Mensagens espontâneas SNMP
são uma parte importante do padrão e permitem aos dispositivos informar
problemas. Em função das mensagens espontâneas serem assíncronas e fora do
controle do gerente da rede, os gerentes SNMP requerem algum tipo de filtro de
mensagem para eliminar mensagens indesejadas ou não pertinentes.
4. Problemática
do Trabalho
Nota-se, no entanto,
entre as diversas ferramentas disponíveis no mercado, a ausência de um
mecanismo genérico de monitoramento de equipamentos de no-break capaz de
fornecer as informações de seu uso e gerência e seja aplicável para
equipamentos de fabricantes diversos. Este trabalho possui como objetivo, o
desenvolvimento de um mecanismo capaz de obter e disponibilizar ao
administrador de rede informações de gerência deste tipo de equipamento,
permitindo obter uma melhor visualização de seus recursos e eficiência.
5. Solução Proposta
Conforme ilustra a Figura
5, foi desenvolvido um Agente SNMP, contendo uma interface para a visualização
das informações que estão disponíveis nos principais fabricantes de no-breaks,
que é sua tensão de entrada e saída, carga da bateria, tempo restante de
alimentação, entre outros. Para que as informações sejam obtidas, será
necessária a criação de um agente de comunicação entre o no-break e um computador
na rede através da porta serial ou USB. Este computador terá também um agente
SNMP capaz de fornecer os dados obtidos do no-break para o gerente SNMP.
Com intervalos regulares (normalmente a cada 5 minutos) o gerente irá
questionar o agente SNMP sobre o estado atual do no-break. O agente SNMP irá
coletar, então, as informações do equipamento e repassá-las ao gerente. A cada
consulta na ferramenta, o administrador da rede possuirá o estado do
equipamento de no-break com um erro de, no máximo, 5 minutos, e possuirá o
histórico dos dados fornecidos.
Figura
5. Estrutura de implantação
Para os diversos
componentes da solução, têm-se:
·
Módulo de Comunicação Serial – É um programa simples de comunicação serial
e deverá informar ao equipamento de no-break qual a informação solicitada e
apresentar esta informação para o agente SNMP solicitante.
·
Agente SNMP – será desenvolvida uma chamada no agente SNMP existente no linux, que
irá solicitar ao Módulo de Comunicação Serial as informações presentes no
nobreak. Este agente irá responder a solicitações SNMP do Gerente.
6. Resultados
Com o intuito de
testar a ferramenta desenvolvida foram realizados uma série de testes em
empresa da região metropolitana de Belém, em equipamento de grande porte, onde
observou-se um comportamento adequado da ferramenta proposta.
Com a aplicação da referida ferramenta foi gerado o Log mostrado na
Figura 6, feito através de busca por conexão serial no no-break.
Com a referida ferramenta foi possível verificar como o equipamento se
comportou, tanto no que refere-se a informações de filtro de entrada como em
estado crítico.
Figura
6. Log de medidores completo do no-break
7. Conclusão
Diante da proposta
apresentada, foi procurado no mercado varias ferramentas de gerenciamento de
equipamentos de rede. Embora tenha sido encontrado algumas ferramentas com
enfoque similar, a ferramenta aqui proposta possui uma série de vantagens, como
fácil abstração, sem custo, e possibilidade de expansão.
Com a construção dos módulos, será possível a criação de uma
infra-estrutura de consultas e apresentação dos dados dos equipamentos de no-break,
capazes de fornecer dados gerenciais e possibilitar o diagnóstico de problemas
e ações pró-ativas pelo administrador.
É necessário lembrar que estas ferramentas devem facilitar as tarefas de
monitoração, análise e detecção de falhas na rede, porém, associadas a elas
devem existir uma estrutura que coordene as atividades de gerenciamento,
assegurando sua eficiência e não permitindo que essas atividades se tornem mais
um peso na tarefa de operação da rede.
Outra tendência do SNMP é sua migração para a Web, pois a conveniência
do gerenciamento neste ambiente possui um apelo muito forte [Microsystems 1999].
Referências
Cohen, Yoran. “SNMP simple network management protocol” 02/2000.
Oda, Cybelle Suemi. “Gerenciamento de redes de
computadores” 1988.
Chisane, Fabrício. “Gerenciamento de redes SNMP” 02/2000.
Disponível em:
Acesso: Abril/2010
Tanenbaum,
Andrew S. “Redes de computadores”
Rio de Janeiro: Campus, 1996.
Microsystems, SUN. “Java Dynamic
Management” Kit 4.0 Tutorial.
Disponível
em: