Sequência de triagem
- 1Definir o impacto
Identifique hospital, ambiente, horário, perfis afetados, módulo e operação.
- 2Confirmar disponibilidade
Diferencie erro de login, página indisponível, falha parcial e lentidão.
- 3Verificar recursos
Avalie disco, memória, swap, CPU e processo Java.
- 4Verificar serviços
Confirme Apache, WildFly e PostgreSQL, sem reiniciar preventivamente.
- 5Inspecionar conexões
Compare os pools LEC/AGHU e a disponibilidade dos bancos.
- 6Correlacionar logs
Use janela temporal, usuário mascarado, operação e identificador técnico.
- 7Reproduzir com segurança
Prefira ambiente de homologação ou caso sintético.
- 8Escalar com evidências
Entregue sintoma, horário, erro, componente, hipótese e ações já realizadas.
Saúde do servidor Linux
# Espaço em disco
df -h
# Memória e swap
free -h
# Localizar o processo do WildFly
ps -ef | grep '[j]ava'
# Observar um PID já validado
top -p <PID_WILDFLY>| Indicador | Leitura | Atenção |
|---|---|---|
| Use% do disco | Ocupação por partição. | O plano recomenda atenção acima de 80%. |
| available | Memória realmente disponível. | Diferencie cache saudável de pressão real. |
| swap | Paginação do sistema. | Uso elevado e crescente pode indicar pressão de memória. |
| %CPU / %MEM / RES | Consumo do processo Java. | Correlacione com horário, volume e GC. |
| PID | Instância observada. | Confirme que pertence ao WildFly correto antes de agir. |
PostgreSQL e pool JDBC
A documentação registra perda de conexões associada à ausência de validação e controle do pool.
SELECT datname, count(*) AS conexoes
FROM pg_stat_activity
GROUP BY datname
ORDER BY datname;| Configuração documentada | Finalidade |
|---|---|
| Pool mínimo 5 / máximo 50 | Evitar criação tardia e limitar carga. |
| PostgreSQLValidConnectionChecker | Testar conexões de forma específica para PostgreSQL. |
| PostgreSQLExceptionSorter | Classificar falhas e retirar conexões inválidas. |
| SELECT 1 | Teste simples de validade. |
| validate-on-match + background-validation | Validar ao emprestar e periodicamente. |
| background-validation-millis 30000 | Verificação em segundo plano a cada 30 segundos. |
| idle-timeout 5 min | Reciclar conexões ociosas. |
| blocking-timeout 30000 ms | Limitar espera por uma conexão livre. |
Logs do WildFly
# Caminho documentado
/opt/wildfly/standalone/log/server.log
# Exemplos de busca sem imprimir o arquivo inteiro
grep -i 'outofmemory\|heap\|connection\|timeout' /opt/wildfly/standalone/log/server.log
# Use uma janela de tempo e masque identificadores antes de anexar evidências- Procure a primeira exceção causal, não apenas a última mensagem repetida.
- Separe falha de banco LEC, banco AGHU, LDAP, CUPS e API externa.
- Correlacione timeout com pool esgotado, rede, banco e consulta lenta.
- Não publique tokens, Authorization, senhas, prontuários ou observações clínicas.
- Preserve timezone e horário do servidor na linha do tempo.
Problemas comuns e hipóteses
| Sintoma | Hipóteses prioritárias | Evidência |
|---|---|---|
| HTTP 502/503 | Apache não alcança WildFly, serviço parado, bind ou proxy. | Status dos serviços e logs Apache/WildFly. |
| Login falha para todos | LDAP/AD, DNS/hosts, datasource AGHU ou security domain. | Erro causal e teste de dependências. |
| Login falha para um usuário | Perfil, situação, vínculo ou supervisão no AGHU. | Cadastro mascarado e resultado das queries autorizadas. |
| Conexão cai intermitentemente | Pool sem validação, firewall idle, réplica ou PostgreSQL. | Métricas do pool, exceção e pg_stat_activity. |
| Heap cresce | Consulta/relatório volumoso, leak, cache ou lote excessivo. | Heap, GC, operação e volume. |
| Disco acima de 80% | Logs sem rotação, dumps, temporários ou artefatos. | df, du controlado e política de retenção. |
| Pré-operatório não muda | Parâmetro, rotina, query JPA ou dado AGHU. | Consulta de origem e log da rotina. |