Você está na página 1de 27

SAGE

SISTEMA ABERTO DE GERENCIAMENTO DE ENERGIA

Manual de Configuração

SNMP no SAGE
SAGE_Manual_SNMP.doc

Janeiro de 2010
Quadro de Revisão

Nº Data Descrição Versão


00 25/01/2010 Novo formato

Preparado por:

21.941-911 • Av. Horácio de Macedo, 354 • Rio de Janeiro - RJ


Tel.: (021) 2598-6000 • Fax: (021) 2260-1340

A informação contida neste documento é de propriedade do CEPEL, tendo se originado de trabalho desenvolvido nesta empresa para consulta e
referência dos usuários do sistema SAGE, e não poderá ser reproduzida ou utilizada para quaisquer outros fins sem autorização prévia e
expressa do CEPEL. Este documento baseia-se em informação disponível na data de sua publicação. Embora sejam feitos esforços para
torná-lo preciso, este não se propõe a cobrir todos os detalhes ou particularidades apresentadas pelo sistema. O CEPEL não se responsabiliza
por notificar os usuários deste documento de possíveis alterações feitas posteriormente.
Conteúdo
1 INTRODUÇÃO....................................................................................................... 1
1.1 CASOS DE USO ........................................................................................................................ 2
1.1.1 Agente SAGE SNMP ......................................................................................................... 2
1.1.2 Gerencia de Equipamentos utilizand o SAGE ................................................................... 2
1.1.3 Agente SNMP e Gerência pelo SAGE .............................................................................. 2
1.2 MIB SAGE .............................................................................................................................. 2
1.3 PROCESSOS SNMP ................................................................................................................. 3
1.4 AGENTE SAGE SNMP ............................................................................................................. 3
1.5 GERENCIAMENTO DE REDE VIA SAGE....................................................................................... 4
2 AGENTE SAGE SNMP ........................................................................................... 7
2.1 INTRODUÇÃO............................................................................................................................ 7
2.2 ARQUITETURA .......................................................................................................................... 7
2.3 PROCESSOS ............................................................................................................................ 8
2.4 CONFIGURAÇAO ....................................................................................................................... 8
2.5 INFORMAÇÕES ACESSÍVEIS VIA AGENTE SAGE SNMP ............................................................ 10
2.6 INFORMAÇÕES SOBRE O SAGE EM OPERAÇÃO ........................................................................ 12
3 CONVERSOR DE PROTOCOLO ........................................................................... 15
3.1 INTRODUÇÃO.......................................................................................................................... 15
3.2 CONVERSOR DE PROTOCOLO SNMP ...................................................................................... 15
3.3 MAPEAMENTO DE OPERAÇÕES................................................................................................ 15
3.3.1 Aquisição Analógica ........................................................................................................ 16
3.3.2 Aquisição Digital .............................................................................................................. 16
3.3.3 Controle ........................................................................................................................... 16
3.4 PONTOS CALCULADOS............................................................................................................ 17
3.5 FILTRO................................................................................................................................... 17
3.6 TABELAS ................................................................................................................................ 18
3.6.1 LSC .................................................................................................................................. 18
3.6.2 CNF.................................................................................................................................. 18
3.6.3 PAS .................................................................................................................................. 18
3.6.4 PAF .................................................................................................................................. 18
3.6.5 PDF .................................................................................................................................. 20
3.6.6 PDS.................................................................................................................................. 20
3.6.7 CGF ................................................................................................................................. 20
3.6.8 CGS ................................................................................................................................. 20
3.6.9 NV1 .................................................................................................................................. 20
3.6.10 NV2.............................................................................................................................. 20
3.6.11 CXU ............................................................................................................................. 20
3.6.12 UTR ............................................................................................................................. 21
3.6.13 TAC ............................................................................................................................. 21
3.6.14 ENU ............................................................................................................................. 21
3.7 GERAÇÃO AUTOMÁTICA DE BASE FONTE ................................................................................. 21
3.7.1 Procedimento................................................................................................................... 21

iii
CONTEÚDO

iv
1
Capítulo

1 Introdução
A necessidade de monitoramento e controle remoto de equipamentos computacionais levou à
criação do protocolo SNMP (Simple Network Management Protocol). Este protocolo, desenvolvido em
1988, se tornou um padrão industrial, sendo que a grande maioria dos equipamentos e sistemas
operacionais atuais o suportam. Até mesmo equipamentos elétricos estão sendo fornecidos
habilitados para SNMP para as funções de monitoramento remoto. Também existem diversas
ferramentas, comerciais e livres, para o monitoramento e controle de equipamentos de rede via
SNMP.
A utilização de sistemas existentes de monitoramento de redes na hierarquia de supervisão e
controle de uma empresa é uma solução efetiva para os fins de manutenção e que, inclusive, já vem
sendo adotada em algumas companhias. Entretanto, em muitos casos, a empresa não tem toda sua
supervisão baseada em redes TCP/IP, o que é necessário para o funcionamento do SNMP. Nestes
casos, a supervisão remota da infra-estrutura não é possível através de tais ferramentas. No entanto,
o SAGE pode ser utilizado para também difundir dados de monitoramento através de seus protocolos
de comunicação. Para isso, é necessário que se implemente a capacidade de comunicação via
SNMP no SAGE, para que este possa obter dados dos equipamentos locais. Estes dados serão
tratados da mesma forma que os dados do sistema elétrico e poderão ser distribuídos como pontos
digitais e analógicos para outros centros, permitindo o monitoramento e o controle remoto dos
equipamentos da infra-estrutura local. Em outra vertente, o SAGE pode atuar como um agente SNMP
e fornecer dados de seus processos internos para serem captados por ferramentas genéricas de
monitoramento de rede porventura utilizadas nas empresas.
Hoje o SAGE é um sistema gerenciável e é capaz de gerenciar sistemas. Ser gerenciável significa
que o SAGE disponibiliza informações internas para outros softwares de monitoramento via SNMP. E
o SAGE é capaz de gerenciar pois o SAGE é de fato um sistema de monitoramento que passa a ter
capacidade de monitorar equipamentos de rede via SNMP.
Esta integração do monitoramento de rede ao monitoramento do sistema elétrico contribui para o
aumento da disponibilidade dos centros de controle das empresas. Por exemplo, a indisponibilidade
de um roteador reserva de uma instalação remota não assistida localmente poderia gerar um alarme
na tela do operador que avisaria à equipe de manutenção. Também é possível a criação de centros
de supervisão da manutenção que se responsabilizariam pela supervisão de toda a infra-estrutura da
hierarquia de supervisão e controle da empresa, de maneira centralizada.

