.NET, Node.js, Python 및 Java 애플리케이션에 대해 Azure Monitor OpenTelemetry 사용

이 문서에서는 Application Insights 내에서 OpenTelemetry 기반 데이터 수집을 사용하도록 설정하고 구성하는 방법을 설명합니다. Azure Monitor OpenTelemetry Distro:

  • Azure Monitor에 특정된 기능을 지원하는 OpenTelemetry 배포를 제공합니다.
  • 추적, 메트릭, 로그 및 예외를 수집하기 위한 OpenTelemetry 계측 라이브러리를 포함하여 자동 원격 분석을 사용하도록 설정합니다.
  • 사용자 지정 원격 분석 데이터를 수집할 수 있습니다.
  • 라이브 프로덕션 웹 애플리케이션에서 더 많은 원격 분석 데이터를 모니터링하고 수집하기 위해 Live Metrics를 지원합니다.

Azure Monitor OpenTelemetry Distro 사용의 이점에 대한 자세한 내용은 "Azure Monitor OpenTelemetry Distro"를 사용해야 하는 이유는 무엇인가요?를 참조하세요.

OpenTelemetry를 사용하여 데이터를 수집하는 방법에 대해 자세히 알아보려면 데이터 수집 기본 사항 또는 OpenTelemetry FAQ를 확인합니다.

OpenTelemetry 릴리스 상태

OpenTelemetry 제품은 .NET, Node.js, Python 및 Java 애플리케이션에 사용할 수 있습니다. 기능별 릴리스 상태에 대해서는 FAQ를 참조하세요.

Application Insights로 OpenTelemetry 사용

이 섹션의 단계에 따라 OpenTelemetry로 애플리케이션을 계측합니다. 언어별 지침을 보려면 탭을 선택합니다.

참고 항목

.NET은 클래식 ASP.NET, 콘솔 앱, Windows Forms(WinForms) 등 다양한 시나리오를 지원합니다.

필수 조건

Application Insights Classic API에서 마이그레이션하는 경우 마이그레이션 설명서를 참조하세요.

클라이언트 라이브러리 설치

최신 Azure.Monitor.OpenTelemetry.AspNetCore NuGet 패키지를 설치합니다.

dotnet add package Azure.Monitor.OpenTelemetry.AspNetCore 

애플리케이션 수정

Azure.Monitor.OpenTelemetry.AspNetCore 네임스페이스를 가져오고 OpenTelemetry를 추가한 다음 program.cs 클래스에서 Azure Monitor를 사용하도록 구성합니다.

// Import the Azure.Monitor.OpenTelemetry.AspNetCore namespace.
using Azure.Monitor.OpenTelemetry.AspNetCore;

var builder = WebApplication.CreateBuilder(args);

// Add OpenTelemetry and configure it to use Azure Monitor.
builder.Services.AddOpenTelemetry().UseAzureMonitor();

var app = builder.Build();

app.Run();

Application Insights 리소스에서 연결 문자열 복사

연결 문자열은 고유하며 Azure Monitor OpenTelemetry Distro가 수집한 원격 분석을 보내는 위치를 지정합니다.

아직 Application Insights 리소스가 없으면 이 가이드에 따라 리소스를 만듭니다. 기존 리소스를 사용하는 것보다 새 리소스를 만드는 것이 좋습니다.

연결 문자열을 복사하려면:

  1. Application Insights 리소스의 개요 창으로 이동합니다.
  2. 연결 문자열을 찾습니다.
  3. 연결 문자열을 마우스로 가리키고 클립보드에 복사 아이콘을 선택합니다.

Application Insights 개요 및 연결 문자열을 보여 주는 스크린샷.

사용자 환경에 연결 문자열 붙여넣기

연결 문자열을 붙여넣으려면 다음 옵션 중에서 선택합니다.

Important

로컬 개발 및 테스트 환경에서는 코드를 통해서만 연결 문자열을 설정하는 것이 좋습니다.

프로덕션의 경우 환경 변수나 구성 파일(Java만 해당)을 사용합니다.

  • 환경 변수를 통해 설정 - 권장

    다음 명령의 <Your connection string>을 연결 문자열로 바꿉니다.

    APPLICATIONINSIGHTS_CONNECTION_STRING=<Your connection string>
    
  • 구성 파일을 통해 설정 - Java 전용

    applicationinsights.json이라는 구성 파일을 만들고 다음 내용으로 applicationinsights-agent-3.6.0.jar과 동일한 디렉터리에 배치합니다.

    {
      "connectionString": "<Your connection string>"
    }
    

    이전 JSON의 <Your connection string>사용자의 고유 연결 문자열로 바꿉니다.

  • 코드를 통해 설정 - ASP.NET Core, Node.js 및 Python만

    코드를 통해 연결 문자열을 설정하는 예는 연결 문자열 구성을 참조하세요.

참고 항목

여러 곳에 연결 문자열을 설정하는 경우 환경 변수는 다음 순서에 따라 우선 순위가 지정됩니다.

  1. 코드
  2. 환경 변수
  3. 구성 파일

데이터가 흐르는지 확인

애플리케이션을 실행한 다음 Azure Portal에서 Application Insights를 엽니다. 데이터가 표시되려면 몇 분이 걸릴 수 있습니다.

서버 요청 및 서버 응답 시간이 강조 표시된 Application Insights 개요 탭의 스크린샷.

이제 애플리케이션에 Application Insights를 사용할 수 있습니다. 다음 단계는 선택 사항이며 추가 사용자 지정이 가능합니다.

Important

동일한 Application Insights 리소스에 원격 분석을 내보내는 서비스가 두 개 이상 있는 경우 Application Map에서 적절하게 나타내도록 Cloud 역할 이름을 설정해야 합니다.

Application Insights 계측 사용의 일환으로 진단 데이터를 수집하여 Microsoft에 보냅니다. 이 데이터는 Application Insights를 실행하고 개선하는 데 도움이 됩니다. 자세한 내용은 Azure Application Insights의 Statsbeat를 참조하세요.

샘플 애플리케이션

Azure Monitor OpenTelemetry 샘플 애플리케이션은 지원되는 모든 언어에 사용할 수 있습니다.

다음 단계