MONITORAÇÃO DE REDES E SISTEMAS DE · PDF filesubestações...

11
1 MONITORAÇÃO DE REDES E SISTEMAS DE SUPERVISÃO ATRAVÉS DE PROTOCOLO SNMP NO SAGE DANIEL A. M. VILLELA AYRU L. OLIVEIRA FILHO CENTRO DE PESQUISAS DE ENERGIA ELÉTRICA - CEPEL BRASIL RESUMO Em sistemas industriais como no caso do setor elétrico, a comunicação de dados para os sistemas de supervisão e de controle requer alta confiabilidade. Ferramentas de gerência de rede podem ser utilizadas para, através de aplicativos baseados em protocolos como SNMP, monitorar a infra-estrutura do sistema de supervisão e controle e até mesmo o próprio sistema de supervisão e controle. O objetivo de gerência de infra-estrutura de sistemas de supervisão encontra-se no esforço desenvolvido para padronização de objetos de gerência pela organização International Electrotechnical Commission (IEC) em norma integrante da série IEC 62351 [1][2]. Este artigo apresenta o trabalho realizado pelo CEPEL para capacitar o Sistema Aberto de Gerenciamento de Energia (SAGE) a monitorar equipamentos de rede em sistemas SAGE e também a permitir que o próprio SAGE possa ser monitorado remotamente utilizando ferramentas com protocolo SNMP. Este trabalho teve origem por iniciativa de projeto P&D ANEEL (Monisup – Monitoração de Redes em Sistemas de Supervisão) apoiado por CHESF, FURNAS, ELETRONORTE e ELETROSUL. Este artigo apresenta os conceitos desenvolvidos, descreve a implementação dos produtos gerados durante o projeto e ainda descreve resultados obtidos em testes. Os resultados foram satisfatórios e os produtos concebidos ao longo do projeto encontram-se disponíveis para os usuários do SAGE em todo Brasil. PALAVRAS CHAVE Gerência SNMP, Monitoração SCADA, Sistemas de Supervisão e Controle (*)Av. Horácio Macedo, 354, Cidade Universitária – Rio de Janeiro, RJ, CEP 21941-911 Tel.: (21) 2598-6000 r. 6587 - FAX: (21) 2260-6211 – E-mail: [email protected]

Transcript of MONITORAÇÃO DE REDES E SISTEMAS DE · PDF filesubestações...

Page 1: MONITORAÇÃO DE REDES E SISTEMAS DE · PDF filesubestações são operadas apenas remotamente, sem a presença de operador no local. Nestes casos, como garantir que todos os equipamentos

1

MONITORAÇÃO DE REDES E SISTEMAS DE SUPERVISÃO ATRAV ÉS DE PROTOCOLO SNMP NO SAGE

DANIEL A. M. VILLELA AYRU L. OLIVEIRA FILHO

CENTRO DE PESQUISAS DE ENERGIA ELÉTRICA - CEPEL

BRASIL

RESUMO

Em sistemas industriais como no caso do setor elétrico, a comunicação de dados para os sistemas de supervisão e de controle requer alta confiabilidade. Ferramentas de gerência de rede podem ser utilizadas para, através de aplicativos baseados em protocolos como SNMP, monitorar a infra-estrutura do sistema de supervisão e controle e até mesmo o próprio sistema de supervisão e controle. O objetivo de gerência de infra-estrutura de sistemas de supervisão encontra-se no esforço desenvolvido para padronização de objetos de gerência pela organização International Electrotechnical Commission (IEC) em norma integrante da série IEC 62351 [1][2]. Este artigo apresenta o trabalho realizado pelo CEPEL para capacitar o Sistema Aberto de Gerenciamento de Energia (SAGE) a monitorar equipamentos de rede em sistemas SAGE e também a permitir que o próprio SAGE possa ser monitorado remotamente utilizando ferramentas com protocolo SNMP. Este trabalho teve origem por iniciativa de projeto P&D ANEEL (Monisup – Monitoração de Redes em Sistemas de Supervisão) apoiado por CHESF, FURNAS, ELETRONORTE e ELETROSUL. Este artigo apresenta os conceitos desenvolvidos, descreve a implementação dos produtos gerados durante o projeto e ainda descreve resultados obtidos em testes. Os resultados foram satisfatórios e os produtos concebidos ao longo do projeto encontram-se disponíveis para os usuários do SAGE em todo Brasil.

PALAVRAS CHAVE

Gerência SNMP, Monitoração SCADA, Sistemas de Supervisão e Controle

(*)Av. Horácio Macedo, 354, Cidade Universitária – Rio de Janeiro, RJ, CEP 21941-911

Tel.: (21) 2598-6000 r. 6587 - FAX: (21) 2260-6211 – E-mail: [email protected]

Page 2: MONITORAÇÃO DE REDES E SISTEMAS DE · PDF filesubestações são operadas apenas remotamente, sem a presença de operador no local. Nestes casos, como garantir que todos os equipamentos

2

1. Introdução

Um sistema de supervisão e controle está relacionado não somente aos equipamentos elétricos propriamente ditos como, por exemplo, disjuntores, transformadores, chaves seccionadoras etc., mas também a equipamentos necessários ao sistema de comunicação de dados e à infra-estrutura computacional tais como roteadores, switches, servidores, estações de operação, etc.

Um problema em centros de supervisão e controle decorre da necessidade de manutenção desta infra-estrutura computacional e de comunicação. Em muitos casos, subestações são operadas apenas remotamente, sem a presença de operador no local. Nestes casos, como garantir que todos os equipamentos da infra-estrutura estão funcionando corretamente, em especial os equipamentos redundantes, utilizados no caso de falhas no equipamento principal? Também é importante saber se todos os processos do sistema SCADA estão funcionando normalmente, se há disponibilidade de capacidade computacional e, também, se os canais de comunicação com os equipamentos e sistemas remotos estão respondendo conforme esperado.

O SAGE é um sistema EMS/SCADA com capacidade de se comunicar com diversos equipamentos de campo como UTRs, concentradores de dados, relés de proteção e também com outros sistemas SCADA [3]. Possui extensa biblioteca de protocolos implementada em seu código, que permite obter informações sobre o estado de equipamentos em campo (disjuntores, chave seccionadora etc.) de forma remota como parte das operações de supervisão e controle.

Um primeiro objetivo neste trabalho foi incorporar ao SAGE mecanismos para monitoramento de infra-estrutura (roteadores, firewalls, terminal servers etc.) de comunicação de dados de sistemas SCADA. Desta forma, informações sobre a infra-estrutura computacional e de comunicação passam a integrar a base de dados do sistema supervisório da mesma forma que as informações obtidas do sistema elétrico supervisionado. Estas novas informações são agora tratadas pelos mesmos mecanismos SCADA, sendo possível sua exibição em telas, geração de alarmes relacionados, armazenamento em bases históricas etc.

Neste sentido, o protocolo SNMP [4][5], elaborado no âmbito do IETF (Internet Engineering Task Force) para suprir necessidades de monitoramento de redes de computadores de forma genérica, é adequado para gerência de rede de comunicação de dados de centros de controle e subestações. O protocolo SNMP pode ser utilizado para inquirir equipamentos gerenciáveis como roteadores, terminal servers e estações com funções de gateway de comunicação ou função IHM (Interface Humano-Máquina). Um primeiro objetivo deste trabalho foi incorporar ao SAGE capacidade para monitorar os equipamentos do próprio sistema de comunicação de dados. Em particular, suprir este objetivo já é de grande valia em sistemas de comunicação de dados das empresas de energia elétrica.

Um segundo objetivo foi dotar o SAGE, como um sistema EMS/SCADA, da capacidade de oferecer informações sobre seu próprio funcionamento para fins de monitoração remota e controle através de software externos de gerência SNMP. Por exemplo, um interesse seria monitoramento do SAGE em operação em uma subestação de forma remota a partir de um centro de controle. Para este objetivo, foi idealizado incorporar também ao SAGE um módulo que ofereça uma interface SNMP de maneira que o próprio sistema de supervisão informe sobre estado de ligações, estado de processos no sistema e outros dados.

Foram implementados processos específicos como conversor de protocolos e transportador de protocolos SNMP que permitem configurar um sistema SAGE como ferramenta de gerência de rede, ou seja, como um gerente SNMP. Estes módulos são

Page 3: MONITORAÇÃO DE REDES E SISTEMAS DE · PDF filesubestações são operadas apenas remotamente, sem a presença de operador no local. Nestes casos, como garantir que todos os equipamentos

3

responsáveis por requisições SNMP e tratamento de dados, como cálculo de médias, e inserção das informações na base de dados SCADA.

Foram desenvolvidos uma descrição (MIB-SAGE) de informações sobre sua própria operação que o SAGE tem capacidade de reportar e um agente SAGE SNMP que implementa a interface SNMP para reportar tais informações.

O projeto incluiu desde a concepção de gerência de redes em um sistema SCADA, passando por sua implementação, testes em campo em instalação da CHESF. Os objetivos foram plenamente satisfeitos, sendo que as funcionalidades mencionadas já se encontram em operação em alguns centros de controle suportados pelo SAGE.

2. SNMP aplicado a um sistema SCADA

2.1. Modelo SCADA no SAGE

Informações de monitoração de sistema em um sistema SCADA encontram-se armazenadas em pontos. Pontos correspondem, portanto, a medidas que são armazenadas em tabela de banco de dados de um sistema SCADA.

Em uma situação ideal, apenas um protocolo seria utilizado para monitoração de medidas. No entanto, é comum ter infra-estrutura heterogênea onde mais de um protocolo é usado para monitorar equipamentos. O SAGE como sistema SCADA possui uma estrutura própria em sua base de dados para armazenar pontos. Ao monitorar equipamentos, atributos de configuração de pontos para protocolos específicos fazem parte das entradas em tabelas referentes a pontos. Por uma questão de isolamento, o modelo de dados do SAGE prevê que informações com informações específicas de protocolos estão armazenadas em pontos físicos. Informações que são independentes dos protocolos são armazenadas em pontos lógicos.

No SAGE, existe um processo responsável por atuar como gerente de aquisição de dados e de controle, o processo sac. O processo sac é o componente da arquitetura SAGE que armazena dados referentes a pontos lógicos. Ao requisitar monitoração que envolvem pontos físicos, torna-se necessário fazer a devida monitoração usando-se um processo, cujo tipo é chamado conversor de protocolo, que “entende” a configuração dos protocolos associados a estes pontos físicos. Estes processos monitoram dados e entregam a informação ao sac que as armazena em pontos lógicos. Conversores de protocolo são responsáveis também por várias outras tarefas, como controlar intervalos de tempo para espera (timeouts) e encarregar-se de trocar unidades remotas para monitoramento (procedimento chamado failover).

Os pontos lógicos podem ser distribuídos para uma entidade em outro sistema de supervisão utilizando-se um protocolo distinto do que foi utilizado durante a monitoração. Por este comportamento de receber dados em formato específico de um protocolo e repassar a uma estrutura que pode ser convertida para qualquer outro protocolo, estes processos são chamados conversores de protocolo.

Um exemplo é a aquisição de dados de IEDs que respondem via IEC 61850. Os dados são armazenados em estrutura interna do SAGE e possivelmente são distribuídos em outro protocolo como ICCP para distribuição entre centros de controle. Portanto, neste caso, há um conversor de protocolo que tem capacidade de entender configuração para IEC 61850 e na distribuição há um conversor de protocolo com capacidade para “entender” ICCP.

Por questões de isolamento de funcionalidade, as requisições de protocolo propriamente ditas são feitas ainda por um outro tipo de processo denominado transportador de protocolo que atua em conjunto com o conversor de protocolo.

Page 4: MONITORAÇÃO DE REDES E SISTEMAS DE · PDF filesubestações são operadas apenas remotamente, sem a presença de operador no local. Nestes casos, como garantir que todos os equipamentos

4

O processo gcd cuida da instanciação em rede de múltiplos processos, como por exemplo os processos conversores de protocolo, processo sac e outros. Em caso de um processo encerrar execução por motivo espúrio, o gcd tem capacidade para ordenar outro nó na rede de sistema de supervisão para assumir o controle.

Como o SAGE é um sistema de monitoração de tempo-real, durante operação de um sistema os dados estão armazenados em memória compartilhada distribuída, também chamada base de dados de tempo real. Em um único sistema SAGE, múltiplas máquinas podem estar configuradas para atender este sistema. Dentro dos conceitos de arquitetura do SAGE, todas as máquinas configuradas têm capacidade de acessar a base de tempo real que é global para todos os elementos do sistema.

2.2. Protocolo SNMP em um sistema SCADA

O protocolo SNMP baseia-se no paradigma cliente-servidor comum a vários protocolos. No caso do SNMP, no entanto, a terminologia é diferenciada falando-se em gerente SNMP e agente SNMP. O gerente requisita informações ao agente através de pedidos SNMP. Trata-se, portanto, de um cliente. O agente serve informações aos pedidos de um ou mais clientes. Trata-se, portanto, de servidor.

A forma como as informações são estruturadas é definida por um conjunto de meta-informação chamado Management Information Base (MIB). As MIBs têm como objetivo armazenar informações gerenciais relativas a dispositivos habilitados para comunicação em rede. Estas informações são organizadas e disponibilizadas de maneira padronizada na MIB. Isso é feito de modo que informações específicas possam ser consultadas por um ou mais gerentes SNMP, bastando que a estrutura da MIB seja conhecida pelo gerente que fará a consulta. Uma MIB é descrita em linguagem própria para definir meta-informação para acesso a um agente SNMP. Portanto, ao especificar que determinada implementação de agente SNMP tem suporte a MIB HOST-Resources, por exemplo, está dito que o agente é capaz de responder a requisições SNMP referentes às informações especificadas na MIB.