1
1 INTRODUÇÃO

1.1 Casos de Uso

1.1.1 Agente SAGE SNMP

Um primeiro caso de uso é realizar gerência utilizando um gerente SNMP disponível no mercado
para monitorar o funcionamento do sistema SAGE. O SAGE tem capacidade de responder a
requisições SNMP e informar sobre estado de ligações com IEDS, estado de processos como gmcd,
alr, sac executados nos nós da rede SAGE etc.

1.1.2 Gerencia de Equipamentos utilizand o SAGE

Um segundo caso de uso é realizar gerência de equipamentos que compõem a infraestrutura da


rede de um sistema SAGE. Esta infraestrutura é composta por estações SAGE, switches, roteadores,
terminal servers , firewalls etc.
Para isto é necessário configurar pontos na base fonte que determinam os dados a serem
monitorados destes equipamentos. É indispensável ter uma instância de agente SNMP sendo
executada em cada um destes equipamentos.
O conversor de protocolo tem também capacidade de “trabalhar” os dados obtidos de agentes,
seja calculando médias ou valores máximos.
O gerente tem capacidade então de criar telas utilizando o SigDraw com informações para
visualizar os dados em monitoração.
Há possibilidade para gerar alarmes utilizando recursos do próprio SAGE.
O gerente também tem opção de colocar dados em disponibilidade para distribuição para outros
centros.

1.1.3 Agente SNMP e Gerência pelo SAGE

Como os dois casos de uso descritos não se excluem mutuamente, um terceiro caso de uso é a
situação em que estações SAGE executam instâncias do agente SAGE SNMP e há também
gerenciamento por base de dados em sistema SAGE.

1.2 MIB SAGE


As MIBs (Management Information Base) SNMP têm como objetivo prover referência a
informações gerenciais relativas a dispositivos habilitados para comunicação em rede. Estas
informações são organizadas e disponibilizadas de maneira padronizada em um documento. 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.

As informações em MIB estão dispostas de forma hierárquica. Esta estrutura, assim como outras
MIBs privadas de fabricantes de hardware/software, tem sua raiz localizada em
iso.org.dod.internet.private.enterprises. Dessa forma, deverá ser solicitado ao órgão internacional

2
1 INTRODUÇÃO

competente (IANA). O identificador concedido 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)

1.3 Processos SNMP


Os processos que permitem a gerência são essencialmente o processo agente sagenmpd, o
processo agente snmpdg, o processo conversor de protocolo gsnmp, o transportador de protocolo
tsnmp. Além disso, existem processos que auxiliam a tarefa de gerência. O processo monitor coleta
em requisições ao sistema operacional informações relativas a processos do SAGE.
Finalmente, a ferramenta gerabasesnmp auxilia a criação de base fonte com configuração de
pontos a gerenciar via SNMP.

1.4 Agente SAGE 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 hosts da rede SAGE, podendo também ser
executado em mais de um host 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 hosts SAGE.
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.
A Figura 1 - 1 ilustra a interação entre o processo responsável por ser agente SNMP e outros
processos do sistema SAGE. O Gerente de Controle Distribuído (GCD) já tem algumas
funcionalidades gerenciais e seria em parte responsável por “alimentar” a base de dados de tempo
real com informações sobre os processos do SAGE. Algumas informações referentes ao sistema
operacional seriam obtidas por um processo simples denominado monitor. O monitor tem duas
funções básicas. Primeiramente, coleta e processa informações relativas a processos do SAGE tais
como consumo de memória do processo de alarmes (alr). Em seguida, armazena as informações
necessárias para a MIB-SAGE na base de dados de tempo real.

3
1 INTRODUÇÃO

Figura 1 - 1 - Arquitetura para o agente SAGE SNMP.

1.5 Gerenciamento de Rede via SAGE


O objetivo deste módulo é tornar o SAGE capaz de monitorar equipamentos de rede e máquinas
de um sistema supervisório. Para isto, utiliza-se o protocolo SNMP de forma que o SAGE tenha
funcionalidade de Gerente SNMP para requisitar e aquisitar informações dos equipamentos
conectados à rede de tempo real.
Serão 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, desde que estes tenham capacidade de gerenciamento SNMP.
As informações serã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. A utilização deste modelo permite reuso de várias funcionalidades existentes na arquitetura
do SAGE tais como a utilização de pontos para visualização em tela e geração de alarmes.
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. O modelo multiescalar utilizado, salvo alterações em
configuração, define cálculos em 1 minuto, 10 minutos, 1 hora, e 1 dia.

4
1 INTRODUÇÃO

