다음을 통해 공유


예: Azure Monitor 및 Application Insights에서 OpenTelemetry 사용

선택할 수 있는 많은 상용 APM(애플리케이션 성능 관리) 시스템이 있습니다. Azure에서 기본 애플리케이션 모니터링 제품은 Azure Monitor의 일부인 Application Insights입니다. 통합 APM 제품의 장점 중 하나는 다양한 가시성 데이터 원본의 상관 관계를 지정할 수 있다는 것입니다. Application Insights에는 다양한 보기 및 분석 기능이 있습니다.

1. Application Insights 배포판 추가

Azure Monitor를 사용하여 ASP.NET 환경을 더 쉽게 만들기 위해 OpenTelemetry를 구성하는 대부분의 작업을 수행하는 래퍼 패키지(OTel parlance의 Distro라고 함)가 제공됩니다.

이 예제는 OTLP 연습을 기반으로 합니다. 1-5단계에 따라 OTLP 내보내기를 사용하여 애플리케이션 코드를 만듭니다. 이 예제에서는 Application Insights로 데이터를 보내도록 코드를 확장합니다.

5단계에서 동일한 프로젝트를 수행하고 다음 NuGet 패키지를 추가합니다.

<ItemGroup>
  <PackageReference Include="Azure.Monitor.OpenTelemetry.AspNetCore" Version="1.3.0-beta.1" />
</ItemGroup>

참고 항목

버전을 사용 가능한 최신 버전으로 바꾸기

2. 내보내기 설정

다음 OTel 초기화 코드를 다음 앞에 builder.Build();추가합니다.

if (!string.IsNullOrEmpty(builder.Configuration["APPLICATIONINSIGHTS_CONNECTION_STRING"]))
{
    otel.UseAzureMonitor();
}

UseAzureMonitor()는 Application Insights에 대한 공통 계측 라이브러리와 내보내기를 추가하는 매직입니다. 사용자 지정 MeterActivitySource 이름을 등록에 추가하기만 하면 됩니다.

Application Insights와 동일한 OTel 초기화가 OTLP에 대해 작동합니다. 차이점은 선택한 내보내기입니다. 동일한 애플리케이션에서 둘 다 사용하고 적절한 환경 변수를 정의하여 둘 중에서 선택할 수 있습니다.

3. 연결 문자열 지정

아직 Azure 고객이 아닌 경우 https://azure.microsoft.com/free/에서 체험 계정을 만들 수 있습니다. Azure Portal에 로그인하고 기존 Application Insights 리소스를 선택하거나 https://ms.portal.azure.com/#create/Microsoft.AppInsights를 사용하여 새 리소스를 만듭니다.

Application Insights는 포털 UI의 오른쪽 위에 있는 계측 키 및 연결 문자열을 통해 데이터를 저장하고 처리하는 데 사용할 인스턴스를 식별합니다.

Azure Portal의 연결 문자열

Azure App Service를 사용하는 경우 이 연결 문자열은 환경 변수로 애플리케이션에 자동으로 전달됩니다. 다른 서비스의 경우 또는 로컬로 실행할 때 환경 변수를 사용 APPLICATIONINSIGHTS_CONNECTION_STRING 하거나 appsettings.json 전달해야 합니다. 로컬로 실행하려면 appsettings.development.json 값을 추가하는 것이 가장 쉽습니다.

"AzureMonitor": {
    "ConnectionString": "InstrumentationKey=12345678-abcd-abcd-abcd-12345678..."
}

참고 항목

값을 인스턴스의 값으로 바꿉니다.

4. Application Insights에서 앱 검사

애플리케이션을 실행하면 원격 분석이 Application Insights로 전송됩니다. 이제 애플리케이션에 대한 로그, 메트릭, 분산 추적을 가져와야 합니다. Azure Portal에서 Application Insights 리소스를 엽니다.

로그

App Insights 로그 보기

메트릭

App Insights 메트릭 보기

분산 추적

App Insights 트랜잭션 뷰