.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) 등 다양한 시나리오를 지원합니다.
필수 조건
- Azure 구독: 체험용 Azure 구독 만들기
- Application Insights 리소스: Application Insights 리소스 만들기
- 공식적으로 지원되는 .NET 버전을 사용하는 ASP.NET Core 애플리케이션
팁
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 리소스가 없으면 이 가이드에 따라 리소스를 만듭니다. 기존 리소스를 사용하는 것보다 새 리소스를 만드는 것이 좋습니다.
연결 문자열을 복사하려면:
- Application Insights 리소스의 개요 창으로 이동합니다.
- 연결 문자열을 찾습니다.
- 연결 문자열을 마우스로 가리키고 클립보드에 복사 아이콘을 선택합니다.
사용자 환경에 연결 문자열 붙여넣기
연결 문자열을 붙여넣으려면 다음 옵션 중에서 선택합니다.
Important
로컬 개발 및 테스트 환경에서는 코드를 통해서만 연결 문자열을 설정하는 것이 좋습니다.
프로덕션의 경우 환경 변수나 구성 파일(Java만 해당)을 사용합니다.
환경 변수를 통해 설정 - 권장
다음 명령의
<Your connection string>
을 연결 문자열로 바꿉니다.APPLICATIONINSIGHTS_CONNECTION_STRING=<Your connection string>
구성 파일을 통해 설정 - Java 전용
applicationinsights.json
이라는 구성 파일을 만들고 다음 내용으로applicationinsights-agent-3.6.2.jar
과 동일한 디렉터리에 배치합니다.{ "connectionString": "<Your connection string>" }
이전 JSON의
<Your connection string>
을 사용자의 고유 연결 문자열로 바꿉니다.코드를 통해 설정 - ASP.NET Core, Node.js 및 Python만
코드를 통해 연결 문자열을 설정하는 예는 연결 문자열 구성을 참조하세요.
참고 항목
여러 곳에 연결 문자열을 설정하는 경우 환경 변수는 다음 순서에 따라 우선 순위가 지정됩니다.
- 코드
- 환경 변수
- 구성 파일
데이터가 흐르는지 확인
애플리케이션을 실행한 다음 Azure Portal에서 Application Insights를 엽니다. 데이터가 표시되려면 몇 분이 걸릴 수 있습니다.
이제 애플리케이션에 Application Insights를 사용할 수 있습니다. 다음 단계는 선택 사항이며 추가 사용자 지정이 가능합니다.
Important
동일한 Application Insights 리소스에 원격 분석을 내보내는 서비스가 두 개 이상 있는 경우 Application Map에서 적절하게 나타내도록 Cloud 역할 이름을 설정해야 합니다.
Application Insights 계측 사용의 일환으로 진단 데이터를 수집하여 Microsoft에 보냅니다. 이 데이터는 Application Insights를 실행하고 개선하는 데 도움이 됩니다. 자세한 내용은 Azure Application Insights의 Statsbeat를 참조하세요.
샘플 애플리케이션
Azure Monitor OpenTelemetry 샘플 애플리케이션은 지원되는 모든 언어에 사용할 수 있습니다.
다음 단계
- Azure Monitor OpenTelemetry 추가 및 수정에 대한 자세한 내용은 Azure Monitor OpenTelemetry 추가 및 수정을 참조하세요.
- OpenTelemetry Distro를 추가로 구성하려면 Azure Monitor OpenTelemetry 구성을 참조하세요.
- 소스 코드를 검토하려면 Azure Monitor AspNetCore GitHub 리포지토리를 참조하세요.
- NuGet 패키지를 설치하거나 업데이트를 확인하거나 릴리스 정보를 보려면 Azure Monitor AspNetCore NuGet 패키지 페이지를 참조하세요.
- Azure Monitor 및 OpenTelemetry에 더 익숙해지려면 Azure Monitor 예제 애플리케이션을 참조하세요.
- OpenTelemetry 및 해당 커뮤니티에 대해 자세히 알아보려면 OpenTelemetry .NET GitHub 리포지토리를 참조하세요.
- 사용 환경을 사용하도록 설정하려면 웹 또는 브라우저 사용자 모니터링을 사용하도록 설정합니다.
- 자주 묻는 질문, 문제 해결 단계, 지원 옵션을 검토하거나 OpenTelemetry 피드백을 제공하려면 Azure Monitor Application Insights에 대한 OpenTelemetry 도움말, 지원 및 피드백을 참조 하세요.