Para medidas multiescalares o gerente deve recolher informações amostradas a cada t segundos,
onde t é configurável até 60 segundos. Tipicamente seria utilizado um intervalo default que permita
um número razoável de amostras, por exemplo, 10 amostras em um minuto. 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.
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.
O processo gerente SNMP-SAGE faz requisições periódicas a agentes SNMP. As respostas são
tratadas de modo que os cálculos efetuados geram dados a serem colocados em pontos da base de
dados. O processo gerente irá interagir com um conversor de protocolo como 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 Figura 1 - 2 mostra a interação entre o processo gerente e outros processos como conversor de
protocolo, serviço de aquisição e controle (SAC), a base de dados de tempo real (BDTR) e agentes
SNMP. O gerente aquisita dados fazendo requisições aos agentes SNMP ou recebendo traps
assíncronos. Esses agentes SNMP encontram-se em equipamentos de rede (switch, roteador etc.) e
também em estações SAGE, onde podem estar acrescidos do módulo SAGE para agente SNMP. O
gerente processa os dados coletados e passa os dados “trabalhados” ao SAC via um conversor de
protocolo próprio. O conceito utilizado na conversão de protocolo é o de utilizar informações
específicas do protocolo SNMP tais como identificadores de objeto (OID) e passar a informação para
um nível lógico utilizando o modelo de pontos do SAGE que seria utilizado por operadores. Esta
informação passa à base de dados do SAGE utilizando-se de mecanismos já próprios do SAC. O
modelo de pontos também permite utilizar mecanismos já próprios para alarmes através do processo
alr (não representado na figura).

5
1 INTRODUÇÃO

Figura 1 - 2 - Interação do processo SAGE gerente SNMP com outros processos do SAGE.

6
2
Capítulo

2 Agente SAGE SNMP


2.1 Introdução
O Agente SAGE SNMP tem por objetivo tornar o SAGE gerenciável. Isto significa que o SAGE
tem capacidade de responder requisições SNMP e informar características do desempenho e
configuração de um sistema SAGE.

2.2 Arquitetura
O processo agente SAGE SNMP é derivado do agente SNMP implementado no pacote NET-
SNMP e acrescido de um módulo desenvolvido pelo CEPEL para permitir acesso à base de dados de
tempo real do SAGE. O agente SAGE SNMP tem o comportamento típico de um agente SNMP, ou
seja, recebe requisições SNMP e, em resposta, reporta valores de informações descritas na MIB do
SAGE. Para reportar dados sobre o SAGE, o agente acessa dados diretamente da base de dados de
tempo real. Portanto, o agente SAGE SNMP depende da base de dados de tempo real.
Os sistemas operacionais comumente utilizados possuem uma versão de agente SNMP disponível
para ser utilizada para fins de gerência de informações do sistema (excetuando-se informações sobre
o SAGE). A recomendação do CEPEL é instanciar mais de um agente SNMP em estação SAGE
(servidor ou ihm). Um agente seria o agente SNMP já existente no próprio sistema que poderia ser
executado sem a dependência do SAGE. Outra instância de agente SNMP seria o agente SAGE
SNMP que depende do sistema SAGE pois depende de acessos à base de dados de tempo real. A
principal razão para esta separação em diferentes instâncias é o fato de que o agente SAGE SNMP é
desativado se o SAGE for desativado por qualquer motivo. Nesta situação, se uma ferramenta de
gerência SNMP fosse configurada para acessar informações sem relação com o SAGE como
consumo de espaço em disco ou memória, esta ferramenta perderia acesso a tais dados por causa
da desativação do agente SAGE SNMP.
Uma segunda opção para agente SNMP que disponibilize informações do próprio sistema é o
agente SNMPDG, incluído na distribuição do SAGE e descrito neste documento. O agente SNMPDG
também é derivado do pacote NET-SNMP e inclui um módulo desenvolvido pelo CEPEL para reportar
o status do SAGE. Esta instância de agente pode ser configurada para ser iniciada ao ligar a estação
SAGE (boot do sistema operacional). O procedimento para este fim é descrito neste documento.
Muitas informações são disponibilizadas na base de dados de tempo real por serviços de
conversores de protocolo e processos como sac e sdd. Há um processo monitor que coleta

7
2 AGENTE SAGE SNMP

periodicamente informações sobre processos do SAGE a respeito de consumo de CPU e memória e


coloca os respectivos dados obtidos na base de dados de tempo real do SAGE. O processo monitor
não é imprescindível para o funcionamento do agente SAGE SNMP, mas sem o monitor algumas
informações como utilização de CPU e consumo de memória por processos SAGE ficam
indisponíveis.
A Figura 1 - 1 descreve o relacionamento entre o agente SAGE SNMP com outros processos do
sistema SAGE. Observe-se que o agente SAGE SNMP se comporta como uma interface SNMP
entre a base de dados de tempo real e gerentes SNMP.

2.3 Processos
O processo sage agente SNMP (snmpd) deve ser ativado pelo gcd ou por scripts próprios do
SAGE para tal fim, que são:
ativa sagesnmpd – para ativar agente SAGE SNMP
desativa sagesnmpd – para ativar agente SAGE SNMP

Os scripts de ativação e desativação são, respectivamente, sagesnmpd_on.rc e sagesnmpd_off.rc.


Estes scripts devem ser incluídos em tabela PRO de forma que o agente SAGE SNMP seja ativado
pelo gcd. Além de configuração em tabela PRO, também é necessário configuração em tabelas INP e
SXP de acordo com procedimento comum descrito no manual de configuração do SAGE.
O processo monitor também é configurado com scripts de ativação e desativação seguindo
mesmo padrão:
monitor_on.rc – para ativar monitor
monitor_off.rc – para desativar monitor

Da mesma forma que o processo agente SAGE SNMP, o processo monitor deve ser configurado
em tabelas PRO, INP e SXP da base fonte do SAGE.
O agente SAGE SNMP gera arquivo de log em $LOG/sagesnmpd.log.
O agente SAGE SNMP por configuração default é executado de maneira a estar apto a receber
dados pela porta 1027.

