모니터링을 위한 앱 계측
기본 수준에서 "계측"은 단순히 애플리케이션이 원격 분석을 캡처할 수 있도록 하는 것입니다. 애플리케이션을 계측하는 두 가지 방법이 있습니다.
- 자동 계측(autoinstrumentation)
- 수동 계측
자동 계측을 사용하면 애플리케이션 코드를 건드리지 않고도 구성을 통해 원격 분석 데이터를 수집할 수 있습니다. 좀 더 편리하지만 구성 가능성은 부족합니다. 또한 모든 언어에서 사용할 수 있는 것은 아닙니다. 자동 계측 지원 환경 및 언어를 참조하세요. 자동 계측을 사용할 수 있는 경우 Azure Monitor Application Insights를 사용하도록 설정하는 가장 쉬운 방법입니다.
수동 계측은 Application Insights 또는 OpenTelemetry API에 대한 코딩입니다. 사용자의 컨텍스트에서 일반적으로 애플리케이션에 언어별 SDK를 설치하는 것을 말합니다. 즉, 최신 패키지 버전에 대한 업데이트를 직접 관리해야 합니다. 자동 계측으로 기본적으로 캡처되지 않은 사용자 지정 종속성 호출 또는 API 호출을 수행해야 하는 경우 이 옵션을 사용할 수 있습니다. 수동 계측에는 두 가지 옵션이 있습니다.
Application Insights SDK를 통해 사용하도록 설정
다음 경우에만 Application Insights SDK를 설치해야 합니다.
- 사용자 지정 이벤트 및 메트릭이 필요한 경우
- 원격 분석 흐름을 제어해야 하는 경우
- 자동 계측을 사용할 수 없는 경우(일반적으로 언어 또는 플랫폼 제한으로 인해)
SDK를 사용하려면 앱에 작은 계측 패키지를 설치한 다음 웹 페이지 내에서 웹앱, 모든 백그라운드 구성 요소 및 JavaScript를 계측합니다. 앱 및 해당 구성 요소는 Azure에서 호스팅할 필요가 없습니다. 계측은 앱을 모니터링하고, 고유한 토큰을 사용하여 원격 분석 데이터를 Azure Application Insights 리소스로 보냅니다.
SDK 버전 및 이름 목록은 GitHub에서 호스팅됩니다. 자세한 내용은 SDK 버전을 참조하세요.
OpenTelemetry를 통해 사용
Microsoft는 이전에 자주 사용되는 두 개의 오픈 소스 원격 분석 프로젝트인 OpenCensus 및 OpenTracing의 프로젝트 이해 관계자와 협력하고 있습니다. 함께 단일 프로젝트인 OpenTelemetry를 만드는 데 도움을 주었습니다. OpenTelemetry에는 모든 주요 클라우드 및 APM(애플리케이션 성능 관리) 공급업체의 기여가 포함되며 CNCF(Cloud Native Computing Foundation) 내에 있습니다. Microsoft는 CNCF의 플레티넘 멤버입니다.
OpenTelemetry에 대한 산업 융합 측면을 고려할 때 Application Insights의 일부 레거시 용어는 혼란스럽습니다. 다음 표는 이러한 차이점을 강조합니다. OpenTelemetry 용어는 Application Insights 용어를 대체합니다.
Application Insights | OpenTelemetry |
---|---|
자동 수집기 | 계측 라이브러리 |
채널 | 내보내기 |
코드 없음/에이전트 기반 | 자동 계측 |
Traces | 로그 |
요청 | 서버 범위 |
종속성 | 기타 범위 형식(클라이언트, 내부 등) |
작업 ID | 추적 ID |
ID 또는 작업 부모 ID | 범위 ID |