MQD Troubleshooting - MQD
Este documento lista os problemas mais comuns encontrados durante a instalação e operação do MQD, com orientações para diagnóstico e resolução.
Problemas na Requisição
Erro: "serverOrgId: Not found or bad format."
Sintoma: Resposta HTTP 400 ao enviar request ao /ValidateResponse.
Causa: O header serverOrgId não foi enviado ou não está em formato UUID v4 válido.
Solução:
Verifique se o header está presente na requisição
O formato deve ser UUID v4:
xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxxO valor deve ser um Organisation ID válido no Diretório Central
Erro: "endpointName: Not found or bad format."
Sintoma: Resposta HTTP 400 ao enviar request ao /ValidateResponse.
Causa: O header endpointName está ausente ou com formato incorreto.
Solução:
Consulte a Tabela de endpoints validados pelo MQD
O endpoint deve ser informado sem query parameters
Path parameters devem ser genéricos:
/accounts/v2/accounts/{accountId}Não incluir a base URL, apenas o path relativo
Erro: "endpointName: Unsupported endpoint."
Sintoma: Resposta HTTP 400 indicando que o endpoint não é suportado.
Causa: O endpoint informado não faz parte da lista de endpoints validados pelo MQD na versão de configuração atual.
Solução:
Verifique a lista de endpoints suportados na documentação
Se for um endpoint novo, pode ser necessário aguardar a atualização da configuração no servidor central
Use o header
versionHeaderse estiver em período de convivência
Problemas de Performance
Container com alto consumo de memória
Sintoma: O container MQD atinge o limite de memória configurado e é reiniciado (OOMKilled) ou fica lento.
Causa: Volume alto de mensagens sendo processadas na fila interna, ou muitas validações de schemas complexos (ex: investimentos, seguros) sendo processadas simultaneamente.
Solução:
Aumente os recursos de memória no
docker-compose.yaml:deploy: resources: limits: memory: 2048M # aumentar conforme necessidadeConsidere escalar horizontalmente (múltiplas instâncias)
Monitore o volume de requisições e ajuste a infraestrutura proporcionalmente
Evite acumular requisições em lote — envie ao MQD em tempo real
Container com alto consumo de CPU
Sintoma: CPU constantemente acima de 80%.
Causa: Volume muito alto de validações simultâneas. A validação de JSON Schema é computacionalmente intensiva para payloads grandes.
Solução:
Aumente o limite de CPU no
docker-compose.yamlMonitore via
docker statsVerifique se não há um backlog acumulado sendo processado de uma vez
Problemas de Conectividade
Relatórios não estão sendo enviados ao servidor central
Sintoma: O MQD processa validações normalmente, mas os relatórios não chegam ao servidor central (sem dados no painel de IQD).
Causas possíveis:
Proxy NGINX não configurado corretamente
Certificados mTLS expirados ou inválidos
Variável
PROXY_URLapontando para endereço incorretoFirewall bloqueando conexão de saída
Diagnóstico:
Configure
LOGGING_LEVEL=DEBUGpara ver logs detalhados do envioVerifique os logs do proxy NGINX:
docker logs <nginx-container>Teste conectividade com o servidor central via curl pelo proxy
Verifique validade dos certificados em
/etc/ssl/
Solução:
Corrija a configuração do proxy (
default.prd.conf,default.sandbox.conf)Renove certificados expirados
Verifique regras de firewall para saída HTTPS (porta 443)
Erro de autenticação (token)
Sintoma: Logs indicam falha ao obter token ou "401 Unauthorized" no envio de relatórios.
Causa: Credenciais de autenticação inválidas ou expiradas no Keycloak.
Solução:
Verifique se o
SERVER_ORG_IDconfigurado corresponde a um client válido no Keycloak do ecossistemaSolicite reconfiguração das credenciais via Portal de Suporte
Problemas de Validação
Validação retornando muitos erros (falsos positivos)
Sintoma: O MQD reporta erros de validação em payloads que parecem corretos.
Causas possíveis:
A versão do schema no MQD é diferente da versão da API sendo validada
A API retornou campos opcionais em formato inesperado
Regex incompatível entre a spec e a implementação
Solução:
Use o header
versionHeaderpara especificar a versão exata da APIVerifique se o MQD está atualizado com a última versão disponível
Em caso de divergência entre a spec e a implementação da API, abra um ticket no canal do Slack informando o endpoint e a evidência
Validação não detecta erros conhecidos
Sintoma: Payloads com erros evidentes passam pela validação sem serem reportados.
Causa: O MQD valida apenas a estrutura (JSON Schema) — não valida regras de negócio ou consistência entre campos.
Escopo de validação do MQD:
✅ Tipos de dados (string, number, boolean, array, object)
✅ Campos obrigatórios (required)
✅ Padrões regex (pattern)
✅ Limites de tamanho (maxLength, minLength, minItems, maxItems)
✅ Valores permitidos (enum)
✅ Propriedades não permitidas (additionalProperties: false)
❌ Regras de negócio (ex: data de vencimento > data atual)
❌ Consistência entre campos
❌ Validação de valores numéricos contra limites de negócio
Diagnóstico Geral
Como ativar logs detalhados
Configure a variável de ambiente LOGGING_LEVEL:
environment:
- LOGGING_LEVEL=DEBUG # máximo detalhe
# Opções: DEBUG, INFO, WARNING, ERROR, FATAL
Reinicie o container após a alteração. Os logs ficam disponíveis via docker logs <container-name>.
Como verificar se o MQD está processando
Envie uma requisição de teste:
curl -X POST 'http://localhost:8080/ValidateResponse' \
-H 'x-fapi-interaction-id: test-00000000-0000-0000-0000-000000000001' \
-H 'serverOrgId: c73bcdcc-2669-4bf6-81d3-e4ae73fb11fd' \
-H 'endpointName: /accounts/v2/accounts' \
-H 'Content-Type: application/json' \
-d '{"data": []}'
Resposta esperada: HTTP 200 com body
{}Se receber 200, o MQD está operacional e enfileirando mensagens
Problemas de Configuração
Configuração não sincroniza (schemas desatualizados)
Sintoma: O MQD está validando contra uma versão antiga da API, ou logs indicam erro ao tentar obter /settings.
Causas possíveis:
Falha de conectividade com o servidor central (mesmas causas de "relatórios não enviados")
Token expirado ou inválido
Servidor central temporariamente indisponível
Diagnóstico:
Verifique nos logs (DEBUG) se há erro na chamada GET /settings
Verifique se o token está sendo obtido com sucesso
O MQD continua operando com a última configuração válida (não para)
Solução:
Corrija a conectividade/certificados (mesmas soluções de envio de relatórios)
Reinicie o container para forçar uma nova tentativa de sincronização
A configuração será atualizada automaticamente quando a conectividade retornar
Suporte
Para dúvidas não cobertas neste documento: