Histórico da Página
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:
- Ferramentas para gestão e inventário dos ambientes cloud (cadastros do 3C)
- Base de dados do 3C para armazenar informações como indicadores de contrato, clientes, ambientes físicos, thresholds, dentre outras.
- Ferramenta de monitoramento (Nagios)
- Scheduler que obtém a situação dos sistemas por meio de plug-ins especializados para cada linha de produto
- Plugins de monitoramento (Datasul Cloud Monitor)
- Ferramentas especializadas para cada linha de produto, cujo objetivo é computar métricas de disponibilidade dos serviços, controle de uso e consumo de storage dos sistemas envolvidos.
...
Para ter acesso aos métodos publicados no servidor RMI, é necessário implementar o código abaixo no programa Java clientClient:
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(); } |
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
AvailabilityParamsDatasul paramsDatasul = new AvailabilityParamsDatasul(); paramsDatasul.setAppServerName("localhost"); paramsDatasul.setAppServerPort("5162"); paramsDatasul.setAppServerApp("cordas8180"); AvailabilityAppServerItem appServerItem = cloudService.availabilityAppServer(paramsDatasul); System.out.println("<<App Server>>"); System.out.println("Nome: " + appServerItem.getAppServerName()); System.out.println("Porta: " + appServerItem.getAppServerPort()); System.out.println("Instancia: " + appServerItem.getAppServerApp()); System.out.println("Status: " + appServerItem.getAppServerStatus()); |
Retorno: List< AvailabilityAppServerItem>
A classe AvailabilityAppServerItem é composta pelos atributos:
Atributo | Descrição | Formato |
appServerName | Nome do servidor AppServer | String |
appServerPort | Porta do AppServer | String |
appServerApp | Instância do AppServer | String |
appServerStatus | Status do AppServer | String |
3.3 Disponibilidade de bancos
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
List<AvailabilityDatabaseItem> avalItems = null; AvailabilityParamsDatasulDatabases paramsDatasulDatabases = new AvailabilityParamsDatasulDatabases(); paramsDatasulDatabases.setAppServerName("localhost"); paramsDatasulDatabases.setAppServerPort("5162"); paramsDatasulDatabases.setAppServerApp("cordas8180"); String[] dbNames = {"emsfnd","emsdev"}; paramsDatasulDatabases.setDbNames(dbNames); avalItems = cloudService.availabilityDatasulDatabases(paramsDatasulDatabases); if (avalItems != null) { for (AvailabilityDatabaseItem item : avalItems) { System.out.println("DatabaseName: " + item.getItemName()); System.out.println("Status: " + 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 |
3.4 Disponibilidade de servidores RPW Datasul
Método publicado no servidor: availabilityRPWDatasul
Parâmetros: AvailabilityParamsDatasul
A classe AvailabilityParamsDatasul é composta pelos atributos:
Atributo | Descrição | Formato |
appServerName | Nome do servidor AppServer | String |
appServerPort | Porta do AppServer | String |
appServerApp | Instância do AppServer | String |
Bloco de código | ||||
---|---|---|---|---|
| ||||
AvailabilityParamsDatasul paramsRPWDatasul = new AvailabilityParamsDatasul();
paramsRPWDatasul.setAppServerName("localhost");
paramsRPWDatasul.setAppServerPort("5162");
paramsRPWDatasul.setAppServerApp("cordas8180");
List<AvailabilityRPWItem> avalRPWList = cloudService.availabilityRPWDatasul(paramsRPWDatasul);
for (AvailabilityRPWItem item : avalRPWList) {
System.out.println("Cod. Servidor RPW: " + item.getServerCode());
System.out.println("Des. Servidor RPW: " + item.getServerDesc());
System.out.println("Estado: " + item.getState());
if (item.getState().equals("ativo")) {
System.out.println("Executando? " + item.getExecution());
}
} |
Retorno: List<AvailabilityRPWItem>
A classe AvailabilityRPWItem é composta pelos atributos:
Atributo | Descrição | Formato |
serverCode | Código do servidor RPW | String |
serverDesc | Descrição do servidor RPW | String |
state | Estado do servidor (Ativo, Inativo ou Bloqueado) | String |
execution | Indica se está em execução | Boolean |
3.5 Disponibilidade JBoss
Método publicado no servidor: availabilityJboss
Parâmetros: AvailabilityParamsJboss
A classe AvailabilityParamsJboss é composta pelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
host | Nome do servidor JBoss | String |
port | Porta da instância | String |
Bloco de código | ||||
---|---|---|---|---|
| ||||
AvailabilityParamsJboss paramsJboss = new AvailabilityParamsJboss();
paramsJboss.setProtocol("http");
paramsJboss.setHost("cordas");
paramsJboss.setPort("8180");
AvailabilityJbossItem jbossItem = cloudService.availabilityJboss(paramsJboss);
System.out.println("<< JBoss >>");
System.out.println(jbossItem.getHost());
System.out.println(jbossItem.getPort());
System.out.println(jbossItem.getStatus()); |
Retorno: AvailabilityJbossItem
A classe AvailabilityJbossItem é composta pelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
host | Nome do servidor JBoss | String |
port | Porta da instância | String |
status | Status do JBoss | String |
3.6 Disponibilidade do EAI 1
Método publicado no servidor: availabilityEAI1
Parâmetros: AvailabilityParamsEAI1
A classe AvailabilityParamsEAI1 é composta pelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
server | Nome do servidor EAI 1 | String |
port | Porta | String |
axisContextName | Nome do contexto axis | String |
Bloco de código | ||||
---|---|---|---|---|
| ||||
AvailabilityParamsEAI1 paramsEAI1 = new AvailabilityParamsEAI1();
paramsEAI1.setProtocol("http");
paramsEAI1.setServer("bomjesus");
paramsEAI1.setPort("8080");
paramsEAI1.setAxisContextName("axis506gens");
AvailabilityEAI1Item eai1Item = cloudService.availabilityEAI1(paramsEAI1);
System.out.println("<<EAI 1>>");
System.out.println("Protocolo: " + eai1Item.getProtocol());
System.out.println("Server: " + eai1Item.getServer());
System.out.println("Port: " + eai1Item.getPort());
System.out.println("Nome contexto axis: " + eai1Item.getAxisContextName());
System.out.println("Status: " + eai1Item.getStatus()); |
Retorno: AvailabilityEAI1Item
A classe AvailabilityEAI1Item é composta pelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
server | Nome do servidor EAI 1 | String |
port | Porta | String |
axisContextName | Nome do contexto axis | String |
status | Status do EAI 1 | String |
3.7 Disponibilidade do EAI 2
Método publicado no servidor: availabilityEAI2
Parâmetros: AvailabilityParamsEAI2
A classe AvailabilityParamsEAI2 é composta pelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
server | Nome do servidor EAI 2 | String |
port | Porta | String |
Bloco de código | ||||
---|---|---|---|---|
| ||||
AvailabilityParamsEAI2 paramsEAI2 = new AvailabilityParamsEAI2();
paramsEAI2.setProtocol("http");
paramsEAI2.setServer("cordas");
paramsEAI2.setPort("8180");
AvailabilityEAI2Item eai2Item = cloudService.availabilityEAI2(paramsEAI2);
System.out.println("<<EAI 2>>");
System.out.println("Protocolo: " + eai2Item.getProtocol());
System.out.println("Server: " + eai2Item.getServer());
System.out.println("Port: " + eai2Item.getPort());
System.out.println("Status: " + eai2Item.getStatus()); |
Retorno: AvailabilityEAI2Item
A classe AvailabilityEAI2Item é composta pelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
server | Nome do servidor EAI 2 | String |
port | Porta | String |
status | Status do servidor EAI 2 | String |
3.8 Disponibilidade de login
Método publicado no servidor: availabilityLoginDatasul
Parâmetros: AvailabilityParamsLoginDatasul
A classe AvailabilityParamsLoginDatasul é composta pelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
server | Nome do servidor JBoss | String |
port | Porta da instância | String |
userName | Usuário | String |
passWord | Senha | String |
remoteServerName | Nome do servidor remoto (WebEnabled) | String |
remoteServerPort | Porta do servidor remoto (WebEnabled) | int |
Bloco de código | ||||
---|---|---|---|---|
| ||||
AvailabilityParamsLoginDatasul paramsLoginDatasul = new AvailabilityParamsLoginDatasul();
paramsLoginDatasul.setProtocol("http");
paramsLoginDatasul.setHost("cordas");
paramsLoginDatasul.setPort("8180");
paramsLoginDatasul.setUserName("super");
paramsLoginDatasul.setPassWord("super@123");
paramsLoginDatasul.setRemoteServerName("cordas.jv01.local");
paramsLoginDatasul.setRemoteServerPort(39080);
AvailabilityLoginDatasulItem loginDatasulItem = cloudService.availabilityLoginDatasul(paramsLoginDatasul);
System.out.println("<<Login Datasul>>");
System.out.println("Protocolo: " + paramsLoginDatasul.getProtocol());
System.out.println("Host: " + paramsLoginDatasul.getHost());
System.out.println("Porta: " + paramsLoginDatasul.getPort());
System.out.println("Usuario: " + paramsLoginDatasul.getUserName());
System.out.println("Senha: " + paramsLoginDatasul.getPassWord());
System.out.println("Servidor remoto (WebEnabled): " + paramsLoginDatasul.getRemoteServerName());
System.out.println("Port do servidor remoto (WebEnabled): " + paramsLoginDatasul.getRemoteServerPort());
System.out.println("Status: " + loginDatasulItem.getStatus()); |
Retorno: AvailabilityLoginDatasulItem
A classe AvailabilityLoginDatasulItem é composta pelos atributos:
Atributo | Descrição | Formato |
status | Status do login | String |
3.9 Disponibilidade Datasul
Método publicado no servidor: verifyDatasulAvailabilities
Parâmetros: List<AvailabilityParamsSQL>, AvailabilityParamsDatasulDatabases, AvailabilityParamsEAI1, AvailabilityParamsEAI2, AvailabilityParamsDatasul, AvailabilityParamsJboss, AvailabilityParamsLoginDatasul
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 |
A classe AvailabilityParamsDatasulDatabases é composta pelos atributos:
Atributo | Descrição | Formato |
appServerName | Nome do servidor AppServer | String |
appServerPort | Porta do AppServer | String |
appServerApp | Instância do AppServer | String |
dbNames | Bancos para consulta | String[] |
A classe AvailabilityParamsEAI1 é composta pelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
server | Nome do servidor EAI 1 | String |
port | Porta | String |
axisContextName | Nome do contexto axis | String |
A classe AvailabilityParamsEAI2 é composta pelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
server | Nome do servidor EAI 2 | String |
port | Porta | String |
A classe AvailabilityParamsDatasul é composta pelos atributos:
Atributo | Descrição | Formato |
appServerName | Nome do servidor AppServer | String |
appServerPort | Porta do AppServer | String |
appServerApp | Instância do AppServer | String |
A classe AvailabilityParamsJboss é composta pelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
host | Nome do servidor JBoss | String |
port | Porta da instância | String |
A classe AvailabilityParamsLoginDatasul é compostapelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
server | Nome do servidor JBoss | String |
port | Porta da instância | String |
userName | Usuário | String |
passWord | Senha | String |
remoteServerName | Nome do servidor remoto (WebEnabled) | String |
remoteServerPort | Porta do servidor remoto (WebEnabled) | Int |
Bloco de código | ||||
---|---|---|---|---|
| ||||
AvailabilityItem result = null;
/* Montando parametros de disponibilidade SQL */
List<AvailabilityParamsSQL> availabilityParamsSQLs = new ArrayList<AvailabilityParamsSQL>();
AvailabilityParamsSQL paramsSQL = null;
paramsSQL = new AvailabilityParamsSQL();
paramsSQL.setDatabaseType("SQLServer");
paramsSQL.setDbName("emsfnd");
paramsSQL.setUserName("datasul1154");
paramsSQL.setPassWord("datasul1154");
paramsSQL.setUrlConnection("jdbc:sqlserver://moitas:1433;databaseName=emsfnd1154");
availabilityParamsSQLs.add(paramsSQL);
/* Montando parametros de disponibilidade de bancos do Datasul */
AvailabilityParamsDatasulDatabases paramsDatasulDatabases = new AvailabilityParamsDatasulDatabases();
paramsDatasulDatabases.setAppServerName("moitas");
paramsDatasulDatabases.setAppServerPort("5162");
paramsDatasulDatabases.setAppServerApp("cordas8480");
String[] dbNames = {"emsfnd"};
paramsDatasulDatabases.setDbNames(dbNames);
/* Montando parametros de disponibilidade EAI 1 */
AvailabilityParamsEAI1 paramsEAI1 = new AvailabilityParamsEAI1();
paramsEAI1.setProtocol("http");
paramsEAI1.setServer("bomjesus");
paramsEAI1.setPort("8080");
paramsEAI1.setAxisContextName("axis506gens");
/* Montando parametros de disponibilidade EAI 2 */
AvailabilityParamsEAI2 paramsEAI2 = new AvailabilityParamsEAI2();
paramsEAI2.setProtocol("http");
paramsEAI2.setServer("cordas");
paramsEAI2.setPort("8480");
/* Montando parametros de disponibilidade AppServer Datasul */
AvailabilityParamsDatasul paramsDatasul = new AvailabilityParamsDatasul();
paramsDatasul.setAppServerName("moitas");
paramsDatasul.setAppServerPort("5162");
paramsDatasul.setAppServerApp("cordas8480");
/* Montando parametros de disponibilidade JBoss */
AvailabilityParamsJboss paramsJboss = new AvailabilityParamsJboss();
paramsJboss.setProtocol("http");
paramsJboss.setHost("cordas");
paramsJboss.setPort("8480");
/* Montando parametros de disponibilidade Login Datasul */
AvailabilityParamsLoginDatasul paramsLoginDatasul = new AvailabilityParamsLoginDatasul();
paramsLoginDatasul.setProtocol("http");
paramsLoginDatasul.setHost("cordas");
paramsLoginDatasul.setPort("8480");
paramsLoginDatasul.setUserName("super");
paramsLoginDatasul.setPassWord("super");
paramsLoginDatasul.setRemoteServerName("cordas.jv01.local");
paramsLoginDatasul.setRemoteServerPort(39080);
result = cloudService.verifyDatasulAvailabilities(availabilityParamsSQLs, paramsDatasulDatabases, paramsEAI1, paramsEAI2, paramsDatasul, paramsJboss, paramsLoginDatasul);
if (result != null) {
System.out.println("Status: " + result.getStatus() + "\n Mensagem: " + result.getMessage());
} |
Retorno: AvailabilityItem
A classe AvailabilityItem é composta pelos atributos:
Atributo | Descrição | Formato |
status | Status da verificação | String |
message | Mensagem | String |
4. Utilização dos métodos para o produto EMS
Com base na implementação do item 2.2, para o EMS, entre os seus itens de disponibilidade, é possível verificar a disponibilidade de:
4.1 Disponibilidade dos bancos
Método publicado no servidor: availabilityEMSDatabases
Parâmetros: AvailabilityParamsEMSDatabases
A classe AvailabilityParamsEMSDatabases é composta pelos atributos:
Atributo | Descrição | Formato |
dlcPath | Diretório do prowin32.exe | String |
pfPath | Diretório do arquivo .pf | String |
iniPath | Diretório do arquivo .ini | String |
dbNames | Nomes dos bancos | String[] |
Bloco de código | ||||
---|---|---|---|---|
| ||||
List<AvailabilityDatabaseItem> avalItems = null;
AvailabilityParamsEMSDatabases paramsEMSDatabases = new AvailabilityParamsEMSDatabases();
paramsEMSDatabases.setDlcPath("c:\\dlc102b\\bin\\prowin32.exe");
paramsEMSDatabases.setPfPath("c:\\ambientes\\2.06B\\EMS206BMULTI-PSC101B-SUP\\connect.pf");
paramsEMSDatabases.setIniPath("c:\\ambientes\\2.06B\\EMS206BMULTI-PSC101B-SUP\\progresc.ini");
String[] dbNames = {"mgadm","mguni","movfis"};
paramsEMSDatabases.setDbNames(dbNames);
avalItems = cloudService.availabilityEMSDatabases(paramsEMSDatabases);
if (avalItems != null) {
for (AvailabilityDatabaseItem item : avalItems) {
System.out.println("DatabaseName: " + item.getItemName());
System.out.println("Status: " + 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 |
4.2 Disponibilidade de servidores RPW
Método publicado no servidor: availabilityRPWEMS
Parâmetros: AvailabilityParamsRPWEMS
A classe AvailabilityParamsRPWEMS é composta pelos atributos:
Atributo | Descrição | Formato |
dlcPath | Diretório do prowin32.exe | String |
pfPath | Diretório do arquivo .pf | String |
iniPath | Diretório do arquivo .ini | String |
fndDbName | Nome do banco do Foundation | String |
Bloco de código | ||||
---|---|---|---|---|
| ||||
AvailabilityParamsRPWEMS paramsRPWEMS = new AvailabilityParamsRPWEMS();
paramsRPWEMS.setDlcPath("c:\\dlc102b\\bin\\prowin32.exe");
paramsRPWEMS.setPfPath("c:\\ambientes\\2.06B\\EMS206BMULTI-PSC101B-SUP\\connect.pf");
paramsRPWEMS.setIniPath("c:\\ambientes\\2.06B\\EMS206BMULTI-PSC101B-SUP\\progresc.ini");
paramsRPWEMS.setFndDbName("mguni");
List<AvailabilityRPWItem> avalRPWList;
avalRPWList = cloudService.availabilityRPWEMS(paramsRPWEMS);
for (AvailabilityRPWItem item : avalRPWList) {
System.out.println("Cod. Servidor RPW: " + item.getServerCode());
System.out.println("Des. Servidor RPW: " + item.getServerDesc());
System.out.println("Estado: " + item.getState());
if (item.getState().equals("ativo")) {
String execution = item.getExecution() ? "Sim" : "Não";
System.out.println("Executando? " + execution);
}
} |
Retorno: List<AvailabilityRPWItem>
A classe AvailabilityRPWItem é composta pelos atributos:
Atributo | Descrição | Formato |
serverCode | Código do servidor RPW | String |
serverDesc | Descrição do servidor RPW | String |
state | Estado do servidor (Ativo, Inativo ou Bloqueado) | String |
execution | Indica se está em execução | Boolean |
4.3 Disponibilidade do EAI 1
Método publicado no servidor: availabilityEAI1
Parâmetros: AvailabilityParamsEAI1
A classe AvailabilityParamsEAI1 é composta pelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
server | Nome do servidor EAI 1 | String |
port | Porta | String |
axisContextName | Nome do contexto axis | String |
Bloco de código | ||||
---|---|---|---|---|
| ||||
AvailabilityParamsEAI1 paramsEAI1 = new AvailabilityParamsEAI1();
paramsEAI1.setProtocol("http");
paramsEAI1.setServer("bomjesus");
paramsEAI1.setPort("8080");
paramsEAI1.setAxisContextName("axis506gens");
AvailabilityEAI1Item eai1Item = cloudService.availabilityEAI1(paramsEAI1);
System.out.println("<<EAI 1>>");
System.out.println("Protocolo: " + eai1Item.getProtocol());
System.out.println("Server: " + eai1Item.getServer());
System.out.println("Port: " + eai1Item.getPort());
System.out.println("Nome contexto axis: " + eai1Item.getAxisContextName());
System.out.println("Status: " + eai1Item.getStatus()); |
Retorno: AvailabilityEAI1Item
A classe AvailabilityEAI1Item é composta pelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
server | Nome do servidor EAI 1 | String |
port | Porta | String |
axisContextName | Nome do contexto axis | String |
status | Status do EAI 1 | String |
4.4 Disponibilidade do EAI 2
Método publicado no servidor: availabilityEAI2
Parâmetros: AvailabilityParamsEAI2
A classe AvailabilityParamsEAI2 é composta pelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
server | Nome do servidor EAI 2 | String |
port | Porta | String |
Bloco de código | ||||
---|---|---|---|---|
| ||||
AvailabilityParamsEAI2 paramsEAI2 = new AvailabilityParamsEAI2();
paramsEAI2.setProtocol("http");
paramsEAI2.setServer("cordas");
paramsEAI2.setPort("8180");
AvailabilityEAI2Item eai2Item = cloudService.availabilityEAI2(paramsEAI2);
System.out.println("<<EAI 2>>");
System.out.println("Protocolo: " + eai2Item.getProtocol());
System.out.println("Server: " + eai2Item.getServer());
System.out.println("Port: " + eai2Item.getPort());
System.out.println("Status: " + eai2Item.getStatus()); |
Retorno: AvailabilityEAI2Item
A classe AvailabilityEAI2Item é compostapelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
server | Nome do servidor EAI 2 | String |
port | Porta | String |
status | Status do servidor EAI 2 | String |
4.5 Disponibilidade de login
Método publicado no servidor: availabilityLoginEMS
Parâmetros: AvailabilityParamsLoginEMS
A classe AvailabilityParamsLoginEMS é composta pelos atributos:
Atributo | Descrição | Formato |
dlcPath | Diretório do prowin32.exe | String |
pfPath | Diretório do arquivo .pf | String |
iniPath | Diretório do arquivo .ini | String |
fndDbName | Nome do banco do Foundation | String |
userName | Usuário | String |
passWord | Senha | String |
Bloco de código | ||||
---|---|---|---|---|
| ||||
AvailabilityParamsLoginEMS paramsLoginEMS = new AvailabilityParamsLoginEMS();
paramsLoginEMS.setDlcPath("c:\\dlc102b\\bin\\prowin32.exe");
paramsLoginEMS.setPfPath("c:\\ambientes\\2.06B\\EMS206BMULTI-PSC101B-SUP\\connect.pf");
paramsLoginEMS.setIniPath("c:\\ambientes\\2.06B\\EMS206BMULTI-PSC101B-SUP\\progresc.ini");
paramsLoginEMS.setFndDbName("mguni");
paramsLoginEMS.setUserName("super");
paramsLoginEMS.setPassWord("super");
AvailabilityLoginEMSItem loginEMSItem = cloudService.availabilityLoginEMS(paramsLoginEMS);
if (loginEMSItem != null ) {
System.out.println("<<Login EMS>>");
System.out.println("Banco FND: " + paramsLoginEMS.getFndDbName());
System.out.println("Usuario: " + paramsLoginEMS.getUserName());
System.out.println("Senha: " + paramsLoginEMS.getPassWord());
System.out.println("Status: " + loginEMSItem.getStatus());
} |
Retorno: AvailabilityLoginEMSItem
AvailabilityLoginEMSItem é composta pelos atributos:
Atributo | Descrição | Formato |
status | Status do login | String |
4.6 Disponibilidade EMS
Método publicado no servidor: verifyEMSAvailabilities
Parâmetros: AvailabilityParamsEMSDatabases, AvailabilityParamsEAI1, AvailabilityParamsEAI2, AvailabilityParamsRPWEMS, AvailabilityParamsLoginEMS
A classe AvailabilityParamsEMSDatabases é composta pelos atributos:
Atributo | Descrição | Formato |
dlcPath | Diretório do prowin32.exe | String |
pfPath | Diretório do arquivo .pf | String |
iniPath | Diretório do arquivo .ini | String |
dbNames | Nomes dos bancos | String[] |
A classe AvailabilityParamsEAI1 é composta pelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
server | Nome do servidor EAI 1 | String |
port | Porta | String |
axisContextName | Nome do contexto axis | String |
A classe AvailabilityParamsEAI2 é composta pelos atributos:
Atributo | Descrição | Formato |
protocol | Protocolo (http ou https) | String |
server | Nome do servidor EAI 2 | String |
port | Porta | String |
A classe AvailabilityParamsRPWEMS é composta pelos atributos:
Atributo | Descrição | Formato |
dlcPath | Diretório do prowin32.exe | String |
pfPath | Diretório do arquivo .pf | String |
iniPath | Diretório do arquivo .ini | String |
fndDbName | Nome do banco do Foundation | String |
A classe AvailabilityParamsLoginEMS é composta pelos atributos:
Atributo | Descrição | Formato |
dlcPath | Diretório do prowin32.exe | String |
pfPath | Diretório do arquivo .pf | String |
iniPath | Diretório do arquivo .ini | String |
fndDbName | Nome do banco do Foundation | String |
userName | Usuário | String |
passWord | Senha | String |
Bloco de código | ||||
---|---|---|---|---|
| ||||
AvailabilityItem result = null;
/* Montando parametros de disponibilidade de bancos do EMS */
AvailabilityParamsEMSDatabases paramsEMSDatabases = new AvailabilityParamsEMSDatabases();
paramsEMSDatabases.setDlcPath("c:\\dlc102b\\bin\\prowin32.exe");paramsEMSDatabases.setPfPath("c:\\ambientes\\2.06B\\EMS206BMULTI-PSC101B-SUP\\connect.pf");
paramsEMSDatabases.setIniPath("c:\\ambientes\\2.06B\\EMS206BMULTI-PSC101B-SUP\\progresc.ini");
String[] dbNames = {"mgadm","mguni","movadm"};
paramsEMSDatabases.setDbNames(dbNames);
/* Montando parametros de disponibilidade EAI 1 */
AvailabilityParamsEAI1 paramsEAI1 = new AvailabilityParamsEAI1();
paramsEAI1.setProtocol("http");
paramsEAI1.setServer("bomjesus");
paramsEAI1.setPort("8080");
paramsEAI1.setAxisContextName("axis506gens");
/* Montando parametros de disponibilidade EAI 2 */
AvailabilityParamsEAI2 paramsEAI2 = new AvailabilityParamsEAI2();
paramsEAI2.setProtocol("http");
paramsEAI2.setServer("cordas");
paramsEAI2.setPort("8180");
/* Montando parametros de disponibilidade RPW EMS */
AvailabilityParamsRPWEMS paramsRPWEMS = new AvailabilityParamsRPWEMS();
paramsRPWEMS.setDlcPath("c:\\dlc102b\\bin\\prowin32.exe");
paramsRPWEMS.setPfPath("c:\\ambientes\\2.06B\\EMS206BMULTI-PSC101B-SUP\\connect.pf");
paramsRPWEMS.setIniPath("c:\\ambientes\\2.06B\\EMS206BMULTI-PSC101B-SUP\\progresc.ini");
paramsRPWEMS.setFndDbName("mguni");
/* Montando parametros de disponibilidade Login EMS */
AvailabilityParamsLoginEMS paramsLoginEMS = new AvailabilityParamsLoginEMS();
paramsLoginEMS.setDlcPath("c:\\dlc102b\\bin\\prowin32.exe");
paramsLoginEMS.setPfPath("c:\\ambientes\\2.06B\\EMS206BMULTI-PSC101B-SUP\\connect.pf"); paramsLoginEMS.setIniPath("c:\\ambientes\\2.06B\\EMS206BMULTI-PSC101B-SUP\\progresc.ini");
paramsLoginEMS.setFndDbName("mguni");
paramsLoginEMS.setUserName("super");
paramsLoginEMS.setPassWord("super");
result = cloudService.verifyEMSAvailabilities(paramsEMSDatabases, paramsEAI1, paramsEAI2, paramsRPWEMS, paramsLoginEMS);
if (result != null) {
System.out.println("Status: " + result.getStatus() + "\n Mensagem: " + result.getMessage());
} |
Retorno: AvailabilityItem
A classe AvailabilityItem é composta pelos atributos:
Atributo | Descrição | Formato |
status | Status da verificação | String |
message | Mensagem | String |
5. Utilização do método de verificação do tamanho de diretórios
Para verificar o tamanho de um diretório ou arquivo utilizado pelo cliente nos servidores do Cloud, foi desenvolvido um método para atender a esta necessidade no Datasul Cloud Monitor (a implementação deste método requer a implementação do item 2.2).
Método publicado no servidor: getStorageDirItems
Parâmetros: List<StorageParamsDirItem>
A classe StorageParamsDirItem é composta pelos atributos:
Atributo | Descrição | Formato |
dirName | Nome do diretório | String |
pathDir | Caminho do diretório ou arquivo | String |
Bloco de código | ||||
---|---|---|---|---|
| ||||
List<StorageParamsDirItem> storageList = new ArrayList<StorageParamsDirItem>();
StorageParamsDirItem storageParamItem = new StorageParamsDirItem();
storageParamItem.setDirName("Log AppServer");
storageParamItem.setPathDir("C:\\appserver\\cassino8180\\log");
storageList.add(storageParamItem);
storageParamItem = new StorageParamsDirItem();
storageParamItem.setDirName("JBoss log");
storageParamItem.setPathDir("c:\\java\\jboss-4.2.3.GA\\server\\cassino-8180\\log");
storageList.add(storageParamItem);
List<StorageDirItem> result = cloudService.getStorageDirItems(storageList);
System.out.println("<<Diretorios>>");
for (StorageDirItem item : result) {
System.out.println("---");
System.out.println("Nome: " + item.getDirName());
System.out.println("Diretorio: " + item.getPathDir());
System.out.println("Tamanho: " + item.getSizeDir());
} |
Retorno: List<StorageDirItem>
A classe StorageDirItem é composta pelos atributos:
Atributo | Descrição | Formato |
dirName | Nome do diretório | String |
pathDir | Caminho do diretório ou arquivo | String |
sizeDir | Tamanho do diretório ou arquivo | String |
6. Mapeamento da dependência no projeto Java Client
Para utilizar o arquivo datasul-cloud-monitor-server-client-1.0-SNAPSHOT.jar (onde contém todas as classes e interfaces para implementação e utilização do serviço) no projeto Java client pode-se utilizar a dependência maven abaixo no arquivo pom.xml:
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
<dependency>
<groupId>com.totvs.framework</groupId>
<artifactId>datasul-cloud-monitor-server-client</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency> |
Download do arquivo pom.xml para utilizar como referência no projeto Java Client:
http://tdn.totvs.com.br/download/attachments/140968166/pom.xml
7. Datasul Cloud Monitor Release 1.0-SNAPSHOT
O arquivo datasul-cloud-monitor.zip, anexo a este documento, contém o arquivo datasul-cloud-monitor-server-1.0-SNAPSHOT.jar e as bibliotecas necessárias para monitorar os produtos Datasul e EMS.
É necessário seguir os passos citados nos itens 2.1 e 2.2 deste documento para fins de utilização.
Download do arquivo datasul-cloud-monitor.zip:
http://tdn.totvs.com.br/download/attachments/140968166/datasul-cloud-monitor.zip