Observabilidade - ifpebj-ti/controle-acesso-veiculos GitHub Wiki

Observabilidade

Estado

Base técnica integrada em 31/08/2026 pela Issue #102 e PR #103. A API consegue exportar métricas e traces por OTLP quando configurada. Collector, armazenamento, painéis, alertas e resposta operacional ainda não existem.

OpenTelemetry foi adotado como padrão vendor-neutral. A exportação permanece desabilitada por padrão para que desenvolvimento, testes e containers não dependam de uma plataforma externa.

Sinais disponíveis

  • traces das requisições ASP.NET Core;
  • métricas HTTP do ASP.NET Core;
  • métricas do runtime .NET;
  • nome estável do serviço e versão do assembly;
  • exportação OTLP para um collector compatível.

/health, /health/live e /health/ready não geram traces. Os probes continuam funcionando normalmente e as métricas HTTP permanecem disponíveis.

Configuração

Quando existir um collector acessível:

OTEL_ENABLED=true
OTEL_SERVICE_NAME=controle-acesso-veiculos-api
OTEL_EXPORTER_OTLP_ENDPOINT=http://otel-collector:4317

O endpoint é obrigatório quando a exportação está ativa. URLs com credenciais, query string ou fragmento são rejeitadas. Headers de autenticação devem ser injetados pelo mecanismo de segredos do ambiente.

Limites de privacidade

  • logs não são exportados por esta integração;
  • corpos, tokens, headers de autorização e SQL não são instrumentados;
  • valores de query string permanecem redigidos;
  • a API rejeita o startup se alguém tentar desativar essa redação;
  • novos atributos ou instrumentação de banco exigem nova revisão de privacidade.

O que falta para homologação e produção

  • escolher e proteger o collector e o armazenamento;
  • definir TLS, autenticação, rede e rotação de credenciais;
  • confirmar retenção e acesso à telemetria;
  • criar painéis e alertas;
  • medir carga e calibrar sampling, cardinalidade e custo;
  • definir responsáveis e integrar alertas à resposta a incidentes;
  • testar a API com collector disponível e indisponível.

Os indicadores iniciais para homologação são readiness, proporção de HTTP 5xx, duração por rota normalizada, CPU, memória, GC e ausência de telemetria. Limites e SLOs só devem ser aprovados depois de medir o ambiente real.

O guia técnico versionado no repositório é a fonte revisável: Observabilidade da API.