Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

2. Arquitetura do Datasul Cloud Monitor

 

O Datasul Cloud Monitor foi desenvolvido utilizando a tecnologia RMI, onde seu funcionamento consiste basicamente em dois aplicativos, seguindo uma arquitetura cliente-servidor. A principal motivação para o uso da tecnologia RMI se deve ao fato do plugin do Nagios ser desenvolvido em Java. Neste caso, o plugin do Nagios irá invocar os serviços especializados para a linha Datasul implementados pelo plugin Datasul Cloud Monitor. Em outras palavras, o plugin do Nagios representa a aplicação cliente na arquitetura proposta, ao passo que o plugin Datasul Cloud Monitor é a aplicação servidora.

Com isto, é possível que o plugin do Nagios identifique a disponibilidade dos produtos Datasul 11, EMS 2 e EMS 5, bem como calcular o volume da bytes consumidos por um determinado ambiente cloud.

2.1 Server 

 

Para iniciar o servidor RMI, é necessário abrir o prompt de comando do SO e localizar o diretório que contenha os arquivos descompactados (Exemplo em Windows: cd c:\temp\cloud-monitor). Após isto deve-se executar o comando abaixo:

...

Os parâmetros utilizados em <host/ip> e <porta> deverão ser utilizados também no aplicativo Java Client para estabelecer a pesquisa pelo servidor desejado. Ou seja, o plugin do Nagius deverá estabelecer uma conexão RMI conforme os parâmetros informados no servidor.

2.2 Client 

 

Para ter acesso aos métodos publicados no servidor RMI, é necessário implementar o código abaixo no programa Java client:

Bloco de código
languagejava
titlePrograma RMI Client
StringBuilder rmiStrConnection = new StringBuilder();

RMICloudService cloudService = null;

rmiStrConnection.append("rmi://");
rmiStrConnection.append(<host/ip>);
rmiStrConnection.append(":");
rmiStrConnection.append(<porta>);

rmiStrConnection.append("/DatasulCloudMonitor");

try
{
    cloudService = (RMICloudService) Naming.lookup(rmiStrConnection.toString());

    /*A partir daqui é possível chamar o método desejado
disponível pela variável cloud service*/

} catch (MalformedURLException e1) {
    e1.printStackTrace();
} catch (RemoteException e1) {
    e1.printStackTrace();
} catch (NotBoundException e1) {
    e1.printStackTrace();
}

 

3. Utilização dos métodos para o produto Datasul 11

 

Com base na implementação do item 2.2, para o Datasul 11, entre os seus itens de disponibilidade, é possível verificar a disponibilidade de:

1.1     Disponibilidade de conexão SQL

 

Método publicado no servidor: availabilitySQL

Parâmetros: List<AvailabilityParamsSQL>

A classe AvailabilityParamsSQL é composta pelos atributos:

Atributo

Descrição

Formato

databaseType

Tipo de banco (SQLServer ou OpenEdge)

String

dbName

Nome do banco

String

urlConnection

Conexão URL

String

userName

Nome do usuário

String

passWord

Senha

String

Bloco de código
languagejava
titleExemplo de utilização - availabilitySQL
List<AvailabilityDatabaseItem> returnValue = null;

List<AvailabilityParamsSQL> availabilityParamsSQLs = new ArrayList<AvailabilityParamsSQL>();              

AvailabilityParamsSQL availabilityParamsSQL = new AvailabilityParamsSQL();
availabilityParamsSQL.setDatabaseType("OpenEdge");
availabilityParamsSQL.setDbName("emsfnd");
availabilityParamsSQL.setUserName("pub");
availabilityParamsSQL.setPassWord("pub");
availabilityParamsSQL.setUrlConnection("jdbc:datadirect:openedge://totvsjoi-gcad04:5096;databaseName=emsfnd");
availabilityParamsSQLs.add(availabilityParamsSQL);          

returnValue = cloudService.availabilitySQL(availabilityParamsSQLs);
 
for (AvailabilityDatabaseItem item : returnValue) {
    System.out.println(item.getItemName() + "\n");
    System.out.println(item.getStatus() + "\n");
}

Retorno: List<AvailabilityDatabaseItem>  

A classe AvailabilityDatabaseItem é composta pelos atributos:

Atributo

Descrição

Formato

itemName

Nome do Item

String

status

Status do item

String