Aumento de log do Integrador ETL comprometendo a performance e falha de integração G5/G7 - Log com retorno "Connection is not available, request timed out after"
Problema
Em alguns casos verificamos que o log do Integrador ETL começa a ficar muito grande e comprometendo a performance do servidor. Mesmo realizando a limpeza do log, o mesmo volta a crescer consideravelmente.
Ao realiar uma análise no log do integrador, vemos que o mesmo retorna várias linhas com a mensagem "Single thread] ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper - HikariPool-1 - Connection is not available, request timed out after"
Solução
Geralmente o problema de conexão entre a base e o integrador ocorre devido a alguma configuração incorreta nos parâmetros do integrador no momento da instalação.
Para validar estas configurações, execute os passos abaixo
No servidor onde está instalado o Integrador ETL, abra o CMD do windows e digite o comando abaixo:
reg query "HKLM\SOFTWARE\WOW6432Node\Apache Software Foundation\Procrun 2.0\<nome_serviço_integrador>\Parameters\Environment"
Onde você irá substituir o valor <nome_serviço_integrador> pelo nome do serviço responsável pelo integradr que está retornando o erro.
Você encontra o nome do serviço do integrador nas propriedades do serviço na tela de serviços do windows na opção "Proriedades".
Após executar o comando, serão retornadas os seguintes parâmtros:
- TENANT;
- BROKER_HOST;
- BROKER_USER;
- BROKER_PASS:
- BROKER_PORT;
- VIRTUAL_HOST;
- G5_CFG_FILE;
- G5_PROD_NAME;
- USER;
Onde:
TENANT
Nome do tenant que está enviando as informações.
Para confirmar esta informação deve acessar a Sara, clicando em Tenant > Gostaria de consultar um Tenant. Importante observar que aqui deve ser parametrizado o nome do tenant, e não o domínio. Caso seja configurado o domínio, ocorrerá erro na integração.
BROKER_HOST
servidor onde está executando o RabbitMQ. Deve verificar com o responsável que realizou a instalação do RabbitMQ ou equipe de infraestrutura;
BROKER_USER
usuário do RabbitMQ. Deve ser verificado com o responsável que realizou a configuração do RabbitMQ. Lembrando que por recomendação de segurança e execução do serviço corretamento, é necessário desativar o usuário padrão guest e criar um específico de administração do RabbitMQ, pois ele estará exposto na internet conforme os bloqueios de firewall.
Caso o retorno do campo contenha o usuário "guest", é preciso realizar a alteração na console do RabbitMQ diretamente.
BROKER_PASS
senha de acesso ao RabbitMQ. Deve ser verificado com o responsável pela configuração do mesmo.
BROKER_PORT
porta do RabbitMQ. Deve verificar com o responsável que realizou a configuração do RabbitMQ
VIRTUAL_HOST
Nome do virtual host no qual a conexão será feita. Por padrão é realizada a configuração utilizando o nome "/". Entretanto, caso tenha sido definido outro nome para este parâmetro, é preciso verificar se na Plataforma este mesmo nome também foi configurado.
Para verificar estas configurações execute os passos abaixo:
- Acesse a Plataforma Senior X com usuário admin
- Acesse o menu Tecnologia > Configuração > Por Tenant e selecione o tenant a ser configurado
- Verifique se o campo "Virtual host do tenant on-premise" contém a mesma configuração do campo "VIRTUAL_HOST" retornado pelo comando cmd.
Caso necessário, deverá alterar a configuração da Plataforma para utilizar a mesma configuração on premise.
G5_CFG_FILE
caminho do arquivo de configuração da G5
G5_PROD_NAME
Produto da G5 para o qual serão lidas as configurações de base no arquivo informado em G5_CFG_FILE: erp (padrão) ou rh;
USER
Usuário padrão para enviar na mensagem (normalmente o administrador). Por exemplo: admin@tenant.com.br;
Uma das causas mais comuns de erros durante a implantação / configuração da integração é a configuração do usuário de forma incorreta. Neste caso deve-se lembrar que neste campo deve ser informado o usuário do tenant com o domínio do mesmo e não o e-mail do usuário. Verificar também para configuração correta do domínio deste Tenant.
É possível validar as informações do tenant pela Sara, clicando em Tenant > Gostaria de consultar um Tenant.
Caso algum dos parâmetros do serviço do Integrador precise ser alterado de acordo com a validação acima, é necessário executar uma Atualização do Integrador G5/G7 para ajuser dos parâmetros que estão incorretos.
Observação: Caso exista mais de um serviço de integração em execução no servidor, deve-se validar se todos estes serviços em execução estão devidamente cadastrados e configurados corretamente para replicação das informações entre as bases e os Tenants a eles associados. Caso haja algum serviço associado a algum Tenant de maneira incorreta, o mesmo deve ser desativado.
Deve-se validar o nome de todos os Tenants parametrizados nos serviços configurados de acordo com as informações apresentadas na Sara conforme processo mencionado acima.