.NET Aspire에서 OpenTelemetry 사용

완료됨

.NET Aspire를 통해 .NET Aspire 프로젝트를 만들 때 OpenTelemetry 지원을 자동으로 포함하여 클라우드 네이티브 앱의 동작을 기록할 수 있습니다.

아웃도어 장비 소매업체에서 일한다고 상상해 보세요. 원격 분석 데이터를 기록하기로 결정했습니다. 이제 .NET Aspire가 원격 분석에 어떻게 도움이 되는지 알아보려고 합니다.

이 단원에서는 .NET Aspire와 OpenTelemetry API 간의 통합에 대해 알아봅니다.

.NET Aspire 및 OpenTelemetry

.NET Aspire의 디자인 및 구현의 주요 목표는 클라우드 네이티브 앱에서 쉽게 모니터링하고 문제를 해결할 수 있도록 하는 것입니다. 템플릿에서 새 앱을 만들거나 .NET Aspire 오케스트레이션에 기존 앱을 추가할 때마다 OpenTelemetry API를 사용하고 원격 측정 데이터의 원본을 자동으로 설정하여 전체 앱을 관찰하고 완전히 계측할 수 있도록 .NET Aspire에서 간소화합니다.

.NET Aspire 통합에는 원격 분석에 대한 기본 제공 지원도 있습니다.

.NET Aspire는 로컬로 디버그할 때 .NET Aspire 대시보드를 제공합니다. 이 웹 인터페이스에는 로그, 그래픽 형식의 메트릭 및 타임라인의 추적을 표시하는 다양한 도구가 포함되어 있습니다.

.NET Aspire 대시보드의 추적 페이지를 보여 주는 스크린샷.

.NET Aspire의 OpenTelemetry 구성

.NET Aspire 솔루션에서 OpenTelemetry를 추가하고 구성하는 코드는 ServiceDefaults 프로젝트에 있습니다. Extensions.cs 파일에서 다음을 찾습니다.

  • 로깅, 메트릭 및 추적 서비스를 추가하는 ConfigureOpenTelemetry() 메서드.
  • OTLP(OpenTelemetry Protocol) 내보내기를 추가하는 AddOpenTelemetryExporters() 메서드.
  • .NET에 기본 제공되는 모든 메트릭을 추가하는 AddBuiltInMeters() 메서드.

다른 내보내기 또는 메트릭을 추가하지 않으려면 이 코드를 그대로 둘 수 있습니다.

다음을 수행하려면 이 코드를 확장해야 합니다.

  • 메트릭 또는 분산 추적 데이터의 추가 원본(예: 사용자 지정 메트릭)을 추가합니다.
  • Application Insights 또는 Grafana와 같은 APM(애플리케이션 성능 관리) 시스템에 원격 분석 데이터를 보내는 내보내기를 추가합니다.

원격 분석 내보내기

OpenTelemetry는 기록하는 데이터를 다양한 도구로 내보낼 수 있으므로 필요한 분석을 지원하는 데이터를 선택할 수 있습니다.

일반적인 원격 분석 내보내기 대상은 다음과 같습니다.

  • Aspire 대시보드. 이 모듈의 뒷부분에서 대시보드에 대해 자세히 알아봅니다.
  • Prometheus 및 Grafana와 같은 다른 APM(애플리케이션 성능 관리) 도구.
  • Azure Application Insights. Azure Monitor의 이 기능은 Azure 내 및 클라우드 네이티브 앱과 같은 다른 원본의 많은 원본에서 동작 데이터를 분석하고 표시할 수 있습니다.

자세한 정보