2.4 Configuraçao
O arquivo sagesnmpd.conf contém a configuração para instanciação do agente SAGE SNMP.
Existe uma chamada para o módulo que permite a um agente net-snmp responder a requisições
acerca de um sistema SAGE.
A chamada obedece o seguinte formato:
dlmod sagesnmpd $LIB/net-snmp/sagesnmpd.so

onde $LIB é substituído pelo diretório que contém bibliotecas necessárias ao SAGE. $LIB é uma
variável de ambiente no SAGE.
Os seguintes campos podem ou devem ser informados no arquivo de configuração
sagesnmpd.conf:
■ rwcommunity (obrigatório)

8
2 AGENTE SAGE SNMP

■ trapsink e trapcommunity (opcional)

■ exec e execfix (opcional)

Uma configuração básica é a do seguinte exemplo:


trapcommunity public
trapsink localhost 162
rwcommunity public
trapsage 127.0.0.1:162

Trapcommunity define uma palavra a ser enviada em mensagens trap para garantir um nível fraco
de autenticação.
Trapsink define o endereço de rede a receber traps originários do agente SAGE SNMP.
Rwcommunity define também uma palavra a ser enviada em mensagens trap para garantir um
nível fraco de autenticação.
Trapsage define um endereço e uma porta para entrega de mensagens trap especificamente
definidas na MIB SAGE.
É facultativo definir ativação e desativação de processos para o agente SAGE SNMP. Tais pontos
terão OIDs associados a entradas na extTable encontrada na MIB UCD-SNMP. Tal procedimento é
configurado pelas linhas:
exec nome_referência comando_status
execfix nome_referência comando_executar

Para a linha exec define-se um comando que será executado a cada leitura (mensagem SNMP
GET) no OID assinalado para o referido nome_referência. Para a linha com configuração execfix
define-se um comando a ser executado a partir de uma mensagem SNMP SET com valor 1. O OID
para execfix é .1.3.6.1.4.1.2021.8.1.102 (MIB UCD-SNMP). Como este OID faz parte de uma tabela,
é necessário também o um índice da entrada na tabela para compor o OID. Portanto,
.1.3.6.1.4.1.2021.8.1.102.x seria o OID para a entrada com índice x. Os índices são números
seqüenciais a começar de 1 dados pela ordem que os comandos execfix são listados no arquivo de
configuração.
Um exemplo para o processo referente ao conversor de protocolos do ICCP é dado a seguir:
exec iccp_on /bin/ps -C iccp
execfix iccp_on /bin/csh home/sage/sage/bin/scripts/iccp_on.rc
exec iccp_off /bin/ps -C iccp
execfix iccp_off /bin/csh /home/sage/sage/bin/scripts/iccp_off.rc

Obs: No exemplo acima o diretório $SAGE=/home/sage/sage

9
2 AGENTE SAGE SNMP

Neste exemplo uma leitura (SNMP GET) no oid referente a iccp_on retorna o resultado do
comando unix (comando ps) para status de processo. Já o comando definido em execfix executa a
ativação/desativação do processo.
A fim de facilitar o processo de criação do arquivo de configuração, o procedimento para criar um
arquivo de configuração sagesnmpd.conf é feito automaticamente ao ativar o processo sagesnmpd.
Para isto é necessário um arquivo básico de configuração básico (snmpd_basico.conf) que contém
apenas dados sobre trapcommunity (opcional), trapsink (opcional) e rwcommunity. Também é
necessário um arquivo processos_snmpd.conf que define os processos em linha separadas a serem
configurados para ter uma interfaces para ativação e desativação. Os arquivos snmpd_basico e
processos_snmpd.conf devem ser editados no diretório $BD/../sys/.

2.5 Informações Acessíveis via Agente SAGE


SNMP
Um gerente SNMP pode acessar informações referentes a:
■ nós em um sistema SAGE

■ processos do SAGE

■ comunicação em um sistema SAGE

■ variáveis de ambiente

■ referências de tempo

O documento para consulta sobre qualquer informação acessível pelo agente SAGE SNMP está
disponível na MIB SAGE. Este documento descreve de uma forma geral como a MIB SAGE está
organizada.
Para nós de um sistema SAGE as informações estão disponíveis em tabela noh (tabela descrita
na MIB SAGE). Esta tabela contém as seguintes informações:
■ nome

■ estado

■ descrição

■ endereço IP

■ número de processos

■ número de MCDs

■ hora da última ativação

■ memória disponível

10
2 AGENTE SAGE SNMP

■ swap disponível

O agente organiza os nós dispostos em tabela por ordem alfabética pelo campo NOME.
Para processos as informações estão disponíveis em tabelas separadas para gmcd, sac, alr etc.
Para qualquer dos processos com tabela disponível as informações disponibilizadas são:
■ estado do processo

■ número de restarts

■ tempo de operação do processo

■ consumo de memória

■ consumo de CPU

■ número de page faults

■ PID do processo

■ PID do processo pai

Para informações sobre comunicação há uma série de dados disponibilizados em várias tabelas
que organizam os dados referentes a várias entidades que constam na base de referência do SAGE:
■ Tabela referente a LSC (ligações)

■ Tabela referente a CXU (Conexões)

■ Tabela referente a ENU (enlace UTR)

■ Tabela referente a UTR

■ Tabela referente a MUL (Multiligação)

■ Tabela referente a ENM (enlace de multiligação)

■ Tabela referente a CNM (canal lógico)

O agente organiza a tabela de ligações por ordem alfabética no campo ID.


