1. Visão geral do Datasul Cloud Monitor


O Datasul Cloud Monitor é um plugin desenvolvido em plataforma JAVA, cujo objetivo é monitorar os produtos Datasul, a saber, Datasul 11 e Datasul EMS. Esta ferramenta é utilizada pelo painel de Monitoramento do 3C para extrair informações sobre a situação de seus sistemas em ambiente cloud. O painel de monitoramento do 3C fornece aos clientes funcionalidades como gestão de incidentes, mudanças, billing, controle de uso, dentre outras métricas de operação dos sistemas. Para maiores detalhes sobre o painel de monitoramento do 3C, acesse https://suporte.totvs.com/centrocontrolecloud.

A arquitetura do 3C é composta por:

 

 

A imagem a seguir apresenta uma macro-visão da arquitetura do 3C para monitoramento de sistemas da linha Datasul.

O plugin Datasul Cloud Monitor permite o monitoramento das seguintes métricas:

Disponibilidade

Storage

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:

java -jar datasul-cloud-monitor-server-1.0-SNAPSHOT.jar <host/ip> <porta>

 

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:

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();
}