SupsJava


Conteúdo


1. Introdução
1.1 Descrição do Sistema
1.2 Instalação e execução

2. Sinalização de shutdown
2.1 Descrição
2.2 Configuração
2.3 Resolução de problemas

3. Shutdown
3.1 Descrição
3.2 Configuração
3.3 Resolução de problemas

4. Alterações no fornecimento de energia elétrica ao nobreak
4.1 Descrição
4.2 Configuração
4.3 Resolução de problemas

5. Proxy SNMP
5.1 Descrição
5.2 Configuração
5.3 Resolução de problemas

6. Linguagem (Internacionalização)
6.1 Descrição
6.2 Configuração
6.3 Resolução de problemas

A. Apêndice
A.1 Arquivo de configuração



1. Introdução
----------

1.1. Descrição do Sistema
--------------------

O programa SupsJava e´ um aplicativo que permite monitorar um no-break Engetron
através do software SupsNet ou hardware WBRC, realizando o shutdown de servidores
ou estações onde esta instalado. A comunicação entre o SupsJava e o SupsNet ou
WBRC e´ realizada via protocolo SNMP.

Por ser desenvolvido na linguagem Java, o SupsJava e´ independente de plataforma,
sendo necessário apenas que a maquina virtual Java esteja disponível nas
plataformas onde o aplicativo sera´ executado.

Os principais eventos ocorridos durante a execução do SupsJava são gravados em um
arquivo de log, sendo que a cada execução do SupsJava, os novos eventos gerados
serão adicionados ao arquivo ou gravados em outro arquivo de log.

O SupsJava possui a opção de executar arquivos ou comandos na ocorrência dos eventos
de sinalização de shutdown, falta de energia e retorno de energia. Assim mensagens
podem ser enviadas aos usuários, bem como aplicativos que salvem arquivos podem ser
executados.

Topo


1.2. Instalação e Execução
---------------------

A única exigência de software para o funcionamento do SupsJava e´ a existência da
maquina virtual Java no computador em que o programa vai ser instalado. 

O arquivo LEIAME.TXT contem informações especificas sobre a instalação dos
arquivos que compõem o sistema e exemplo de onde (qual maquina) instalar o 
SupsJava. Uma vez instalado, o arquivo de configuração inicial (ex.: supsj.ini, 
disponível no apêndice) pode ser configurado via editor de texto ou executando 
o SupsJava em um ambiente gráfico e acessando a opção "Configurar" no menu "Arquivo".

O programa deve ser disparado executando-se o comando:
JVM 1.1:
java/jre -classpath .;supsjava.jar SupsJ [-vx] [arquivo_de_configuracao] [arquivo_de_log]

JVM 1.2 ou superior:
java/jre -jar supsjava.jar [-vx] [arquivo_de_configuracao] [arquivo_de_log]

onde,
java ou jre : invoca a maquina virtual java
-classpath : indica diretório e arquivo de classes do SupsJava
SupsJ : classe de inicializacao do aplicativo
-vx : v: opção verbose (operações sendo executadas são mostradas
na console); x: exibe a interface gráfica
arquivo_de_configuracao : arquivo de configuração (para exemplo, consulte o arquivo SUPSJAVA.TXT)
arquivo_de_log : arquivo de log a ser gerado ou reutilizado

OBS: * Se não informados, os arquivos de configuração e de log, o SupsJava assume como
padrão os nomes "supsj.ini" e "supsj.log" respectivamente.
* Se o arquivo de log informado (ou supsj.log, se não informado) já existir,
os novos eventos gerados serão adicionados ao arquivo; caso contrario o arquivo
sera criado.
* O arquivo de configuração informado (ou supsj.ini, se não informado) deve sempre
existir quando o SupsJava for iniciado (para exemplo deste arquivo, consulte o apêndice).

Exemplos de execução do SupsJava:
1) java -jar supsjava.jar -v
Inicializa o SupsJava com a opção verbose. O SupsJava ira assumir como arquivos de 
configuração e log os arquivos "supsj.ini" e "supsj.log" respectivamente.

2) jre -jar supsjava.jar -x meuconfig.txt meulog.txt
Inicializa o SupsJava com os arquivos de configuração e log cujos nomes são
"meuconfig.txt" e "meulog.txt" respectivamente. Também inicializa a interface gráfica.

Topo


2. Sinalização de shutdown
-----------------------

2.1. Descrição
---------

O SupsJava monitora, periodicamente e de maneira automática, o estado de algumas
variáveis internas do no-break que indicam uma situação critica em relação 'a 
manutenção de energia na saída no-break. O intervalo com que esta monitoração e
feita e especificado no parâmetro "periodo_snmp" do arquivo de configuração (em segundos).

Os seguintes valores são coletados tipicamente a cada 30 segundos: autonomia (min), tempo de
falta de energia e tempo para desligamento programado (segundos). Estes valores quando 
comparados aos parâmetros de sinalização permitem detectar condições que sinalizem o shutdown.

