Todos os artigos
FT-MONITOR-SIGNALSMonitor & Mensagens

Sinais operacionais: aging, integrações silenciosas, error categories

Métricas observáveis que ajudam a triar problemas — sem promessa de SLA contratual.

Atualizado em 5/18/2026

"Precisam de atenção"



Tile no topo de /monitor mostra mensagens em estado de erro/dead_letter há mais de 1h sem retry agendado. Sinal observável puro — não é SLA, é "alguém precisa olhar".

Query: pipeline_status IN (error, dead_letter) AND next_retry_at IS NULL AND now() - updated_at > 1h.

"Integrações silenciosas"



Tile lado a lado do anterior. Conta integrações que tiveram fluxo nos últimos 7 dias mas não receberam nada nas últimas 24h. Sinal de "fluxo parou de chegar" — muitas vezes só vira problema dias depois quando alguém percebe que o relatório está vazio.

Fonte: view v_integration_health (msgs_7d > 0 AND msgs_24h = 0).

Aging buckets



Distribuição de mensagens não-concluídas por idade no status atual:

BucketJanelaSignificado
Fresh<15minNormal, pipeline rodando
Recente<1hAtenção leve
Envelhecendo<4hPrecisa olhar
Parado<24hProblema sustentado
Crítico≥24h ou dead_letterIntervenção humana


Visto em 2 lugares:
  • /relatorios — distribuição global do tenant + tabela por integração
  • View v_message_aging.aging_bucket — consumível via query


Error categories



7 categorias root cause preenchidas prospectivamente pelo classifier heurístico:

CodeSeveridadeAção recomendada
authhighVerificar credenciais (token, senha, OAuth)
businesshighNão retryable — revisar regra de negócio do destino
schemamediumValidar payload, revisar mapping
mappingmediumRevisar mapping ativo
transportmediumRetry automático em curso
timeoutmediumObservar se persiste
unknownlowInvestigar manualmente


Classificação roda em process-message.ts e retry-orchestrator.ts. Sites secundários (webhook, bulk admin, sap/odata direto) ainda não integrados — follow-up.

Idade no status, Tentativas, Próxima



3 colunas na MessageTable (/monitor/empresa/[id]):
  • Idade no statusnow() - updated_at formatado relativo, cor escalonada (cinza/amarelo/vermelho)
  • Tentativasretry_count em bold quando ≥3
  • Próximanext_retry_at relativo


Ocultas técnicas (Status origem, Status destino, Formato) via toggle "Colunas técnicas" — limpas por padrão.