Troubleshooting
Os tópicos desta seção contém os passos para a resolução de problemas identificados no SoftExpert Suite.
Verificação de requisitos
A partir da versão 2.0.5, o SoftExpert Suite conta com um verificador de requisitos. Esse recurso é uma funcionalidade que é executada durante a inicialização do SoftExpert Suite e tem como objetivo garantir que o servidor está com todos os requisitos para a utilização do sistema. Caso algum requisito não atenda à utilização do sistema, o verificador irá exibir uma mensagem para indicar a configuração que precisa ser solucionada.
Veja a seguir algumas configurações que podem ser solicitadas para a inicialização do serviço do SoftExpert Suite:
Configurando o fuso horário (timezone) no Java
Por padrão o fuso horário utilizado no Java é o mesmo configurado no sistema operacional. Para iniciar o aplicativo com um fuso horário diferente do utilizado no sistema operacional é necessário indicar ao Java na inicialização do sistema através do atributo user.timez ▪ Editar a variável JAVA_OPTS, caso não exista definir, com o valor -Duser.timezone=America/Sao_Paulo
O fuso horário utilizado no exemplo é o fuso horário oficial brasileiro, o identificador de outros fuso horários podem ser encontrados em: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones (Acessado em 08/09/2016).
Ajustando o horário de verão
Caso o sistema apresente a mensagem de divergência entre a configuração do horário de verão entre o Java e o PHP, o problema pode estar na versão da base de dados de fuso horário do Java, para atualizar a base de dados execute os passos:
▪ Baixe o aplicativo "ZIUpdater Time Zone Tool".
▪ Execute o aplicativo com a mesma máquina virtual java utilizada pelo SoftExpert Suite com a linha de comando "java -jar ziupdater-1.0.1.2.jar".
Se o diretório corrente não for o mesmo onde o ziupdater estiver, utilize o caminho completo até o arquivo ziupdater.
Para comparar as versões da base de dados dos fuso horários do Java e do aplicativo, execute o comando "java -jar ziupdater-1.0.1.2.jar -V".
Configurando o fuso horário (timezone) no PHP
O instalador irá criar automaticamente o arquivo suite.env, contendo o timezone padrão "America/Sao_Paulo". Porém, para alterar o fuso horário que será utilizado pelo PHP é necessário editar o arquivo suite.env (que fica em /usr/local/se/suite.env), caso contrário o padrão será "America/Sao_Paulo".
Se o arquivo não existir, basta criá-lo.
Para editar o timezone, abra o arquivo para edição e defina a variável TZ conforme seu fuso horário:
TZ=America/Sao_Paulo
O fuso horário utilizado no exemplo é o fuso horário oficial brasileiro, o identificador de outros fuso horários podem ser encontrados em: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
Solucionando problemas com JAVA
Sistema | Parâmetro | Descrição |
---|---|---|
GERAL | HD | "HD está com espaço livre de ESPAÇO DISPONÍVEL EM DISCO , quando deveria ser no mínimo 5GB." |
Solução |
---|
Liberar espaço físico na máquina. |
Sistema | Parâmetro | Descrição |
---|---|---|
GERAL | JavaVersion | "A versão instalada do Java é a VERSÃO DO JAVA , quando deveria ser a 1.8." |
Solução |
---|
Remover a versão do java e instalar a versão correta. |
Sistema | Parâmetro | Descrição |
---|---|---|
GERAL | TomcatMemory | "O servidor Apache Tomcat está configurado para utilizar até MEMÓRIA_CONFIGURADA MB de memória. É necessário pelo menos 1024 MB de memória. Verifique no Guia de instalação do sistema como realizar esta configuração." |
Solução
Para ambientes GNU/Linux, consulte a seção Verificação de memória para o Apache Tomcat.
Sistema | Parâmetro | Descrição |
---|---|---|
LINUX | java.awt.headless | "A biblioteca AWT do Java, utilizada para renderizar gráficos e relatórios, não está habilitada no servidor de aplicação. Para habilitar, altere para "true" o valor do parâmetro "java.awt.headless"." |
Solução
Editar o arquivo SESUITE_HOME/apps/tomcat/bin/setenv.sh e verificar a linha "export JAVA_OPTS=", que deve conter o valor true para o parâmetro: -Djava.awt.headless=true.
Solucionando problemas com templates
Sistema | Parâmetro | Descrição |
---|---|---|
GERAL | ...web\include\template | O template NOME_DO_ARQUIVO não é um template no formato JSON. |
Solução
Entrar em contato com a SoftExpert.
Solucionando problemas com servidor de aplicação
Sistema | Parâmetro | Descrição |
---|---|---|
GERAL | GET/POST/PUT/DELETE | O servidor de aplicação está configurado para bloquear requisições HTTP com o método METODO |
Solução
Liberar requisições para o servidor de aplicação com o método requerido.
Solucionando problemas com NODE
Configuração de porta do banco de dados
Durante o CHECKSYSTEM (processo que valida o sistema durante sua inicialização), ocorre uma validação do serviço de exportação. Um dos problemas mais comuns que ocorre nesse serviço é ter uma porta específica definida que não está acessível pelo serviço. Dessa forma, recomenda-se atualizar o banco de dados diretamente, definindo, assim, uma porta automática (valor 0) ou específica para resolver essa situação.
Alteração pelo banco:
UPDATE bi2config SET nrportexport = 0 --Número da porta
WHERE oid = 1;
Pontos de verificação do Node.js
• Certificar-se de que a versão do node instalado é a versão 8.9.1.
• Todas as bibliotecas devem ser instaladas durante o processo de instalação.
• O path da TEMP precisa de todas as permissões corretas.
• O servidor precisa atender aos requisitos de memória, pois pode causar lentidão nas exportações ou falhas.
• Garantir que o servidor tenha as fontes utilizadas no sistema instaladas; o servidor precisa ter no mínimo a fonte Arial disponível.
• Garantir que, caso haja algum serviço de antivírus instalado no servidor, será necessário adicionar o SoftExpert Suite em uma lista de exceções de scanning de internet, em bloqueio a websites.
Servidor de indexação
O objetivo do servidor de indexação é realizar a extração dos dados de registros e arquivos do SoftExpert Suite para a indexação destes. Esses índices são utilizados em algumas consultas do sistema, além da consulta geral. Esse serviço funciona em paralelo com o sistema; ao inicializar o SoftExpert Suite, o serviço de indexação também é inicializado.
O servidor de indexação é composto por dois serviços importantes para o seu correto funcionamento, sendo eles:
Atlas
Atlas é o nome da engine interna desenvolvida pela SoftExpert que encapsula o motor de busca do Elasticsearch e dispõe de serviços para garantir uma melhor comunicação com o SoftExpert Suite. Esse serviço é utilizado nas consultas gerais e por componente.
Elasticsearch
O Elasticsearch é uma poderosa ferramenta de busca e indexação para buscas textuais (Full-Text Search). Uma de suas principais qualidades é a alta performance na busca, além de possuir adaptação a sistemas com Load Balance. Para mais informações, consulte o website do motor.
Veja a seguir os passos para verificar se o serviço está sendo executado:
Como saber se o Atlas e o Elasticsearch foram iniciados?
Ao subir um ambiente que esteja com suporte ao Elasticsearch, caso a engine tenha subido com sucesso, ela deverá criar (ou sobrescrever, caso já exista) os arquivos atlas.pid e elasticsearch.pid dentro do diretório 'SESUITE_HOME\system\tools\indexer'.
O Atlas/Elasticsearch não está no ar. O que devo fazer?
Caso você tenha subido o SoftExpert Suite e, mesmo assim, o serviço do Elasticsearch ou do Atlas não rodou juntamente, verifique, primeiramente, se as configurações de ambiente e da tabela SEFTSSETTINGSestão de acordo com o esperado. Se a configuração estiver correta, ou se o administrador do sistema tiver dúvidas quanto a essas configurações, deve-se entrar em contato com a equipe de suporte da Softexpert para analisar a situação.
Em algumas situações, esse serviço pode não funcionar de forma adequada. Segue abaixo uma lista de possíveis causas e suas soluções:
Porta bloqueada no FIREWALL
- Para verificar a porta que está sendo utilizada no serviço do Atlas e do Elasticsearch, deve-se realizar a seguinte consulta:
#Port used by the Atlas service
SELECT NRENGINEESPORT FROM SEFTSSETTINGS
#Port used by the Elasticsearch
SELECT NRESPORT FROM SEFTSSETTINGS
- Verifique se há alguma configuração de firewall no servidor bloqueando a porta do parâmetro NRENGINEESPORT ou do parâmetro NRESPORT. Após desbloquear as portas, será necessário reiniciar o sistema e verificar se o serviço de indexação está sendo executado.
Porta sendo utilizada em outro serviço
- Execute o comando abaixo para verificar qual porta está sendo utilizada.
Exemplo:
#Ports used by the index server (Atlas/Elasticsearch)
SELECT NRESPORT, NRENGINEESPORT FROM SEFTSSETTINGS
- Verifique se há algum outro serviço que esteja utilizando a porta dos parâmetros NRENGINEESPORT e NRESPORT. Se houver, altere para uma porta disponível.
IMPORTATE! Nunca se deve executar comandos para alterar as portas ou outros parâmetros na tabela SEFTSSETTINGS sem uma análise prévia do impacto e sem antes consultar a equipe de suporte da SoftExpert.
Versão do sistema
O sistema verifica o versionamento dos pacotes com o objetivo de manter a estabilidade do SoftExpert Suite. Podem ser encontradas incompatibilidades entre as versões dos pacotes instalados/atualizados. Veja a seguir a solução para estabilizar o SoftExpert Suite:
1.Acesse o diretório do SoftExpert Configurator:
# cd /usr/local/se/tools/configurator
2.Execute o seguinte comando para atualizar e reconfigurar os dados de conexão com a base:
# bash run.sh
3.Após equalizar, reinicie o sistema.
Verificação de memória para o Apache Tomcat
- Acesse a pasta bin, localizada dentro do diretório onde o Tomcat está instalado.
# cd /usr/local/se/apps/tomcat/bin
- Abra para edição o arquivo setenv.sh:
# vi setenv.sh
- No arquivo, procure pela linha "set JAVA_OPTS". Caso ela exista, verifique se os valores atribuídos às variáveis "-XX:MaxPermSize" e "-Xmx" estão com os valores mínimos de 1024m. Caso a linha não exista ou as variáveis não estejam configuradas corretamente, faça a inclusão desta linha, deixando-a semelhante ao demonstrado abaixo:
set JAVA_OPTS= -Xmx1024m -XX:MaxPermSize=1024m
Os valores informados acima são os mínimos necessários para a correto funcionamento do SoftExpert Suite. Caso necessário, atribua valores superiores 1024m para essas variáveis.
- Salve e feche o arquivo
:wq!
Aumentar a quantidade de processos simultâneos do PHP
Caso seja necessário aumentar o limite de processos simultâneos do PHP, devido a um uso mais intenso, siga os passos a seguir:
- Acesse o arquivo:
# vi /usr/local/se/apps/php/etc/pool.d/www0.conf
- Altere o parâmetro 'pm.max_children' para o valor desejado, por exemplo:
pm.max_children=80 # (Neste caso, haverá no máximo 80 processos simultâneos)
O valor máximo deve ser baseado na razão entre a quantidade de memória ram disponível na máquina e a quantidade média de memória consumida em cada processo. Essa segunda informação pode ser conseguida verificando a coluna RSS da saída do comando:
ps -ylC php-fpm --sort:rss
Autenticação integrada
Para adiantar possíveis problemas no processo de sincronização e autenticação de usuários em um domínio, é possível testar a configuração do domínio na configuração de autenticação do sistema (CM008), na seção "Integração de diretório > Domínios", no cadastro ou edição de um registro. Este procedimento irá testar a comunicação do servidor do SoftExpert Suite com os servidores de autenticação e diretório informados na configuração. O protocolo testado é o LDAP, utilizando a String de conexão, usuário e senha fornecido.
Geralmente, a falha, no teste de conexão, ocorre se houver erros na configuração do domínio ou problemas nas conexões de rede entre o servidor do SoftExpert Suite e os servidores que hospedam os serviços de diretório e autenticação. Portanto é indicada a utilização de ferramentas para efetuar diagnósticos de conexão, ou o auxílio do administrador da rede para eventuais verificações de endereços e portas utilizadas na comunicação.
Possíveis retornos do teste de conexão:
▪ Mensagem de erro de conexão com o controlador de domínio: O servidor do SoftExpert Suite não conseguiu abrir uma conexão via protocolo LDAP utilizando a URL informada no campo "String de conexão". Verifique se o campo está preenchido corretamente e, caso não tenha sido especificado uma porta na própria URL, verifique se o servidor está aceitando conexões na porta 389 padrão do LDAP, ou ainda para as portas 636 e/ou 3269, padrões para LDAPS, ou contate o administrador do serviço de diretório para checar a disponibilidade do serviço.
▪ Mensagem de erro informando que o usuário não foi encontrado ou a senha está incorreta: A comunicação com o serviço de diretório ocorreu sem problemas, porém o usuário e senha informados nos campos "Usuário" e/ou "Senha" estão incorretos. Este usuário refere-se à um usuário cadastrado no serviço de diretório, portanto deve ser verificado se o nome e a senha estão de acordo com as informações registradas no serviço. Lembrando que no campo "Usuário" deve ser digitado o nome do mesmo, não o login.
Configuração do Outlook
Caso esteja ocorrendo problema no envio do anexo, ou seja, o destinatário não está recebendo o anexo do e-mail, possivelmente se trata de uma configuração no Microsoft Outlook. Nesta seção serão apresentadas algumas configurações que poderão ser realizadas no Outlook para resolver este problema.
Causa do problema
Esse é um problema comum que ocorre por causa do Outlook, onde quando é enviado uma mensagem no formato RTF (Rich Text Format) e o mesmo não é convertido corretamente em HTML ou Texto sem formatação.
Soluções
Envio utilizando formato HTML ou Texto sem formatação
Um dos possíveis problemas é caso você esteja enviando o anexo no formato RTF e a mensagem não está sendo convertida corretamente em HTML ou como texto sem formatação. Neste caso, siga as seguintes etapas para resolver o problema.
- No Outlook, acesse o menu Arquivo > Opções (File > Options):
- Na tela de opções do Outlook, selecione o menu Email (Mail). Em seguida, na seção Redigir mensagens (Compose messages), selecione a opção "HTML" ou "Texto sem formatação" (Plain text) no campo Redigir mensagens neste formato:
- Ainda no menu Email da tela de opções do Outlook, localize a seção Formato da mensagem (Message format). Em seguida, certifique-se de que o campo Ao enviar mensagens em Rich Text para destinatários na Internet (When sending messages in Rich Text formato do Internet recipients) esteja configurado com a opção "Converter em formato HTML" (Convert to HTML format) ou com a opção "Converter em formato de texto sem formatação" (Convert to Plain Text format).
- Clique em OK para salvar as alterações.
Respondendo a um email
Caso seja necessário responder um e-mail recebido, para que não aconteça o problema de desaparecer o anexo ao responder uma mensagem, altere a formatação da mensagem para HTML. Para isso, primeiramente, abra o e-mail em modo de resposta. Em seguida, faça as seguintes configurações, de acordo com a sua versão do Outlook:
Caso a versão do Outlook seja 2003
i. Selecione a aba Formatação.
ii. Selecione a opção HTML.
Caso a versão do Outlook seja 2007
i. Selecione a aba Opções.
ii. Selecione a opção HTML.
Caso a versão do Outlook seja 2010, 2013 ou 2016
i. Selecione a aba *Formatação de texto**.
ii. Selecione a opção HTML.
Docker certificates
Alguns serviços do SoftExpert Suite são executados em containers docker atualmente. Esses containers utilizam imagens docker criadas pela SoftExpert onde essas imagens são armazenadas no Docker Hub.
Se ao inicializar o serviço do SoftExpert Suite e ao realizar o download (pull) dessas imagens ocorrer o bloqueio de certificação "ERROR: Get https://registry-1.docker.io/v2/: x509: certificate signed by unknown authority", deve-se seguir o tutorial abaixo para resolução do problema:
[https://docs.docker.com/engine/security/certificates/](https://docs.docker.com/engine/security/certificates/)
É importante ressaltar que este tutorial está sujeito a alterações por parte da Docker Inc. e não está sob controle da SoftExpert.
Aumentar a quantidade de processos simultâneos do PHP
Caso seja necessário aumentar o limite de processos simultâneos do PHP, devido a um uso mais intenso, siga os passos a seguir:
- Acesse o arquivo:
# vi SESUITE_HOME/suite.env
- Adicione a seguinte linha:
WWW_CONF=pm.max_children = 80
Nesse caso, haverá até 80 processos simultâneos.
Não deve haver espaços entre WWW_CONF=variável
IMPORTANTE! O valor máximo deve ser baseado na razão entre a quantidade de memória ram disponível na máquina e a quantidade média de memória consumida em cada processo.
Para obter este resultado deve ser executado o seguinte comando:
docker exec -it se-baseclass ps -ylC php-fpm --sort:rss
Onde se-baseclass é o nome do container que está sendo executado. Esta informação pode ser encontrada no seguinte comando:
docker-compose ps