Em uma MIB a meta-informação é estruturada em forma hierárquica, mais especificamente em árvore. Cada nó recebe um número seqüencial dentre todos os nós oriundos de um mesmo nó-ancestral. Cada informação é, portanto, descrita por um identificador único global, Object Identifier (OID), cuja notação é justamente a seqüência de números relativos aos nós atravessados até chegar à folha que representa a informação. O OID para uma determinada informação como tempo de operação de uma máquina é encontrado na MIB e é utilizado como interface do protocolo para obter o tempo de operação de uma máquina a um agente SNMP. Por exemplo, o OID para referenciar o tempo de operação de um agente SNMP em um elemento de rede é definido na MIB II como .1.3.6.1.2.1.1.3.0.

Para requisitar o tempo de operação de um agente é necessário construir uma mensagem GET utilizando como referência o OID .1.3.6.1.2.1.1.3.0, que é a referência para esta informação na MIB II. Há naturalmente que se preencher a mensagem com endereçamento e outros detalhes. Mas para o agente SNMP, a referência do OID é suficiente para determinar o que deve ser informado ao cliente. O agente SNMP então busca a informação requisitada, no caso o tempo de operação, e envia uma resposta ao cliente.

Estas mensagens permitem fazer monitoração periódica (polling) de um conjunto de informações. Existem ferramentas de gerência que permitem configurar um conjunto de informações a serem monitoradas e, então, se encarregam de realizar monitoração periódica, eventualmente emitir alarmes, relatórios etc.

Como os tipos de mensagens definidos permitem efetuar consultas periódicas, um sistema SCADA, em particular o SAGE, pode assumir a monitoração de equipamentos de

Page 5: MONITORAÇÃO DE REDES E SISTEMAS DE · PDF filesubestações são operadas apenas remotamente, sem a presença de operador no local. Nestes casos, como garantir que todos os equipamentos

5

rede de comunicação de dados do próprio sistema de supervisão. A metodologia é implementar funções dentro do SAGE que possuam caráter de gerente SNMP, ou seja, possam fazer pedidos e monitorar equipamentos. Juntamente com características já implementadas no SAGE como recursos de alarmes, distribuição de dados, tal implementação permite utilizar o SAGE como uma ferramenta de gerência. Para tal, é necessário definir as informações a serem monitoradas em uma base de dados com configuração de medidas, alarmes, etc. e elaborar telas para visualização de medidas.

Uma outra capacidade adicional a um sistema SCADA diz respeito a poder monitorar o SAGE como sistema, de modo a obter informação sobre status de ligações entre centros de controle, status de ligações entre operação e unidade terminal remota, taxa de mensagens enviadas e outros tipos de informações. Para tal, é necessário ao SAGE responder requisições vindas de gerentes SNMP por informações do próprio SAGE. Portanto, sob esta perspectiva, o SAGE opera como um agente SNMP.

3. Módulo agente SNMP para o SAGE

Como informações são disponibilizadas a gerentes SNMP através da definição de MIBs, para o SAGE é necessário definir a estrutura da MIB-SAGE usando a Structure of Management Information [6]. Esta estrutura, assim como outras MIBs privadas, tem sua raiz localizada em iso.org.dod.internet.private.enterprises. Dessa forma, foi obtido junto ao órgão internacional competente (Internet Assigned Numbers Authority - IANA) um identificador para a localização de todas as informações disponíveis na MIB-SAGE:

iso.org.dod.internet.private.enterprises.cepel.sage (1.3.6.1.4.1.26011.1)

O documento que compõe a MIB do SAGE contém mais de 11.000 linhas e está disponível a público. Como exemplos, as informações disponíveis na MIB do SAGE são:

o Status dos Processos do SAGE o Variáveis de Ambiente: informa o valor corrente de várias variáveis de ambiente

relacionadas ao software SAGE. o Informações sobre ligações SCADA: status, identificador, nomes de ligação, tipo de

conversor de protocolo associado e outras informações. o Informações sobre nós no sistema SCADA: status, identificador, número de

processos em execução e outras informações. o Informações sobre equipamentos de monitoração: status, equipamento reserva ou

principal e outras informações

3.1. Processo Agente SNMP

Para disponibilizar as informações gerenciais descritas, é necessário que haja na rede SAGE um agente SNMP em execução com funcionalidade para responder a requisições sobre a MIB-SAGE. Esse agente pode ser executado em qualquer um dos nós da rede SAGE, podendo também ser executado em mais de um nó simultaneamente.

