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:
| Bucket | Janela | Significado |
|---|---|---|
| Fresh | <15min | Normal, pipeline rodando |
| Recente | <1h | Atenção leve |
| Envelhecendo | <4h | Precisa olhar |
| Parado | <24h | Problema sustentado |
| Crítico | ≥24h ou dead_letter | Intervençã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:
| Code | Severidade | Ação recomendada |
|---|---|---|
auth | high | Verificar credenciais (token, senha, OAuth) |
business | high | Não retryable — revisar regra de negócio do destino |
schema | medium | Validar payload, revisar mapping |
mapping | medium | Revisar mapping ativo |
transport | medium | Retry automático em curso |
timeout | medium | Observar se persiste |
unknown | low | Investigar 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 status —
now() - updated_atformatado relativo, cor escalonada (cinza/amarelo/vermelho) - Tentativas —
retry_countem bold quando ≥3 - Próxima —
next_retry_atrelativo
Ocultas técnicas (
Status origem, Status destino, Formato) via toggle "Colunas técnicas" — limpas por padrão.