Para informações sobre variáveis de ambiente, há um conjunto de variáveis de ambiente que são
informadas com o comando var do SAGE.
Lista de variáveis de ambiente disponíveis:
SAGE HOST CPU SGBD HOME
VERSAO BASE CONTEXTO MODO ARQS
LOG MODELO NOH METODO_DIFUSAO
LOCAL REMOTO SAC_HOST1 SAC_HOST2

11
2 AGENTE SAGE SNMP

Para referência de tempo o agente pode buscar informações coletadas sobre status de NTP no
sistema SAGE. Está disponibilizada uma tabela com as seguintes informações:
■ Atraso com servidor NTP

■ Jitter na comunicação com servidor NTP

■ NTP offset que é a diferença entre a hora local e a hora do servidor NTP

■ Outros dados

É também disponibilizado acesso a informações sobre pontos lógicos do SAGE. Isto inclui PAS,
PDS, CGS, e PTS. Para cada tipo de ponto (PAS, PDS, CGS, e PTS) há uma tabela com principais
informações sobre os pontos em suas entradas (a1flags, invalido, entrada manual etc.). Além disso,
também há a opção de obter número total de pontos PAS inválidos, número total de PDS inválidos,
número total de PTS com entrada manual etc.
Por fim, o documento de referência para informações acessíveis via MIB SAGE é a própria
descrição no documento SAGE-MIB.txt.

2.6 Informações sobre o SAGE em operação


A MIB do SAGE também inclui informação para descrever o status do sistema SCADA. Há duas
opções a considerar:
■ O agente verificar se o gmcd está em operação na máquina local. Com base neste
parâmetro, o OID (.1.3.6.1.4.1.26011.1.6.1) informa o status do sistema SCADA, indicando
se está em operação (1) ou não (0).

■ O agente verificar se o gmcd está em operação e se há pelo menos uma ligação


operacional. Com base neste parâmetro, o OID (.1.3.6.1.4.1.26011.1.6.2) informa o status
do sistema SCADA, indicando se está em operação (1) ou não (0).

O módulo que permite reportar estas informações encontra-se separado do módulo do agente
SAGE SNMP. Este módulo, como já mencionado anteriormente, deve ser carregado em instância
snmpdg separada do agente SAGE SNMP de forma que este agente encontra-se permanentemente
acessível, mesmo que o SAGE se encontre desativado.
O CEPEL recomenda que, no caso de instanciar ou o agente snmpdg, este deve ser instanciado
separadamente do agente sagesnmpd. O objetivo é ter uma instância de agente SNMP sempre em
operação para suprir a informação sobre SAGE em operação. Isto decorre do fato de que o agente
sagesnmpd depende da base de dados de tempo real, portanto no caso de o SAGE ser desativado o
agente sagesnmpd sai de operação e um gerente SNMP ao contactar o sagesnmpd não receberia
nenhuma resposta. Portanto, a configuração ideal é ter o agente snmpdl (ou snmpdg) executada em
outra instância (sugerida pelo CEPEL na porta 1028) que seria instanciada já ao ligar (dar boot) a
máquina em que o SAGE estará operando.

12
2 AGENTE SAGE SNMP

Uma forma elegante para instanciar o agente é ter o próprio agente net-snmp já carregando o
módulo para verificação online do SAGE. Há script próprio para executar este agente em porta 1028.
O script para executar o agente é $SAGE/bin/scripts/snmpdg_on.rc. Portanto, o comando para iniciar
este agente é
ativa snmpdg

O arquivo de configuração deste agente é $BD/../sys/SNMPdg.conf. Este arquivo é composto


segundo a mesma estrutura do arquivo sagesnmpd.conf.
Sugere-se colocar este script para ser executado já na inicialização da máquina (ao “dar boot”). O
procedimento mais adequado é editar o arquivo $BD/../sys/base_S98sage para executar o script
escolhido. E deve-se refazer a instalação de arquivos SAGE para o sistema operacional em questão
utilizando-se, de acordo com o sistema operacional, os scripts $SAGE/drivers/instala_linux,
$SAGE/drivers/instala_solaris etc.
Obs: As instâncias referentes a estes agentes não são declaradas em base fonte, isto é, são
totalmente independentes do SAGE.

13
2 AGENTE SAGE SNMP

14
3
Capítulo

3 Conversor de Protocolo
3.1 Introdução
O conversor de protocolo SNMP e o transportador de protocolo SNMP permitem ao SAGE realizar
monitoramento da infra-estrutura de rede e computacional de um sistema SAGE.
Ao habilitar o conversor de protocolos SNMP em um sistema SAGE, o SAGE passa a ter
capacidade de aquisição de dados disponibilizados em equipamentos gerenciáveis como estações
SAGE, roteadores, switches, firewall, terminal servers.

3.2 Conversor de Protocolo SNMP


Dentre as mensagens básicas definidas para o protocolo SNMP, três tipos de mensagens, GET,
SET e GETNEXT, são utilizadas no SAGE.
O agente é a entidade definida para atender um serviço de gerência via SNMP.
O agente responde a mensagens GET e SET (e também GETNEXT) referentes a objetos de
gerência. Estes objetos são referenciados por estruturas-padrão denominadas MIBs.
Por exemplo, como parte de uma MIB (MIB-II) está definido o objeto SysUpTime que corresponde
ao tempo de atividade de gerência de um equipamento. A este objeto é atribuída uma referência
.1.3.6.1.2.1.1.3 que é um equivalente numérico a posição de referência em uma árvore de objetos.
Para obter informação sobre o SysUpTime, o gerente, que é a entidade que faz requisições ao
agente SNMP, emite mensagem GET com a referência .1.3.6.1.2.1.1.3. Em resposta, o agente
SNMP retornará mensagem SNMP com valor corrente de SysUpTime.
No SAGE o conversor SNMP e o transportador SNMP assumem a função de gerência. O
conversor coleta na base de dados do SAGE informações a serem gerenciadas via SNMP e mantém
máquinas de estado pra aquisição e controle. Ao definir mensagens de aquisição e de controle as
informações necessárias são passadas ao transportador de protocolo SNMP. O transportador gera a
mensagem SNMP e a transmite ao agente. Ao receber respostas de requisições SNMP o
transportador as encaminha ao conversor que cuida de atualizar sua máquina de estados e passar
informações ao SAC.

