Application Insights 소개 - OpenTelemetry 가시성

Azure Monitor Application Insights는 Azure Monitor의 APM(애플리케이션 성능 모니터링) 기능입니다. 지원되는 시나리오의 경우 공급업체 중립적인 관찰 프레임워크인 OTel(OpenTelemetry)을 사용하여 애플리케이션을 계측하고 원격 분석 데이터를 수집한 다음 Application Insights에서 해당 원격 분석을 분석할 수 있습니다.

Azure Monitor Application Insights 사용자 인터페이스의 스크린샷으로, 애플리케이션 맵을 표시하고 있습니다

Application Insights 환경

Application Insights는 OTel(OpenTelemetry)을 지원하여 플랫폼 간에 표준화된 형식으로 원격 분석 데이터를 수집합니다. Azure 서비스와 통합하면 효율적인 모니터링 및 진단을 통해 애플리케이션 관찰 가능성 및 성능을 향상시킬 수 있습니다.

조사

이러한 도구를 사용하여 문제를 진단하고 애플리케이션의 런타임 동작을 이해합니다.

  • 애플리케이션 대시보드: 애플리케이션의 상태 및 성능에 대한 요약 평가입니다.
  • 애플리케이션 맵: 애플리케이션 아키텍처 및 구성 요소의 상호 작용에 대한 시각적 개요입니다.
  • 라이브 메트릭: 애플리케이션 활동 및 성능에 대한 인사이트를 위한 실시간 분석 대시보드입니다.
  • 검색 보기: 트랜잭션을 추적 및 진단하여 문제를 식별하고 성능을 최적화합니다.
  • 가용성 보기: 애플리케이션 엔드포인트의 가용성 및 응답성을 사전에 모니터링하고 테스트합니다.
  • 오류 보기: 애플리케이션에서 오류를 식별하고 분석하여 가동 중지 시간을 최소화합니다.
  • 성능 보기: 애플리케이션 성능 메트릭 및 잠재적인 병목 상태를 검토합니다.
  • 에이전트 세부 정보: Microsoft Foundry, Copilot Studio 및 타사 에이전트에서 AI 에이전트를 모니터링하기 위한 통합 보기입니다.

모니터링

이러한 도구를 사용하여 애플리케이션의 상태를 지속적으로 추적하고 사전 알림을 설정합니다.

  • 경고: 애플리케이션의 다양한 측면을 모니터링하고 다양한 작업을 트리거합니다.
  • 메트릭: 메트릭 데이터를 자세히 분석하여 사용 패턴 및 추세를 이해합니다.
  • 진단 설정: 플랫폼 로그 및 메트릭의 스트리밍 내보내기를 당신이 선택한 목적지로 설정해보세요.
  • Logs: Azure 모니터링 로그에 수집된 모든 데이터를 검색, 통합 및 분석합니다.
  • 통합 문서: 애플리케이션 모니터링 데이터를 시각화하는 대화형 보고서 및 대시보드를 만듭니다.
  • Grafana를 사용한 대시보드: Azure 포털에서 직접 Application Insights 데이터에 대한 Grafana 대시보드를 만들고, 사용자 지정하고, 공유합니다.
  • SDK 통계: Application Insights SDK 및 에이전트에서 내보내기 성공, 삭제된 수, 재시도 횟수 및 삭제 이유를 시각화합니다.

사용

이러한 도구를 사용하여 사용자가 애플리케이션과 상호 작용하는 방법을 이해합니다.

  • 사용자, 세션 및 이벤트: 사용자가 웹앱과 상호 작용하는 시기, 위치 및 방법을 결정합니다.
  • 깔때기: 전환율을 분석하여 사용자가 깔때기에서 들어가고 나오는 위치를 식별합니다.
  • 흐름: 사이트의 사용자 경로를 시각화하여 높은 참여 영역 및 종료 지점을 식별합니다.
  • 코호트: 사용자를 공유 특성별로 그룹화하여 추세 식별, 세분화 및 성능 문제 해결을 간소화합니다.

코드 분석

이러한 도구를 사용하여 애플리케이션 코드를 프로파일 및 디버그합니다.

  • .NET Profiler: 애플리케이션에 대한 성능 추적을 캡처, 식별 및 확인합니다.
  • 코드 최적화: AI를 활용하여 더 유용하고 효율적인 애플리케이션을 만듭니다.
  • 스냅샷 디버거: 예외가 발생할 때 .NET 애플리케이션의 디버그 스냅샷을 자동으로 수집합니다.

논리 모델

