Application Insights 개요
Azure Monitor의 기능인 Azure Monitor Application Insights는 라이브 웹 애플리케이션에 대한 APM(애플리케이션 성능 모니터링)에서 탁월합니다.
환경
Application Insights는 애플리케이션의 성능, 안정성 및 품질을 향상시키는 많은 환경을 제공합니다.
조사
- 애플리케이션 대시보드: 애플리케이션의 상태 및 성능에 대한 요약 평가입니다.
- 애플리케이션 맵: 애플리케이션 아키텍처 및 구성 요소의 상호 작용에 대한 시각적 개요입니다.
- 라이브 메트릭: 애플리케이션 활동 및 성능에 대한 인사이트를 위한 실시간 분석 대시보드입니다.
- 트랜잭션 검색: 트랜잭션을 추적 및 진단하여 문제를 식별하고 성능을 최적화합니다.
- 가용성 보기: 애플리케이션 엔드포인트의 가용성 및 응답성을 사전에 모니터링하고 테스트합니다.
- 오류 보기: 애플리케이션에서 오류를 식별하고 분석하여 가동 중지 시간을 최소화합니다.
- 성능 보기: 애플리케이션 성능 메트릭 및 잠재적인 병목 상태를 검토합니다.
모니터링
- 경고: 애플리케이션의 다양한 측면을 모니터링하고 다양한 작업을 트리거합니다.
- 메트릭: 메트릭 데이터를 자세히 분석하여 사용 패턴 및 추세를 이해합니다.
- 진단 설정: 선택한 대상으로 리소스에 대한 플랫폼 로그 및 메트릭의 스트리밍 내보내기를 구성합니다.
- 로그: Azure 모니터링 로그에 수집된 모든 데이터를 검색, 통합 및 분석합니다.
- 통합 문서: 애플리케이션 모니터링 데이터를 시각화하는 대화형 보고서 및 대시보드를 만듭니다.
사용
- 사용자, 세션 및 이벤트: 사용자가 웹앱과 상호 작용하는 시기, 위치 및 방법을 결정합니다.
- 깔때기: 전환율을 분석하여 사용자가 깔때기에서 들어가고 나오는 위치를 식별합니다.
- 흐름: 사이트의 사용자 경로를 시각화하여 높은 참여 영역 및 종료 지점을 식별합니다.
- 코호트: 사용자를 공유 특성별로 그룹화하여 추세 식별, 세분화 및 성능 문제 해결을 간소화합니다.
코드 분석
- .NET Profiler: 애플리케이션에 대한 성능 추적을 캡처, 식별 및 확인합니다.
- 코드 최적화: AI를 활용하여 더 유용하고 효율적인 애플리케이션을 만듭니다.
- 스냅샷 디버거: .NET 애플리케이션에서 예외가 발생할 때 자동으로 디버그 스냅샷을 수집합니다.
논리 모델
논리 모델 다이어그램은 Application Insights의 구성 요소와 상호 작용하는 방법을 시각화합니다.
참고 항목
데이터가 수집 엔드포인트에 도달하려면 방화벽 설정을 조정해야 합니다. 자세한 내용은 Azure Monitor에서 사용하는 IP 주소를 참조하세요.
지원되는 언어
이 섹션에서는 지원되는 시나리오를 간략하게 설명합니다.
Application Insights를 사용하도록 애플리케이션을 계측하는 방법에 대한 자세한 내용은 데이터 수집 기본 사항을 참조 하세요.
자동 계측(코드 변경 없이 사용)
수동 계측
Opencensus 배포판
클라이언트 쪽 JavaScript SDK
Application Insights SDK(클래식 API)
지원되는 플랫폼 및 프레임워크
이 섹션에서는 지원되는 모든 플랫폼 및 프레임워크를 나열합니다.
Azure 서비스 통합(포털 사용, Azure Resource Manager 배포)
- Azure Virtual Machines 및 Azure Virtual Machine Scale Sets
- Azure App Service
- Azure Functions
- Azure Spring Apps
- 웹 역할과 작업자 역할을 모두 포함하는 Azure Cloud Services
로깅 프레임워크
ILogger
- Log4Net, NLog 또는 System.Diagnostics.Trace
Log4J
, Logback 또는 java.util.logging- LogStash 플러그 인
- Azure Monitor
내보내기 및 데이터 분석
지원되지 않는 SDK(소프트웨어 개발 키트)
커뮤니티에서 지원하는 많은 Application Insights SDK가 있지만 Microsoft는 이 문서에 나열된 계측 옵션만 지원합니다.
자주 묻는 질문
이 섹션에서는 일반적인 질문에 대한 답변을 제공합니다.
애플리케이션을 어떻게 계측할까요?
애플리케이션을 계측하여 Application Insights를 사용하도록 설정하는 방법에 대한 자세한 내용은 데이터 수집 기본 사항을 참조하세요.
Application Insights를 어떻게 사용하나요?
애플리케이션을 계측하여 Application Insights를 사용하도록 설정한 후 먼저 라이브 메트릭 및 애플리케이션 맵을 확인하는 것이 좋습니다.
Application Insights에서는 어떤 원격 분석을 수집하나요?
서버 웹앱:
- HTTP 요청
- 종속성. SQL 데이터베이스 호출, 외부 서비스, Azure Cosmos DB, Azure Table Storage, Azure Blob Storage 및 Azure Queue Storage에 대한 HTTP 호출
- 예외 및 스택 추적.
- 성능 카운터: 다음을 사용할 때 성능 카운터를 사용할 수 있습니다.
- 코딩하는 사용자 지정 이벤트 및 메트릭.
- 적절한 수집기를 구성한 경우 추적 로그.
다음에 대한 정보를 포함하여 앱의 catch되지 않은 예외
- 스택 추적
- 오류 세부 정보 및 동반 메시지
- 오류 줄 및 열 번호
- 오류가 발생한 URL
- 다음에 대한 정보를 포함하여 앱 XHR(XML Http Request) 및 페치(페치 수집은 기본적으로 사용 안 함) 요청에 의한 네트워크 종속성 요청
- 종속성 원본의 URL
- 종속성을 요청하는 데 사용된 명령 및 메서드
- 요청 지속 시간
- 요청의 결과 코드 및 성공 상태
- 요청을 수행하는 사용자의 ID(있는 경우)
- 요청이 수행된 상관 관계 컨텍스트(있는 경우)
사용자 정보(예: 위치, 네트워크, IP)
디바이스 정보(예: 브라우저, OS, 버전, 언어, 모델)
세션 정보
참고 항목
SPA(단일 페이지 애플리케이션)와 같은 일부 애플리케이션의 경우 기간이 기록되지 않을 수 있으며 기본값은 0입니다.
자세한 내용은 Application Insights의 데이터 수집, 보존 및 스토리지를 참조하세요.
다른 원본(구성한 경우):
얼마나 많은 Application Insights 리소스를 배포해야 하나요?
환경 전체에서 애플리케이션 또는 구성 요소를 다루는 데 필요한 Application Insights 리소스 수를 이해하려면 Application Insights 배포 계획 가이드를 참조하세요.
PowerShell을 사용하여 Application Insights 리소스를 관리하려면 어떻게 해야 하나요?
Azure Resource Monitor를 사용하여 PowerShell 스크립트를 작성함으로써 다음을 수행할 수 있습니다.
- Application Insights 리소스를 만들고 업데이트합니다.
- 가격 책정 계획을 설정합니다.
- 계측 키를 가져옵니다.
- 메트릭 경고를 추가합니다.
- 가용성 테스트를 추가합니다.
메트릭 탐색기 보고서를 설정하거나 연속 내보내기를 설정할 수는 없습니다.
Application Insights 원격 분석을 쿼리하려면 어떻게 해야 하나요?
REST API를 사용하여 Log Analytics 쿼리를 실행합니다.
Application Insights 포털에 원격 분석을 보낼 수 있나요?
Azure Monitor OpenTelemetry Distro를 사용하는 것이 좋습니다.
수집 스키마 및 엔드포인트 프로토콜은 공개적으로 사용 가능합니다.
원격 분석을 수집하려면 시간이 얼마나 걸리나요?
대부분의 Application Insights 데이터에는 5분 이하의 대기 시간이 포함됩니다. 일부 데이터는 더 오래 걸릴 수 있으며, 더 큰 로그 파일에서 이러한 현상이 나타납니다. Application Insights 서비스 수준 계약을 참조하세요.
Application Insights는 데이터 수집, 보존, 스토리지 및 개인 정보를 어떻게 처리하나요?
컬렉션
Application Insights는 웹 서버 원격 분석, 웹 페이지 원격 분석 및 성능 카운터를 포함하여 앱에 대한 원격 분석을 수집합니다. 이 데이터를 사용하여 앱의 성능, 상태 및 사용량을 모니터링할 수 있습니다. 새 Application Insights 리소스를 만들 때 위치를 선택할 수 있습니다.
보존 및 스토리지
데이터는 Application Insights Log Analytics 작업 영역으로 전송됩니다. 원시 데이터의 보존 기간을 30일~730일 중에서 선택할 수 있습니다. 집계된 데이터는 90일 동안 보존되고 디버그 스냅샷은 15일 동안 보존됩니다.
개인 정보 보호
Application Insights는 기본적으로 중요한 데이터를 처리하지 않습니다. 중요한 데이터를 URL에 일반 텍스트로 넣지 말고, 사용자 지정 코드가 개인 또는 기타 중요한 세부 정보를 수집하지 않는지 확인하는 것이 좋습니다. 개발 및 테스트하는 동안 IDE 및 브라우저의 디버깅 출력 창에서 보낸 데이터를 확인합니다.
보관된 정보를 보려면 Application Insights의 데이터 수집, 보존 및 스토리지를 참조하세요.
Application Insights 가격 책정 모델이란?
Application Insights는 해당 로그 데이터가 수집된 Log Analytics 작업 영역을 통해 요금이 청구됩니다. 기본 종량제 Log Analytics 가격 책정 계층에는 청구 계정당 월 5GB의 무료 데이터 허용량이 포함됩니다. Azure Monitor 로그 가격 책정 옵션에 대해 자세히 알아봅니다.
Azure 웹앱과 Application Insights 간 데이터 전송 요금이 있나요?
- Azure 웹앱이 Application Insights 컬렉션 엔드포인트가 있는 데이터 센터에서 호스트되는 경우 무료입니다.
- 호스트 데이터 센터에 컬렉션 엔드포인트가 없으면 앱의 원격 분석에 Azure 발신 요금이 부과됩니다.
이 답변은 Application Insights 리소스가 호스팅되는 위치가 아닌 엔드포인트의 분포에 따라 다릅니다.
내 Application Insights 리소스가 다른 지역의 Azure 리소스(즉, 원격 분석 생산자)를 모니터링하는 경우 네트워크 비용이 발생하나요?
예, 더 많은 네트워크 비용이 발생할 수 있으며, 이는 원격 분석이 시작되는 지역과 이동하는 지역에 따라 다릅니다. 자세한 내용은 Azure 대역폭 가격 책정을 참조하세요.
Application Insights에서 지원하는 TLS 버전
Important
2025년 3월 1일, Azure Wide 레거시 TLS 사용 중지에 따라 TLS 1.0/1.1 프로토콜 버전 및 나열된 TLS 1.2/1.3 레거시 암호 그룹 및 타원형 곡선이 Application Insights에 대해 사용 중지됩니다. 동급 최고의 암호화를 제공하기 위해 Application Insights는 TLS(전송 계층 보안) 1.2 및 1.3을 선택한 암호화 메커니즘으로 사용합니다.
레거시 TLS 문제에 대한 일반적인 질문은 TLS 문제 해결 및 Azure Resource Manager TLS 지원을 참조하세요.
도움말 및 지원
Azure 기술 지원
Azure 지원 문제의 경우 Azure 지원 티켓을 엽니다.
Microsoft 질문 및 답변 포럼
Microsoft 질문 및 답변 포럼에 일반 질문을 게시합니다.
Stack Overflow
azure-application-insights
태그를 사용하여 코딩 질문을 Stack Overflow에 게시합니다.
피드백 커뮤니티
피드백 커뮤니티에서 엔지니어링 팀에 대한 제품 피드백을 남깁니다.