Histórico da Página
...
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 | ||||
---|---|---|---|---|
| ||||
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 | ||||
---|---|---|---|---|
| ||||
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 |