Instrumentação .NET com Elven Observability
Guia completo para adicionar traces, métricas e logs às aplicações .NET modernas usando a distribuição OpenTelemetry da Elven.
Sumário
Visão geral
Componente
O que faz
Pré-requisitos
Protocolos suportados
Protocolo
Valor
Uso recomendado
Targets suportados
Target framework
Status
Caminho recomendado
Prioridade
Caminho
Quando usar
Quick Start - Docker zero-code (recomendado)
1. Adicione a camada Elven no Dockerfile
2. Configure por variáveis de ambiente
3. Gere tráfego e valide
Quick Start - Zero-code no processo
Linux/macOS
Windows PowerShell
Variáveis principais do profiler
Variável
Valor Linux comum
Pacotes NuGet (para uso programático)
Instalação básica
Verificar instalação
Pacotes disponíveis
Pacote
Quando usar
Quick Start - ASP.NET Core programático
1. Instale o pacote
2. Configure as variáveis de ambiente
3. Adicione a instrumentação no Program.cs
Program.cs4. Rode a aplicação
Quick Start - Worker Service programático
Quick Start - Console app
Configuração por variáveis de ambiente
Identidade do serviço
Variável
Descrição
Exemplo
Export OTLP
Variável
Descrição
Default
Autenticação e multi-tenancy
Variável
Mapeamento
Política de sinais sempre ligados
Variável
Valor correto
Sampling
Variável
Descrição
Exemplo
Debug
Variável
Descrição
Configuração via appsettings.json
Ordem de precedência
Deploy com Docker
Modo zero-code com camada Elven
Docker Compose zero-code
Modo programático
Guia por tipo de aplicação
ASP.NET Core Web API
Minimal APIs
MVC e Controllers
gRPC
Worker Service
Jobs curtos
Lambda e Azure Functions
Usando logs, traces e métricas manuais
Logs estruturados
Source-generated logging
Spans manuais
Eventos no span
Métricas customizadas
Baggage e propagação
Instrumentações automáticas
Traces
Área
Cobertura
Métricas
Área
Cobertura
Logs
Fonte
Cobertura
Mapeamento de erros
Caso
Categoria
Exemplo de endpoint com erro
Recursos e metadados
Atributo
Origem
Configuração avançada
Configuração programática completa
Opções principais
Opção
Default
Descrição
Headers HTTP
Header
Atributo
HTTP/protobuf
Redação de statements SQL
Native AOT e trimming
Recomendações para AOT
Ajustes comuns para AOT
Validação ponta a ponta
1. Crie um endpoint de teste
2. Gere tráfego
3. Gere uma exceção controlada
4. Valide no Grafana
5. Health check
Boas práticas
Nome de serviço
Cardinalidade
Logs
Segurança
Performance
Troubleshooting
Nenhum dado aparece no Grafana
Erro de autenticação
Erro de tenant
A aplicação falha no startup com exporter none
nonegRPC não conecta
Logs aparecem sem trace_id
Headers não aparecem nos spans
Statements SQL não aparecem
Health check unhealthy
Auto-instrumentation não carrega
FAQ
Preciso configurar logs, métricas e traces separadamente?
Posso desligar logs, métricas ou traces?
O protocolo padrão é qual?
Posso usar HTTP/protobuf?
O pacote substitui o OpenTelemetry SDK?
Funciona com .NET Framework 4.x?
Funciona com Native AOT?
Como envio dados de negócio?
Como correlacionar logs e traces?
Como configuro multi-tenancy?
Como configuro autenticação?
Qual imagem Docker devo usar para zero-code?
Como vejo se está funcionando?
Last updated
Was this helpful?