3.3 Mapeamento de Operações


Para fazer a aquisição de dados via SNMP faz-se necessário um entendimento das entidades que
atuam no sistema para tal funcionalidade. A terminologia utilizada em documentos que descrevem o

15
3 CONVERSOR DE PROTOCOLO

padrão SNMP é gerente e agente. Em cada equipamento que é monitorado deve haver pelo menos
uma instância de agente SNMP. No caso de mais de um agente instanciado por equipamento, um
agente seria o responsável por atender o serviço SNMP enquanto outros ficariam de reserva para
eventual falha no agente atuante. Portanto, pode-se por exemplo definir dois agentes em um mesmo
equipamento para controle de failover. O agente SNMP exerce a função típica de uma UTR como é
normalmente definido no SAGE.

3.3.1 Aquisição Analógica

Na operação de aquisição analógica, dados são coletados por endereçamento via MIB por
mensagens GET.
Quanto à precisão dos dados coletados, dados analógicos coletados podem ser armazenados em
sua forma instantânea, em média calculado por múltiplas janelas de tempo e também por média
móvel com ponderação exponencial. Quanto ao tipo de grandeza, os dados podem ser armazenados
em forma absoluta ou relativa. Por exemplo, o tempo de operação de sistema é uma grandeza
absoluta. Um exemplo diferente é o tempo de consumo de CPU por processos do usuário em um
dado intervalo. Este dado vem pela diferença entre o valor coletado no final e no início do intervalo.
Para casos de valor de taxa então, apenas a diferença não é suficiente, mas também é necessário
calcular a taxa pela razão entre a diferença de valores coletados e o tempo no intervalo de medidas.
É importante ressaltar que o valor armazenado pelo conversor de protocolo segue os dois
conceitos de precisão e de “relatividade”. Uma taxa pode ser calculada em média móvel ponderada
exponencialmente. Ou pode-se ter a média de diferenças em diferentes janelas de tempo.
Tipicamente qualquer ponto em aquisição tem valores de média calculados. O normal é ter o valor
instantâneo disponível no ponto e os valores por diferença de tempo disponíveis por filtros.
Para o caso específico de percentual de consumo de CPU, há ainda o cálculo de percentual que
utiliza como parcelas o tempo consumido por processos do usuário, o tempo consumido por
processos de sistema, o tempo não-consumido (tempo ocioso) e tempo consumido por processos
com baixa prioridade (nice).

3.3.2 Aquisição Digital

Na operação de aquisição digital, dados são também coletados por endereçamento via MIB por
mensagens GET, mas “digitalizados” para o SAGE. No momento, este processo de digitalização é
simplesmente atribuir valor 1 (um) a qualquer valor maior do que zero e 0 (zero) caso contrário.

3.3.3 Controle

Para operações de controle também se utiliza o endereçamento via MIB, mas deve utilizar
necessariamente um objeto OID que permita escrita (read-write), pois o tipo de mensagem SNMP

16
3 CONVERSOR DE PROTOCOLO

utilizado é SET. No momento, dentre os tipos de controle definidos na base SAGE, o tipo de controle
utilizado é RTSC.

3.4 Pontos Calculados


Para obter cálculo de consumo de CPU, é necessário definir na base um ponto de cálculo cujo
valor é determinado através de cálculo no SAGE.
No exemplo abaixo, o ponto é definido como pertencente a uma TAC de cálculos e o cálculo
definido é CPU (atributo para TCL).
Exemplo:
PAS
BNDMO = 0
ID = CALCCPU
LIE = -500
LSE = 500
OCR = OCR_PAS01
TAC = CALC
TCL = CPU
TIPO = OUTROS
DPE = 2
LIA = -300
LIU = -400
LSA = 300
LSU = 400
TERM = A_REA
NOME = Percentual de Consumo de CPU

Também é necessário para alguns casos, como capacidade de unidades de mídia, um cálculo de
multiplicação MULT. No caso de obter uma medida pela MIB HOST-RESOURCES a capacidade
disco ou memória RAM é uma entrada definida, mas a unidade de medida está em outra entrada na
MIB. Um exemplo é a unidade estar definida em 4 Kbytes e a capacidade 500000. A capacidade
total é dada pela multiplicação destes dois fatores.

3.5 Filtro
Para obter valores máximos de determinada medida em um dado intervalo de tempo deve-se
utilizar o filtro FIL1. O default é utilizar um intervalo de tempo de uma hora. Nesse caso o valor
retornado no filtro é o valor máximo medido no ponto em uma janela de tempo de uma hora.
Outros filtros são definidos para obter médias em janela de tempo. Os filtros FIL2, FIL3, FIL4, e
FIL5 retornam as médias em intervalos de tempo que por default são de 1 minutos, 10 minutos,
1hora, e 1 dia.
Utiliza-se também filtros para o SAGE retornar os processos de maior consumo de CPU. O filtro
FIL6 retorna o filtro de maior consumo de memória. Os filtros FIL7 e FIL8 retornam respectivamente
os processos de segundo maior e terceiro maior consumo de memória. A referencia para os
processos deve ser feita pelo campo OBSRV do PAS em questão. Este artifício pode ser utilizado
para obter uma string a partir de um agente SNMP. Um exemplo é a descrição do sistema (OID
.1.3.6.1.2.1.1.1) na MIB-II. O tipo retornado é DisplayString. Como há pontos analógicos e digitais,

