Núcleo de Observabilidade Orientado a Eventos

Consumo assíncrono de telemetria com correlação por CorrelationId e monitoramento resiliente

O IVR.OpsMonitoring é o componente central de observabilidade do IVR 5.0 AI, consumindo eventos estruturados publicados por todos os Workers via RabbitMQ. Logs, métricas, traces distribuídos e eventos de saúde são registrados com timestamp e correlacionados, garantindo evidência objetiva e rastreabilidade ponta a ponta.

Capacidades de Observabilidade

  • Consumo de logs, métricas, traces e eventos de saúde via RabbitMQ
  • Reconstrução de fluxos ponta a ponta com CorrelationId e MessageId
  • Monitoramento de DLQs, ACK/NACK e congestionamento de filas
  • Exportação para Prometheus, Grafana, Elastic e OpenTelemetry
  • Escalabilidade horizontal como Worker independente

Fluxo Geral de Observabilidade

A observabilidade no IVR 5.0 AI segue modelo totalmente assíncrono e orientado a eventos. Cada Worker (DDD ou INFRA) publica sua própria telemetria em mensagens JSON padronizadas, separando header e payload, conforme os contratos do ecossistema.

As mensagens são publicadas em exchanges dedicadas como ops.logs, ops.metrics, ops.traces, ops.health, ops.failures e ops.messaging, mantendo isolamento completo entre tráfego de negócio e telemetria.

A observabilidade é desacoplada, resiliente e alinhada ao modelo de mensageria da plataforma.

Tipos de Telemetria e Estrutura Padronizada

Os Workers publicam logs estruturados, métricas operacionais, traces distribuídos, eventos de falha, eventos de saúde e eventos de mensageria. Cada mensagem inclui severidade, contexto operacional e identificadores de correlação.

A estrutura padronizada permite que o OpsMonitoring interprete eventos de forma independente, sem chamadas síncronas adicionais, preservando o isolamento entre domínios de negócio e infraestrutura de monitoramento.

  • Logs estruturados com metadados contextuais
  • Métricas de desempenho e throughput
  • Traces distribuídos com CorrelationId
  • Eventos de falha, timeout e DLQ

Correlação e Reconstrução de Fluxos

Por meio de CorrelationId e MessageId, o OpsMonitoring reconstrói fluxos completos entre IVR.Client, IVR.Server, RabbitMQ e Workers de domínio. Isso possibilita visualizar o ciclo de vida de cada requisição com precisão técnica.

O módulo também monitora DLQs, volume de mensagens pendentes, taxas de reentrega e ausência de consumidores, apoiando detecção proativa de gargalos e degradações sistêmicas.

Cada evento operacional pode ser rastreado no ecossistema distribuído com consistência mensurável.

Resiliência, Escalabilidade e Integração Externa

O OpsMonitoring executa como Worker, seguindo Clean Architecture e consumindo filas de observabilidade como qualquer outro serviço. Pode ser escalado horizontalmente conforme o volume de telemetria.

Como a telemetria é totalmente assíncrona, falhas no subsistema de monitoramento não bloqueiam o processamento de negócio. Mensagens podem ser acumuladas e processadas posteriormente sem impacto nos domínios industriais.

A camada de observabilidade é resiliente, escalável e aderente aos padrões modernos de monitoramento distribuído.