Funcionalidade disponível a partir da versão 20.3.0.0 do .

Até as versões 19.3.1.x o  configurado para  Desktop somente permitia o monitoramento das conexões usando o e/ou TDS / VSCode mediante a configuração de um serviço adicional de , configurado como Master/Balance.

conecta na porta TCP do , que repassa a conexão para este serviço adicional. Isso exige o deploy de mais um serviço e, caso sejam acrescentados ou removidos serviços para o balanceamento do , a configuração do  Master/Balance adicional deve ser atualizada manualmente.

Para facilitar a utilização do  nos cenários onde o  é utilizado, foi criado um mecanismo de monitoramento interno ao  que elimina a necessidade de criar e sincronizar uma instância adicional de serviço Master/Balance.

Esse novo recurso de monitoramento é ativado pela chave PROTHEUS_MONITOR_EMBEDDED=1 no arquivo de configuração do .

É necessário também que seja configurado um ambiente de  para a realização de  autenticação do mecanismo de monitoramento.




Observações

  • Não é necessário configurar as chaves PROTHEUS_MONITOR_ADDRESS e PROTHEUS_MONITOR_PORT, que ficam exclusivas para o monitoramento através de um  configurado para balanceamento (vide link).
  • Não é possível utilizar conexão em modo seguro entre o e o .
  • Quando os servidores  balanceados pelo  não estiverem utilizando comunicação segura, então a configuração do deverá conter explicitamente a chave MONITORING_TYPE=SMARTCLIENT_ACTIVE configurada para que o possa funcionar (esta chave é consultada pela monitoração interna do broker para saber se a comunicação com os servidores é encriptada).
  • O nome do binário do deve começar com "appserver": appserver, appserver-broker, etc. Notar que no ambiente Linux o arquivo de configuração do deve acompanhar o nome do binário: appserver/appserver.ini, appserver-broker/appserver-broker.ini, etc.
  • Obrigatoriamente, na primeira conexão do Monitor Electron com o Monitor Embedded, a chave PROTHEUS_MONITOR_EMBEDDED deve estar ativa. Caso contrário o Monitor Embedded não vai  vai funcionar corretamente, mesmo que posteriormente a chave PROTHEUS_MONITOR_EMBEDDED seja ativada.




Exemplo de configuração

Para este exemplo, vamos configurar 1  e 3 serviços de  que serão monitorados.

Vamos supor que o  e os serviços de  estejam na mesma máquina física ou VM. (Isto não é necessário, mas é uma configuração comum).

  • Neste caso, todos os serviços possuem IP 127.0.0.1 (localhost).
  • Apenas o broker precisa ter o IP e porta publicados.

: IP 10.172.36.130 porta 4321
Serviços de : IP 127.0.0.1 porta 4001, 127.0.0.1 porta 4002, 127.0.0.1 porta 4003.




Configuração do broker (appserver.ini)


[BALANCE_SMART_CLIENT_DESKTOP]
LOCAL_SERVER_PORT=4321
REMOTE_SERVER_01=127.0.0.1 4001
REMOTE_SERVER_02=127.0.0.1 4002
REMOTE_SERVER_03=127.0.0.1 4003

; configuracao para o protheus monitor
PROTHEUS_MONITOR_EMBEDDED=1

; environment para autenticação do monitoramento
; observação: broker utiliza a dll dbapi.dll no Windows (ou equivalente no Linux)
[environment]
SourcePath=C:\protheus\environment\apo
RootPath=C:\protheus\environment\protheus_data
StartPath=\system\
RpoDB=TOP
RpoLanguage=Portuguese
RpoVersion=120 
DBDatabase=...
DBServer=...
DBAlias=...
DBPort=...
; obervação: broker utiliza as dlls do CTree (ou equivalentes no Linux)
[CtreeServer]
ctUserId=ADMIN
ctUserPass=ADMIN
ctServerName=FAIRCOMS@localhost

[General]
CtreeMode=Server

Monitoração de servidores adicionais

A partir da versão 20.3.1.5 é possível monitorar servidores adicionais através do uso das novas chaves N_EXTRA_SERVERS e EXTRA_SERVER_nnn.
Estes "servidores adicionais" são servidores que não estão na tabela de balanceamento do .

Exemplo para monitorar 2 servidores adicionais:

    ;   para ativar o Monitor Embedded
    PROTHEUS_MONITOR_EMBEDDED = 1

   ; servidores adicionais a serem monitorados
    N_EXTRA_SERVERS = 2
    EXTRA_SERVER_000 = 127.0.0.1 12341
    EXTRA_SERVER_001 = 127.0.0.1 12342

Notar que os servidores na tabela de balanceamento (REMOTE_SERVER_01 etc) são automaticamente monitorados.