Usando OpenTelemetry no .NET Aspire
O .NET Aspire ajuda a registrar o comportamento de um aplicativo nativo de nuvem, incluindo o suporte ao OpenTelemetry automaticamente quando você cria um projeto .NET Aspire.
Imagine que você trabalha para um varejista de equipamentos para atividades ao ar livre. Você decidiu que deseja registrar dados de telemetria. Agora você quer descobrir como o .NET Aspire ajuda com a telemetria.
Nesta unidade, você aprenderá sobre a integração entre o .NET Aspire e as APIs do OpenTelemetry.
.NET Aspire e OpenTelemetry
Um dos principais objetivos do projeto e da implementação do .NET Aspire é garantir que os aplicativos nativos de nuvem sejam fáceis de monitorar e solucionar problemas. O .NET Aspire simplifica a garantia de que o aplicativo completo seja observável e totalmente instrumentado usando as APIs do OpenTelemetry e configurando automaticamente as fontes de dados de telemetria sempre que você criar um aplicativo a partir dos modelos ou adicionar um aplicativo existente à orquestração do .NET Aspire.
Os componentes do .NET Aspire também têm suporte interno para telemetria.
O .NET Aspire fornece o painel do .NET Aspire quando você depura localmente. Essa interface da Web inclui ferramentas avançadas que exibem logs, métricas em formatos gráficos e rastreamentos em linhas do tempo.
Configuração do OpenTelemetry no .NET Aspire
O código que adiciona e configura o OpenTelemetry em uma solução do .NET Aspire está no projeto ServiceDefaults. No arquivo Extensions.cs você encontra:
- O método
ConfigureOpenTelemetry()
, que adiciona serviços de registro em log, métricas e rastreamento. - O método
AddOpenTelemetryExporters()
, que adiciona exportadores do Protocolo OpenTelemetry (OTLP). - O método
AddBuiltInMeters()
, que adiciona todas as métricas internas do .NET.
A menos que queira adicionar outros exportadores ou métricas, você pode deixar esse código como está.
Você deve estender esse código quando quiser:
- Adicionar outras fontes de métricas ou dados de rastreamento distribuídos, como métricas personalizadas.
- Adicionar exportadores para enviar dados de telemetria a um sistema de Gerenciamento de Desempenho de Aplicativos (APM), como o Application Insights ou o Grafana.
Exportação de telemetria
O OpenTelemetry pode exportar os dados que registra para diferentes ferramentas, para que você possa escolher aquela que dá suporte à análise de que precisa.
Os destinos comuns de exportação de telemetria incluem:
- O painel do Aspire. Você saberá mais sobre o painel mais adiante neste módulo.
- Outras ferramentas de Gerenciamento de Desempenho de Aplicativos (APM), como Prometheus e Grafana.
- Azure Application Insights. Esse recurso do Azure Monitor pode analisar e exibir dados de comportamento de várias fontes, tanto no Azure quanto em outras fontes, como aplicativos nativos de nuvem.