17
3 CONVERSOR DE PROTOCOLO

mas não há um “ponto de string”, a solução aqui é configurar um ponto analógico com tipo de medida
T e referenciar a string no ponto de filtro com filtro FIL6.
Todos estes filtros utilizam apenas o ponto de medida como entrada. Desta forma, há apenas
uma parcela para cada ponto na tabela RFC.

3.6 Tabelas
A seguir são colocadas algumas particularidades em relação a como definir uma base de dados
de forma que o SAGE possa atuar como gerente SNMP.

3.6.1 LSC

Deve definir para cada LSC atributos TCV e TTP da seguinte forma:
TCV = CNVI
TTP = TSNMP

3.6.2 CNF

Ao definir uma CNF, o atributo CONFIG deve conter as definições necessárias para acesso a um
agente SNMP. Tipicamente deve-se definir um endereço IP, a porta que responde o serviço SNMP e
a string definida como community.
Também é possível definir mais de um endereço IP e portas de serviço SNMP para efeitos de
redundância.
Exemplo:
CONFIG= VERSAO= 1 HOST= 161.79.56.101 COMMUNITY=public HOSTR=
161.79.56.101

No caso acima é definida uma segunda porta para efeitos de redundância. Tipicamente esta porta
deve estar com o serviço habilitado através de uma instância reserva de um agente SNMP (UTR
reserva).

3.6.3 PAS

Os pontos lógicos são definidos normalmente. No caso de pontos de filtro ou de cálculo, pode-se
usar um dos filtros ou cálculos tal como explicado anteriormente.

3.6.4 PAF

Para o atributo ID utiliza-se uma convenção que determina o tipo de ponto, o OID (Object ID) a
que o ponto corresponde e se são computados médias em diferentes intervalos de tempo.
A convenção é ID = nome_tipo_oid. , onde
nome indica uma referência;

18
3 CONVERSOR DE PROTOCOLO

tipo indica se o ponto a ser medido é um valor instantâneo, ou valor diferencial, ou de taxa ou
ainda por média exponencial.
Oid declara a entrada na MIB que corresponde ao ponto físico em questão.
Uma observação para a definição de oid é que são definidos descontando-se o prefixo .1.3.6.1
que são comuns a todos os oids de interesse.
O tipo pode ser um dentre os seguintes:
Valor Instantâneo (tipo I) Definido pelo OID diretamente
Valor Diferencial (tipo D) Normalmente instantâneo
Taxa em Tempo (tipo ED ou ID) Pode ser instantâneo ou exponencial
Media Exponencial (tipo E) Definido por um filtro ou diretamente
Lista (L ou LD) Disponibiliza 3 pontos em ordem decrescente dada
por um parâmetro a definir no atributo DESC1
Status (Sx) Onde x é um numero inteiro – disponibiliza um índice
de disponibilidade. O número x indica o valor a ser
considerado como verdadeiro. Qualquer valor
diferente de x é então considerado falso.
Texto (T) Tipos string (obs: necessário associar a ponto com
filtro FIL6)

Exemplo: ID = SRV1_I_.2.1.25.1.1.0

Demais atributos de interesse:

KCONV1 - mudança de escala, ou seja, o valor aquisitado será dividido pelo valor atribuído a
KCONV1.
Exemplo: HOST_UPTIME fornecido pelo agente SNMP em centésimos de segundo a converter
para valores em hora requer KCONV1 igual a 360000.

KCONV2 - utilizado para definir parâmetro a de média móvel ponderada exponencial. Nota: 0 ≤ a
≤ 1, quanto maior o valor de a maior será o peso dado a medida mais recente.

DESC1 – utilizada para ordenar em ordem decrescente uma lista, onde os três maiores valores
são armazenados. A sintaxe aqui deve ser a:b:c. O valor de a é a parte fixa do OID (removendo-se
.1.3.6.1 da parte inicial). O valor de b é o complemento para o OID da medida a ser considerada.
E o valor de c é o complemento para o OID do nome referente a medida armazenada.
Exemplo:
DESC1= .2.1.25:5.1.1.1:4.2.1.2.

Aqui a parte fixa é .1.3.6.1.2.1.25 (referente a MIB HOST-RESOURCES).


Os OIDs .1.3.6.1.2.1.25.5.1.1.1 são OIDs para entradas em tabelas de processo que retornam
consumo de CPU de cada processo.
E o OID .1.3.6.1.25.4.2.1.2 é o OID referente aos comandos propriamente ditos dos processos
cujos valores são armazenados.

19
3 CONVERSOR DE PROTOCOLO

3.6.5 PDF

Os pontos digitais físicos são definidos de forma similar aos pontos analógicos físicos na tabela
PAF. O atributo ID segue o mesmo formato utilizado para PAF. O atributo KCONV é tipicamente
configurado para NOR.

3.6.6 PDS

Pontos digitais lógicos na tabela PDS são definidos normalmente.

3.6.7 CGF

Utiliza-se a mesmo formato para o atributo ID que é utilizado na tabela PAF. O tipo de ponto é
designado pela letra C.
Exemplo:
ID= SRV1_C_.4.1.2021.100.12.0

3.6.8 CGS

O atributo TRRAC define um intervalo de tempo para um temporizador de controle. Ao expirar tal
temporizador o controle é cancelado.

3.6.9 NV1

São definidas entradas na tabela NV1 específicas para a aquisição SNMP.

3.6.10 NV2

São definidas entradas na tabela NV2 específicas para a aquisição SNMP.


