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.