Topo

2.2. Configuração
------------

Para que o SupsJava possa sinalizar o shutdowm conforme desejado, e´ necessário 
especificar parâmetros no arquivo de configuração.

Os seguintes parâmetros se aplicam 'a sinalização de shutdown:

"sinaliza_shut_autonomia": se 1, o SupsJava sinaliza um shutdown na máquina local se a 
autonomia do no-break for menor ou igual ao tempo especificado em "tempo_autonomia_sinal"
(em minutos).

"sinaliza_shut_falta": se 1, o SupsJava sinaliza um shutdown na máquina local se o no-break
estiver operando em bateria pelo tempo especificado em "tempo_falta_sinal" (em minutos).

" sinaliza_shut_phora": se 1, o SupsJava sinaliza um shutdown na maquina local se o 
tempo restante ate' o desligamento programado do no-break for menor ou igual ao tempo
especificado em "tempo_phora_sinal" (em minutos).

OBS.: Se mais de um valor for verdadeiro, a sinalização ocorrerá através
da condição que ocorrer primeiro.

"envia_msg_sinal": se 1, o SupsJ executara o comando determinado em "arquivo_msg_sinal".

Topo

2.3. Resolução de problemas
----------------------

Apos iniciar o SupsJava, e´ possível acompanhar o seu funcionamento monitorando-se
o arquivo de log ou através do campo "Histórico" na interface gráfica ou mesmo
se a opção verbo se tiver sido ativada.

Caso haja problemas na sinalização do shutdown, consulte o arquivo de log para 
verificar se as condições que disparam o shutdown ocorreram; verifique também os
valores dos parâmetros correspondentes. 

Caso o arquivo de sinalização a ser executado não esteja no diretório do SupsJava,
o caminho do arquivo também deve ser informado. Plataformas nas quais o separador de
diretório e a barra invertida (\), o caminho deve ser informado com separadores duplos.
Ex: c:\\SupsJava\\arquivo.bat

OBS.: Se a configuração for feita via interface gráfica, uma única barra e´ suficiente,
pois o SupsJava gravara automaticamente duas barras (\\) como separadores.

Topo

3. Shutdown
--------

3.1. Descrição
---------

Apos determinado tempo depois da sinalização do shutdown (determinado pelo parâmetro
"tempo_shut"), o SupsJava ira executar o shutdown propriamente dito da maquina local
no qual esta sendo executado.

Topo

3.2. Configuração
------------

Os seguintes parâmetros se aplicam 'a configuração de shutdown:

"tempo_shut": especifica em quanto tempo (segundos) apos a sinalização de shutdown,
o comando especificado em "arquivo_shut" sera executado.

Topo

3.3. Resolução de problemas
----------------------

Lembre-se que a execução de shutdown e´ uma operação altamente dependente de 
plataforma, por isso o SupsJava possui o parâmetro ("arquivo_shut") que indica o
comando ou aplicativo que contem o código necessário para disparar o shutdown.
Se o shutdown não esta ocorrendo verifique a correção deste comando ou aplicativo;
verifique também no arquivo de log se o comando foi disparado pelo SupsJava.
As mesmas observações valem para os comandos de falta e retorno de energia.

Caso o aplicativo de shutdown a ser executado não esteja no diretório do SupsJava,
o caminho do aplicativo também deve ser informado. Plataformas nas quais o separador de
diretório e a barra invertida (\), o caminho deve ser informado com separadores duplos.
Ex: c:\\SupsJava\\arquivo.bat

OBS.: Se a configuração for feita via interface gráfica, uma única barra e´ suficiente,
pois o SupsJ gravara automaticamente duas barras (\\) como separadores.

Topo


4. Alterações no fornecimento de energia elétrica ao nobreak
---------------------------------------------------------

4.1. Descrição
---------

O SupsJava permite que processos sejam executados quando uma falta ou retorno de energia
elétrica comercial e´ detectado no no-break. Assim e´ possível enviar mensagens aos 
usuários quando uma falta de energia ocorrer, bem como avisa-los se a energia retornar.

Topo


4.2. Configuração
------------

Os seguintes parâmetros se aplicam 'a falta e retorno de energia:

"executar_arq_falta": se 1, o SupsJava executara o comando determinado no parâmetro
"arquivo_falta" quando detectar uma falta de energia comercial na entrada do no-break.

"executar_arq_retorno": se 1, o SupsJava executara o comando determinado no parâmetro
"arquivo_retorno" quando detectar o retorno da energia comercial.

Topo


4.3. Resolução de problemas
----------------------

Caso os arquivos de falta e retorno de energia a serem executados não estejam no
diretório do SupsJava, o caminho dos arquivos também deve ser informado. Plataformas
nas quais o separador de diretório e a barra invertida (\), o caminho deve ser informado 
com separadores duplos.
Ex: c:\\SupsJava\\arquivo.bat