Para TN2 configura-se da seguinte forma:
TN2= ASIM para pontos digitais
TN2 = AANL para pontos analógicos
TN2 = ASTP para pontos analógicos que correspondem a uma tabela
TN2= CSIM para pontos de controle

3.6.11 CXU

Para a tabela CXU é importante observar intervalos de tempo (definidas nos atributos INTGR para
pontos digitais e AQANL para pontos analógicos) para aquisição de medidas que sejam compatíveis
com cálculo de médias em janelas de tempo e outros fatores similares.

20
3 CONVERSOR DE PROTOCOLO

3.6.12 UTR

É definida normalmente com a devida atenção para o campo RESPT que deve ter um valor para
tempo acima do tempo que se espera para aquisição de dados. Para aquisição de dados em tabela o
tempo necessário é tipicamente maior. É recomendável neste caso definir uma outra entrada em
UTR para este tipo de ponto ainda que seja referente a um mesmo equipamento de outra entrada na
tabela.

3.6.13 TAC

É definida normalmente. Utiliza-se ASAC para o atributo TPAQS.

3.6.14 ENU

Deve-se observar que o valor de TDESC seja compatível, pois ao fazer aquisição o valor definido
em TDESC é o intervalo de tempo entre dois pedidos consecutivos de aquisição.

3.7 Geração Automática de Base Fonte


Há uma ferramenta que permite automatizar o processo de criação de pontos na base fonte. Tal
procedimento auxilia a tarefa de gerência pois cria os pontos seguindo um padrão recomendado pelo
CEPEL. Configurações particulares podem ser modificadas a partir da configuração padrão gerada
pela ferramenta, dependendo dos casos particulares.

3.7.1 Procedimento

Escrever um arquivo de configuração (formato ASCII) que contém as informações sobre


elementos de rede (Estações SAGE, switches, roteadores etc.) e medidas a serem obtidas de cada
um dos elementos definidos.
Inicialmente, é necessário definir dados globais como o número inicial para CXU, o ID do gateway
SCADA (GSD) a ser referenciado e a TAC de cálculos a ser referenciada.

Exemplo:
; Declaracao de dados globais
TAC_CALC = CALC_TAC
GSD = GW1
CXU_INICIAL = 4

Neste exemplo, a TAC de cálculos tem seu ID CALC_TAC e o gateway SCADA é GW1. A
CXU_INICIAL é o primeiro valor a ser usado para o campo ORDEM para as CXU referentes a SNMP.
O procedimento comum aqui seria inspecionar o arquivo cxu.dat da base fonte e notar o valor
máximo para o campo ORDEM. No exemplo, haveria três CXUs sem relação com SNMP, que

21
3 CONVERSOR DE PROTOCOLO

ocupariam o espaço de ORDEM entre 1-3. Portanto, as CXUs referentes a SNMP devem iniciar pelo
valor de ORDEM igual a 4.

Em seguida, define-se informações sobre os elementos e sobre o acesso SNMP a estes


elementos:
[HOST]

ID = srv1
IP_ADDR1 = 161.79.56.101:1027
SNMP_VERSAO = 1
SNMP_COMMUNITY = public

Em seguida define-se medidas a serem obtidas para cada elemento, utilizando-se a seguinte
sintaxe:
TIPO INFO [opções]

TIPO refere-se a PAS, PDS, ou CGS.


INFO refere-se a uma informação relacionada ao ponto e é um rótulo associado a um OID em
arquivo $BD/../sys/snmp_oids.txt. Um arquivo inicial para snmp_oids.txt pode ser encontrado em
$SAGE/bin/scripts/genbasesnmp. Por exemplo, HOST_UPTIME refere-se ao tempo de operação de
uma estação (PC, por exemplo) e consta no arquivo $BD/../sys/snmp_oids.txt associado ao OID
.2.1.25.1.1 (Na verdade .1.3.6.1.2.1.25.1.1, mas o .1.3.6.1 é suprimido). Isto torna o arquivo de
configuração de base mais fácil de ler. O arquivo $BD/../sys/snmpd_oids.txt é editável por quem
configura, de forma que se pode adicionar novos OIDs e também alterar rótulos existentes. Por
exemplo, HOST_UPTIME pode ser alterado para HUPTIME no caso de preferência por nome mais
curto, já que este rótulo entra no ID do ponto associado, seja PAS, PDS ou CGS.
Finalmente, opções =

TIPM x KCONV1 y KCONV2 w IND z DIFF v INC k NOME “str”;

comentário: tudo em uma única linha!


onde:
x =ED, D, L, LD, I, T, S
y= fator de escala
w = fator p/média exponencial
z = índice em tabela
v = string ou número para diferenciar o ponto
k = max1h med1min med10min med1h med1d (podendo receber um ou mais destes valores)
str = campo nome do ponto

Exemplo:
PAS HOST_UPTIME KCONV1 360000 INC max1h med1h

22
3 CONVERSOR DE PROTOCOLO

Caso não seja incluído o NOME, a geração automática inclui um nome construído com base nos
parâmetros ID, INFO e opções INC e DIFF.
Um script (gerabasesnmp) gera entradas para tabelas PAS, PAF, PDS, PDF, CGS, CGF, NV1,
NV2, TAC, LSC, ENU, CXU, UTR, CNF, RCA, RFC.
Estas entradas são colocadas em arquivos localizados em $BD/dados/snmp. O script faz uma
operação do tipo merge entre arquivos para concatenar entradas da base fonte localizadas em
arquivos no diretório $BD/dados/básico com os arquivos gerados para gerência SNMP e finalmente
colocar os arquivos completos da base fonte no diretório padrão utilizado pelo SAGE que é
$BD/dados.

23

Você também pode gostar