논리 모델 다이어그램은 Application Insights의 구성 요소와 상호 작용하는 방법을 시각화합니다.

Application Insights 서비스의 계층을 통해 흐르는 데이터의 경로를 보여 주는 다이어그램.

참고

데이터가 수집 엔드포인트에 도달하려면 방화벽 설정을 조정해야 합니다. 자세한 내용은 Azure Monitor 엔드포인트 액세스 및 방화벽 구성 참조하세요.

시작하기

이 섹션에서는 Azure Monitor Application Insights에서 OpenTelemetry 기반 데이터 수집 시작에 대해 설명합니다.

진입점은 다음과 같습니다.

  • 서버 쪽 웹앱
  • VM(Virtual Machine)에서 호스트되는 서버 쪽 웹앱
  • 클라이언트 쪽 JavaScript 앱
  • Azure Functions
  • AI 에이전트

팁 (조언)

  • 대부분의 코드 기반 서버 쪽 시나리오에서 권장되는 설정은 Azure Monitor OpenTelemetry Distro를 사용합니다.
  • OpenTelemetry를 사용할 수 없는 시나리오는 명확하게 식별됩니다.

워크로드 또는 호스팅 모델과 가장 일치하는 탭을 선택합니다. 각 탭에는 해당 시나리오에 권장되는 데이터 수집 경로가 표시됩니다.

데이터 수집 설정

코드에서 계측하는 서버 쪽 웹앱에 이 경로를 사용합니다.

  1. Application Insights 리소스를 생성합니다.
  2. 리소스의 연결 문자열 가져옵니다.
  3. Azure Monitor OpenTelemetry Distro 앱에 추가합니다.
  4. 연결 문자열을 구성합니다.

팁 (조언)

일부 플랫폼은 자동 계측을 통해 자동으로 데이터 수집을 사용하도록 설정합니다. 더 많은 구성 및 확장성 옵션을 원하는 경우 Azure Monitor OpenTelemetry Distro를 사용하여 코드 기반 계측으로 전환합니다.

시나리오에 대한 설정을 완료한 후 앱을 실행하고 Application Insights에 원격 분석이 나타날 때까지 몇 분 정도 기다립니다. 그런 다음 Application Insights 환경을 탐색합니다.

중요합니다

이전 Application Insights SDK에서 마이그레이션하는 경우 Azure Monitor OpenTelemetry로 마이그레이션을 참조하십시오.

Azure의 다른 OpenTelemetry 통합

Azure Monitor Application Insights는 OpenTelemetry를 사용하는 다른 Azure 서비스와 통합됩니다. Azure 서비스, SDK(소프트웨어 개발 키트) 및 OpenTelemetry를 사용하는 도구에 다음 리소스를 사용합니다.

Integration Description
Azure SDK 의미 체계 규칙 모든 Azure SDK 사용되는 OpenTelemetry 특성 명명 규칙입니다.
Azure SDK의 Java 추적 Java 클라이언트에 대한 Azure SDK 대한 분산 추적 지원.
Azure Cosmos DB SDK 관찰 가능성 Azure Cosmos DB SDK에서 내보낸 OpenTelemetry 추적 및 메트릭입니다.
.NET에서 OpenTelemetry를 활용한 관찰 가능성 .NET 애플리케이션에 대한 OpenTelemetry 계측 지침입니다.
에지 및 멀티클라우드용 Azure Monitor 파이프라인 에지 및 멀티클라우드 환경에서 OpenTelemetry 데이터를 수집하여 Azure Monitor로 전달합니다.
Azure Data Explorer로의 OpenTelemetry 수집 OpenTelemetry 데이터를 Azure Data Explorer, Synapse Data Explorer 및 Real-Time Intelligence로 수집합니다.
Azure Container Apps OpenTelemetry 에이전트 Azure Container Apps용 기본 제공 OpenTelemetry 에이전트입니다.
Aspire 대시보드 .NET Aspire 앱에서 OpenTelemetry 추적 및 메트릭을 보기 위한 로컬 개발 대시보드입니다.

문제 해결

Application Insights 문제 해결에 대한 지원은 전용 문제 해결 설명서를 참조하세요.

도움말 및 지원 

Azure 기술 지원

Azure 지원 문제의 경우 Azure 지원 티켓 엽니다.

일반적인 질문

Microsoft 질문 및 답변 포럼에 일반 질문을 게시합니다.

코딩 질문

태그를 사용하여 코딩 질문을 azure-application-insights에 게시합니다.

피드백 커뮤니티

피드백 커뮤니티에서 엔지니어링 팀에 대한 제품 피드백을 남깁니다.