OBS.: Se a configuração for feita via interface gráfica, uma única barra e´ suficiente,
pois o SupsJava gravara automaticamente duas barras (\\) como separadores.

Topo


5. Proxy SNMP
-----------

5.1. Descrição
---------

Um dos módulos que compõem o SupsJava e´ um Proxy SNMP que e´ responsável por se
comunicar com o agente SNMP que implementa a MIB ("Management Information Base",
ou base de informações de gerenciamento) descrita no RFC 1628. As seguintes variáveis
desta MIB são monitoradas pelo Proxy: upsIdentName, upsSecondsOnBattery, 
upsEstimatedMinutesRemaining.

Topo


5.2. Configuração
------------

Os parâmetros do arquivo de configuração relativos ao agente SNMP são os
seguintes:

"comunidade_snmp": o nome da comunidade SNMP ("community") que tem permissão para
acessar a MIB do agente. Caso alguma requisição especifique outra comunidade,
a mesma sera rejeitada pelo agente. A definição da comunidade funciona como um
método simples de se implementar um controle de acesso.

"agente_snmp_id": o endereço (IP ou domínio) onde o agente SNMP esta localizado.

"agente_snmp_porto": o numero (em decimal) do porto UDP utilizado pelo agente SNMP
para receber requisições. O valor padrão para este serviço e definido como 161. 

"periodo_snmp": período com que o SupsJava interroga o agente SNMP para ler os valores
de suas variáveis internas. Quanto menor o período, mais acuradas são as
informações fornecidas, mas maior também e a carga imposta a maquina em que o
SupsJava esta sendo executado. Tipicamente este valor varia de 30 a 60 segundos.

Topo


5.3. Resolução de problemas
----------------------

O SupsJava monitora um nobreak via SNMP, por isso e´ necessário existir um agente SNMP
que se comunique com o nobreak e implemente a MIB SNMP a qual o SupsJava ira consultar.
Uma alternativa e utilizar o SupsNET ou WBRC.

Se problemas ocorrerem na comunicação SNMP, verifique se o agente esta ativo, e se
os parâmetros mencionados acima estão configurados corretamente.

Topo


6. Linguagem (Internacionalização)
-------------------------------

6.1. Descrição
---------

O SupsJava possui suporte 'a internacionalização de forma que suas mensagens podem ser
configuradas sem a necessidade de recopilação para a inclusão de novas línguas.

Topo


6.2. Configuração
------------

Os seguintes parâmetros se referem a internacionalização:

"country" : especifica o pais (exs: BR, US, ES)
"linguaje": especifica a língua (exs: PT, em, ES)

Topo


6.3. Resolução de problemas
----------------------

Se o SupsJava não consegue dar suporte 'a internacionalização, certifique-se que os 
valores dos parâmetros "country" e "linguaje" são validos.

Topo


A. Apêndice
---------

A.1. Arquivo de configuração
-----------------------

Exemplo de um arquivo de configuração:

ATENÇÃO: 1. Separadores do tipo (\) devem ser informados na forma (\\).
ex.: c:\\SupsJava\\arquivo.bat
2. Os textos entre () são apenas explicativos e não devem fazer
parte do arquivo
3. Comentários podem ser usados e devem estar isolados em uma única
linha. Eles se iniciam com #, terminando no fim de linha.
Porem alterações na configuração realizadas através da interface
gráfica não manterão os comentários.

#SupsJava
# ATENÇÃO: E´ importante que todos os parâmetros sejam escritos com letras minúsculas

#[SINALIZAÇÃO]
sinaliza_shut_autonomia=1 (lógico 1, 0)
sinaliza_shut_falta=1 (lógico 1, 0)
sinaliza_shut_phora=1 (lógico 1, 0)
tempo_autonomia_sinal=5 (minutos)
tempo_falta_sinal=8 (minutos)
tempo_phora_sinal=5 (minutos)
envia_msg_sinal=1 (lógico 1, 0)
arquivo_msg_sinal=sinal.bat (string)

#[SHUTDOWN]
tempo_shut=60 (segundos)
arquivo_shut=shut.bat (string)

#[ENERGIA]
executar_arq_falta=1 (lógico 1, 0)
executar_arq_retorno=1 (lógico 1, 0)
arquivo_falta=falta.bat (string)
arquivo_retorno=retorno.bat (string)

#[SNMP]
comunidade_snmp=public (string)

agente_snmp_id=snmp.engetron.com.br (string)
(aqui também poderia ser usado o endereço IP)
(Ex.: agente_snmp_id=192.198.10.5)

agente_snmp_porto=161 (inteiro)
periodo_snmp=30 (segundos)

#[I18N]
country=BR (Brasil)
linguaje=PT (Português)

Topo