telemetria .NET.NET Aspire
Um dos principais objetivos do .NET.NET Aspire é garantir que os aplicativos sejam simples de depurar e diagnosticar. .NET .NET Aspire integrações configuram automaticamente configurações de Log, Rastreamento e Métricas, que às vezes são conhecidas como os pilares da observabilidade, usando o SDK .NETOpenTelemetry.
Log: os eventos de log descrevem o que está acontecendo durante a execução de um aplicativo. Um conjunto de linhas de base está habilitado para integrações de .NET.NET Aspire por padrão e o registro em log mais extenso pode ser habilitado sob demanda para diagnosticar problemas específicos.
rastreamento: Rastros correlacionam eventos de log que fazem parte da mesma atividade lógica (por exemplo, o tratamento de uma única solicitação), mesmo que se espalhem por vários computadores ou processos.
Métricas: as métricas expõem as características de desempenho e integridade de um aplicativo como valores numéricos simples. Como resultado, eles têm uma sobrecarga de desempenho baixa, e muitos serviços os configuram como telemetria permanente. Isso também os torna adequados para disparar alertas quando possíveis problemas são detectados.
Juntos, esses tipos de telemetria permitem que você obtenha insights sobre o comportamento e o desempenho do aplicativo usando várias ferramentas de monitoramento e análise. Dependendo do serviço de backup, algumas integrações só podem dar suporte a alguns desses recursos.
integração .NET AspireOpenTelemetry
O do SDK
Por padrão, o método ConfigureOpenTelemetry
habilita o registro em log, rastreamento e métricas para o aplicativo. Ele também adiciona exportadores para esses pontos de dados para que possam ser coletados por outras ferramentas de monitoramento.
Exportar dados de OpenTelemetry para monitoramento
O SDK do .NETOpenTelemetry facilita a exportação desses dados de telemetria para um armazenamento de dados ou ferramenta de relatório. O mecanismo de exportação de telemetria depende do protocolo OpenTelemetry (OTLP), que serve como uma abordagem padronizada para transmitir dados de telemetria por meio de REST ou gRPC. O método ConfigureOpenTelemetry
também registra exportadores para fornecer seus dados de telemetria para outras ferramentas de monitoramento, como Prometheus ou Azure Monitor. Para obter mais informações, consulte a configuração
OpenTelemetry variáveis de ambiente
OpenTelemetry tem uma lista de variáveis de ambiente conhecidas que configuram o comportamento mais importante para coletar e exportar telemetria. OpenTelemetry SDKs, incluindo o SDK do .NET, dão suporte à leitura dessas variáveis.
.NET Aspire projetos são iniciados com variáveis de ambiente que configuram o nome e a ID do aplicativo na telemetria exportada e definem o ponto de extremidade de endereço do server OTLP para exportar dados. Por exemplo:
-
OTEL_SERVICE_NAME
= myfrontend -
OTEL_RESOURCE_ATTRIBUTES
= service.instance.id=1a5f9c1e-e5ba-451b-95ee-ced1ee89c168 OTEL_EXPORTER_OTLP_ENDPOINT
=http://localhost:4318
As variáveis de ambiente são definidas automaticamente no desenvolvimento local.
.NET .NET Aspire desenvolvimento local
Quando você cria um projeto .NET Aspire, o painel .NET Aspire fornece uma interface do usuário para exibir a telemetria do aplicativo por padrão. Os dados de telemetria são enviados para o painel usando OTLP e o painel implementa um server OTLP para receber dados de telemetria e armazená-los na memória. O fluxo de trabalho de depuração dos .NETe.NET Aspire é o seguinte:
- O desenvolvedor inicia o projeto .NET.NET Aspire iniciando a depuração, pressiona F5.
- .NET .NET Aspire início do painel e do DCP (painel de controle do desenvolvedor).
- A configuração do aplicativo é executada no projeto AppHost
. - OpenTelemetry variáveis de ambiente são adicionadas automaticamente a projetos .NET durante a configuração do aplicativo.
- O DCP fornece o nome (
OTEL_SERVICE_NAME
) e a ID (OTEL_RESOURCE_ATTRIBUTES
) do aplicativo na telemetria exportada. - O endpoint OTLP é uma porta HTTP/2 gerenciada pelo painel. Esse ponto de extremidade é definido na variável de ambiente
OTEL_EXPORTER_OTLP_ENDPOINT
em cada projeto. Isso instrui os projetos a exportar a telemetria novamente para o painel. - Pequenos intervalos de exportação (
OTEL_BSP_SCHEDULE_DELAY
,OTEL_BLRP_SCHEDULE_DELAY
,OTEL_METRIC_EXPORT_INTERVAL
) para que os dados fiquem rapidamente disponíveis no painel. Valores pequenos são usados no desenvolvimento local para priorizar a capacidade de resposta do painel em relação à eficiência.
- O DCP inicia projetos, contêineres e executáveis configurados.
- Uma vez iniciados, os aplicativos enviam telemetria para o painel.
- O painel exibe telemetria quase em tempo real de todos os projetos .NET.NET Aspire.
Todas essas etapas ocorrem internamente, portanto, na maioria dos casos, o desenvolvedor simplesmente precisa executar o aplicativo para ver esse processo em ação.
implantação de .NET.NET Aspire
.NET Aspire ambientes de implantação devem configurar OpenTelemetry variáveis de ambiente que fazem sentido para seu ambiente. Por exemplo, OTEL_EXPORTER_OTLP_ENDPOINT
deve ser configurado para o coletor OTLP local do ambiente ou para um serviço de monitoramento.
A telemetria .NET.NET Aspire funciona melhor em ambientes que dão suporte a OTLP. A exportação de OTLP será desabilitada se OTEL_EXPORTER_OTLP_ENDPOINT
não estiver configurado.
Para obter mais informações, consulte as implantações .NET.NET Aspire.