O funcionamento básico do agente consiste em receber uma mensagem SNMP (get) contendo um dos OIDs da MIB-SAGE, executar os procedimentos necessários para a geração / obtenção da informação correspondente e, finalmente, enviar uma mensagem (get-response) para o gerente contendo a informação propriamente dita. Vale ressaltar que a resposta obtida por um gerente através de uma consulta à MIB-SAGE independe do agente consultado. Isso acontece porque as informações são obtidas, em última análise, através de consultas por parte do Agente à base de tempo real do SAGE, que é única em toda a rede, podendo ser acessada por um ou mais Agentes localizados em um ou mais nós SAGE.

Page 6: MONITORAÇÃO DE REDES E SISTEMAS DE · PDF filesubestações são operadas apenas remotamente, sem a presença de operador no local. Nestes casos, como garantir que todos os equipamentos

6

Portanto, a possibilidade de haver mais de um Agente em uma mesma rede SAGE pode ser vista como um mecanismo de redundância para aumentar a disponibilidade do sistema de gerenciamento da rede SAGE caso um Agente falhe.

O agente foi implementado como um módulo do pacote open source NET-SNMP (http://www.net-snmp.org). O pacote NET-SNMP contém aplicativos de linha de comando para executar operações como GET, GETNEXT, SET, dentre outras. Contém também um agente SNMP com suporte a várias MIBs como por exemplo HOST-RESOURCES [ 7], MIB-II [8] e UCD-SNMP (http://www.net-snmp.org).

O agente foi implementado como um módulo do agente NET-SNMP que é inserido como um plugin ao instanciar o agente. Como o agente depende da base de dados de tempo real e é controlado pelo processo gcd, caso o SAGE saia de operação, o processo também sai de operação. Em máquinas que fazem parte de uma rede SAGE, caso informações independentes do SAGE sejam de interesse em ser monitoradas, o recomendado é instanciar um segundo agente SNMP que não carregue o módulo SAGE SNMP, de forma que mesmo que o SAGE não esteja em operação, seja ainda possível monitorar informações como taxa de transmissão em rede, consumo de memória, tempo de operação etc.

Foi também implementado um módulo adicional e opcional para informar se o SAGE está “em execução”. Como o SAGE é um sistema distribuído, o conceito de estar “em execução” pode gerar algumas dúvidas. As duas opções adotadas são informar se o gerente de memória distribuída (gmcd) está em execução ou se há pelo menos uma ligação em atividade. Este módulo pode ser executado junto a um agente SNMP sem dependência da operação do SAGE.

4. Implementação de um conversor de protocolo SNMP e transportador de protocolo SNMP

O objetivo do conversor de protocolo SNMP e do transportador de protocolo SNMP é tornar o SAGE capaz de monitorar equipamentos de rede e máquinas de um sistema supervisório, de modo que o SAGE tenha funcionalidade de gerente SNMP para requisitar informações dos equipamentos conectados à rede de tempo real.

São possíveis de serem monitoradas as próprias máquinas onde o SAGE é executado no ambiente de tempo real, bem como os dispositivos genéricos de rede tais como roteadores, switches e servidores de terminais (terminal servers), desde que estes tenham capacidade de gerenciamento SNMP.

O conversor de protocolo SNMP organiza a forma como as medidas configuradas serão monitoradas. Esta organização inclui número de tentativas a acessar determinada informação, tempo a esperar (timeout), dentre outras características, e também inclui o processamento de médias.

As informações são armazenadas na base de dados de tempo real do SAGE – BDTR seguindo modelos já utilizados de pontos digitais e analógicos e também de estruturas próprias do Sistema SAGE.

Procura-se obter métricas que possam indicar reais problemas na rede. Por exemplo, um consumo de CPU elevado em um intervalo de 5 segundos não indica necessariamente um problema de limitação de CPU visto que a CPU de fato pode chegar a alta utilização por breves períodos de tempo, mas pode manter-se com baixo nível de consumo se for tomada a média em um intervalo mais amplo, por exemplo, 1 minuto.

Portanto, para algumas medidas é interessante registrar suas variações de modo estatístico em diferentes escalas de tempo. Define-se então como medidas multiescalares aquelas que são calculadas em múltiplos intervalos de tempo. Para medidas multiescalares

Page 7: MONITORAÇÃO DE REDES E SISTEMAS DE · PDF filesubestações são operadas apenas remotamente, sem a presença de operador no local. Nestes casos, como garantir que todos os equipamentos

7

o gerente deve recolher informações amostradas em intervalos de tempo. Com valores amostrados, o módulo de gerente pode então, por exemplo, calcular médias ou tomar valores máximos em determinado intervalo de tempo. O modelo multiescalar definido permite processamento de médias em 1 minuto, 10 minutos, 1 hora, e 1 dia.

Outro tipo de medida é obtido calculando-se uma média móvel com pesos exponenciais (MMPE - média ponderada tomando-se o valor instantâneo da métrica desejada e valores anteriores, onde os pesos são dados por uma progressão geométrica). Uma maneira bem simples de realizar este cálculo é utilizar uma fórmula recursiva do tipo xk = a x´ + (1-a) xk-1, onde x´ é a medida instantânea, xk a medida obtida no k-ésimo intervalo de tempo e a é uma constante tal que 0 < a < 1. Em uma visualização gráfica da métrica calculada, o efeito de aplicar este cálculo é suavizar a curva dada pelos valores instantâneos. Desta forma, um valor instantâneo alto e valores recentes altos vão resultar em uma média alta, mas se os valores recentes forem baixos, a média será descontada de um fator dado por a. As medidas no passado têm um peso dado por uma potência de 1-a. Portanto, uma medida no k-ésimo intervalo de tempo terá um fator para medida no i-ésimo intervalo de tempo dado por (1-a)k-i. Como o valor de 1-a é menor do que 1, à medida que a medida é mais antiga (menor o valor de i) menor será o peso considerado para a média. Em resumo, valores antigos têm progressivamente menor peso no cálculo da média exponencial.

O conversor também é capaz de computar não só dados instantâneos, mas também taxas em tempo ou diferença entre consultas em sequência. Um exemplo é taxa de transmissão em rede. Como a informação definida na MIB-II é o número de bytes transmitidos em uma interface desde entrada em operação, o conversor cuida de requisitar consultas e computar taxas dada a diferença entre consultas e sua razão pelo intervalo de tempo decorrido. A definição sobre o tipo de medida (taxa, diferença, instantânea etc.) é feita em configuração de base de dados.

Dados também podem ser obtidos como função de um ou mais pontos obtidos pelo par conversor de protocolo e transportador de protocolo. Por exemplo, consumo de CPU é um valor estimado pela proporção entre o tempo utilizado pela CPU para os processos e o tempo total (tempo ocioso somado ao tempo de processos). No SAGE já há recursos próprios para realizar tal cálculo que é um ponto calculado, que se trata de um ponto lógico, mas com configuração especial para cálculo de uma ou mais parcelas.

O transportador de protocolo SNMP é o processo que efetivamente faz as requisições SNMP e encaminha respostas ao conversor de protocolo. As respostas são tratadas de modo que os cálculos efetuados geram dados a serem colocados em pontos da base de dados. O conversor de protocolo possui interface com o processo SAC (serviço de aquisição e controle) de maneira a armazenar informações de pontos lógicos na base de dados.

A implementação do conversor gsnmp e do transportador tsnmp foi realizada para serem dois processos distintos. A implementação é em linguagem C, com utilização de funções da biblioteca net-snmp.

5. Geração automática de base

A configuração de base (pontos lógicos, pontos físicos e outras entidades do modelo de dados do SAGE) é um procedimento que demanda bastante tempo e requer conhecimento de OIDs para configuração de medidas a serem armazenadas em base de dados do SAGE. Torna-se uma facilidade uma ferramenta automática de geração de base para criar as entradas necessárias para várias tabelas do SAGE quando se deseja ter o SAGE como gerente SNMP de uma infra-estrutura computacional.

Vale frisar que para apenas acessar o SAGE via SNMP, utilizando o agente SAGE SNMP sem configurar medidas a serem monitoradas, não é necessário gerar muitas entradas em tabelas de base de dados do SAGE. No caso de utilizar o SAGE como ferramenta de gerência, isto é, configurar uma base de dados para configurar pontos a

Page 8: MONITORAÇÃO DE REDES E SISTEMAS DE · PDF filesubestações são operadas apenas remotamente, sem a presença de operador no local. Nestes casos, como garantir que todos os equipamentos

8

monitorar elementos em uma rede ou um sistema SAGE utilizando os recursos do SAGE como alarmes, distribuição de pontos etc, é necessário gerar entradas a serem incluídas em número significativo de tabelas da base fonte do SAGE.

O conceito desenvolvido para a ferramenta de geração automática de base fonte é de que o projetista da base coloque as informações em um único arquivo padronizado que descreve todas as informações a serem monitoradas. Em uma primeira etapa, a ferramenta de geração lê este arquivo de configuração de base e gera arquivos com entradas em tabelas de base fonte. Em uma segunda etapa, a ferramenta concatena os arquivos respectivos às medidas SNMP com os arquivos da base fonte que são independentes de medidas SNMP.

Um exemplo de configuração consta a seguir:

[HOST] ID = srv1 IP_ADDR1 = 161.79.56.101:1027 SNMP_VERSAO = 1 SNMP_COMMUNITY = public PDS DEBUG PAS HOST_UPTIME KCONV1 360000 INC max1h PAS DISCO_USO KCONV1 1048576 IND 4 PAS ETH0TX TIPM ED KCONV1 125 KCONV2 0.2 IND 2

No exemplo acima, há uma definição de informações a acessar um determinado agente SNMP na máquina com ID srv1. A máquina tem endereço IP configurado por IP_ADDR1 e versão SNMP e campo community definidos. Em seguida, são definidas as informações a serem monitoradas aqui para cada linha pode ser gerados um ou mais pontos a constar na base final. A sintaxe para cada linha é

TIPO INFO [opções]

onde opções = TIPM x KCONV1 y KCONV2 w IND z INC max1h med1min med10min med1h med1d

As opções referem-se a tipo de medida (TIPM) a ser computada (diferença, instantânea, etc.), a índices de tabela (IND), fatores de conversão (KCONV1, KCONV2) e inclusão (INC) de médias.

6. Experimentação e Resultados

6.1. Testes Locais

Plataforma Foram realizados experimentos em plataforma de testes montada no Laboratório de

Supervisão e Controle (LASC) do CEPEL. Nesta plataforma há dois servidores SAGE srv1 e srv2, duas estações SAGE de interface com usuário ihm1 e ihm2. As estações srv1 e srv2 estão habilitadas a estabelecer comunicação via ICCP. Portanto há em cada uma das estações srv1 e srv2 uma instância de conversor de protocolo ICCP. Há uma estação que distribui pontos via protocolo ICCP (estb). A infra-estrutura de rede ainda consiste em um switch 3COM, um terminal server Cyclades TS100, um roteador Cisco e um firewall CiscoPix. As estações srv1, srv2, ihm1 e ihm2 tem o sistema operacional linux instalado. Há difusão de dados entre as estações servidoras srv1 e srv2 e as estações de interface ihm1 e

Page 9: MONITORAÇÃO DE REDES E SISTEMAS DE · PDF filesubestações são operadas apenas remotamente, sem a presença de operador no local. Nestes casos, como garantir que todos os equipamentos

9

ihm2. É estabelecida uma associação ICCP entre o sistema SAGE local (srv1 e srv2) com a máquina de distribuição ICCP (estb).

Cada estação na plataforma executa uma instância de agente SNMP (NET-SNMP) que responde requisições SNMP por informações que estejam na MIB-II, HOST-RESOURCES-MIB, UCD-SNMP-MIB. A máquina srv1 executa também uma instância do agente SAGE-SNMP que responde por requisições SNMP por informações que se encontrem na MIB-SAGE. As máquinas srv1 e srv2 executam instâncias do conversor de protocolo SNMP e transportador de protocolo SNMP.

Os equipamentos switch, roteador, firewall e terminal server são gerenciáveis e implementam agentes SNMP implementados por seus respectivos fabricantes.

Há também um gerente externo instalado em máquina independente da rede de difusão do SAGE que é capaz de fazer requisições SNMP e de receber traps SNMP. O gerente externo consiste no pacote openNMS (http://www.opennms.org) que realiza monitoramento via SNMP e implementa uma interface Web acessível por Web browser. Este gerente está habilitado a receber mensagens do tipo trap sinalizando quando ligações (ICCP, SNMP) são ativadas ou desativadas.

A base criada para testes contém um total de 504 pontos pertencentes a ligações SCADA SNMP.

Resultados

A Figura 1 apresenta tela elaborada para apresentar medições de consumo de memória, espaço em disco, CPU, status da ligação ICCP, status e disponibilidade dos processos no

Figura 1: Tela com informações referentes à estação srv1 obtidas via SNMP

Page 10: MONITORAÇÃO DE REDES E SISTEMAS DE · PDF filesubestações são operadas apenas remotamente, sem a presença de operador no local. Nestes casos, como garantir que todos os equipamentos

10

SAGE, taxa de transmissão e recepção na interface de rede Ethernet e outras informações. A imagem apresentada da tela foi capturada durante operação da plataforma de testes.

A Figura 2 apresenta tela elaborada para mostrar informações do switch na plataforma de testes. São apresentados status de 48 portas deste switch em caixas separadas, utilizando-se a cor verde ou cor vermelha. A cor verde significa em operação, ao passo que a cor vermelha significa fora de operação. Há também uma tabela para apresentar por interface (porta) as respectivas taxas de transmissão e recepção.

6.2. Testes realizados em campo

Foram realizados testes em campo nas instalações da Companhia Hidro-Elétrica do São Francisco (CHESF). A plataforma de testes na CHESF consistiu primeiramente em um ambiente isolado com SAGE em dois servidores utilizando-se a base de dados do regional leste (CROL). Nestes servidores foi instanciado o agente SAGE SNMP. Uma outra estação ihm1-mon foi configurada com base para monitoração de dados por SNMP. Portanto, o SAGE instalado nesta máquina atua como gerente SNMP.

Em segunda etapa, o teste consiste na monitoração dos sistemas SAGE implementados no centro do sistema (COOS) e na regional leste efetivamente (CROL). O conjunto de máquinas monitorado foi um subconjunto dos equipamentos presentes nestas duas instalações. Nas instalações do COOS, foi configurada a monitoração de dois servidores, cinco estações IHM, um switch de rede e um time server. Nas instalações do CROL, foi configurada a monitoração de dois servidores, três estações IHM, três gateways, um switch de rede e um time server. Os servidores, estações IHM e gateways são equipamentos da Sun Microsystems com sistema operacional Sun Solaris (algumas máquinas com versões Solaris 6, mais antiga, e outras com versão Solaris 10, mais recente).

Figura 2: Tela que apresenta status de portas no switch de rede da plataforma de testes locais.

Page 11: MONITORAÇÃO DE REDES E SISTEMAS DE · PDF filesubestações são operadas apenas remotamente, sem a presença de operador no local. Nestes casos, como garantir que todos os equipamentos

11

O número de pontos definido na base de gerência foi da ordem de 3000 pontos lógicos (digitais e analógicos).

Os resultados dos testes em campo foram satisfatórios. Foi possível monitorar estações SAGE e estações IHM, monitorar estados de ligações e monitorar estado de múltiplas interfaces em switch de rede, assim como a taxa de transmissão e recepção de dados em cada interface do switch em questão.

7. Conclusão

Este projeto permitiu ao CEPEL incorporar a gama de protocolos que o SAGE utiliza como interface com outros sistemas o protocolo SNMP. Foram implementados um conversor de protocolos e transportador de protocolos SNMP que permitem configurar um sistema SAGE como ferramenta de gerência de rede. Foi implementado um módulo que é instanciado como plugin do agente SNMP do pacote NET-SNMP para permitir ao SAGE ser gerenciável, isto é, permite que o SAGE possa responder a requisições SNMP. Estes componentes encontram-se disponíveis no SAGE, desde a atualização de número 18 do SAGE para todos os usuários. O projeto incluiu desde a concepção de gerência de redes em um sistema SCADA, passando por sua implementação, testes em campo e treinamento para as empresas CHESF, FURNAS, ELETROSUL e ELETRONORTE. Os objetivos foram plenamente satisfeitos e o CEPEL planeja evoluir continuamente estes produtos, além deste projeto.

Bibliografia

[1] F. Cleveland, “IEC TC57 Security Standards for the Power System’s Information Infrastructure Beyond Simple Encryption”, Proceeding of Transmission and Distribution Conference and Exhibition, 2005/2006 IEEE PES, maio de 2006, pp. 1079—1087.

[2] IEC - INTERNATIONAL ELECTROTECHNICAL COMMISSION , “Power systems management and associated information exchange - Data and communications security”, IEC 62351, junho de 2007.

[3] A. J. Silva, A. Oliveira Filho, L. Pereira, L. Lima, N. Lambert, M. F. Amorim, G. Azevedo, “SAGE: Architecture for Power System Competitive Environments”, VI SEPOPE, 1998, Salvador.

[4] W. Stallings, “SNMP and SNMPv2: the Infrastructure for Network Management”, IEEE Communications Magazine, março de 1998.

[5] W. Stallings, “SNMPV3: A Security Enhancement for SNMP”, IEEE Communications Surveys, Vol. 1, N. 1, 1998.

[6] K. McCloghrie, D. Perkins, J. Schoenwaelder, “Structure of Management Information Version 2”, RFC 2578, abril de 1999.

[7] S. Waldbusser, P. Grillo, “Host Resources MIB”, RFC 2790, março de 2000.

[8] K. McCloghrie, M. Rose, “Management Information Base for Network Management of TCP/IP-based internets: MIB-II”, RFC1213, março de 1991.