Azure Monitor Application Insights의 데이터 수집 기본 사항
애플리케이션을 모니터링하려면 계측해야 합니다.
다음 섹션에서는 Azure Monitor Application Insights의 몇 가지 데이터 수집 기본 사항을 다룹니다.
계측 옵션
기본 수준에서 "계측"은 단순히 애플리케이션이 원격 분석을 캡처할 수 있도록 하는 것입니다.
애플리케이션을 계측하는 두 가지 방법이 있습니다.
- 자동 계측(autoinstrumentation)
- 수동 계측
자동 계측을 사용하면 애플리케이션 코드를 건드리지 않고도 구성을 통해 원격 분석 데이터를 수집할 수 있습니다. 좀 더 편리하지만 구성 가능성은 부족합니다. 또한 모든 언어에서 사용할 수 있는 것은 아닙니다. 자동 계측 지원 환경 및 언어를 참조하세요. 자동 계측을 사용할 수 있는 경우 Azure Monitor Application Insights를 사용하도록 설정하는 가장 쉬운 방법입니다.
수동 계측은 Application Insights 또는 OpenTelemetry API에 대한 코딩입니다. 사용자의 컨텍스트에서 일반적으로 애플리케이션에 언어별 SDK를 설치하는 것을 말합니다. 즉, 최신 패키지 버전에 대한 업데이트를 직접 관리해야 합니다. 자동 계측으로 기본적으로 캡처되지 않은 사용자 지정 종속성 호출 또는 API 호출을 수행해야 하는 경우 이 옵션을 사용할 수 있습니다. 수동 계측에는 두 가지 옵션이 있습니다.
OpenTelemetry를 향후 방향으로 보고 있지만 이전 SDK에서 데이터 수집을 중단할 계획은 없습니다. Azure OpenTelemetry Distro가 Application Insights SDK와 기능 패리티에 도달하기까지는 아직 갈 길이 멉니다. 대부분의 경우 고객은 꽤 오랫동안 Application Insights SDK를 사용하도록 선택합니다.
Important
"수동"은 원할 경우 가능하기는 하지만, 분산 추적의 범위를 정의하기 위해 반드시 복잡한 코드를 작성해야 한다는 의미는 아닙니다. Distros에 패키지된 계측 라이브러리를 사용하면 일반 프레임워크와 라이브러리에서 원격 분석 신호를 쉽게 캡처할 수 있습니다. 당사는 Azure Monitor OpenTelemetry Distro를 사용하는 고객이 이러한 신호를 사용할 수 있도록 OpenTelemetry를 사용하여 가장 자주 사용되는 Azure 서비스 SDK를 계측하기 위해 적극적으로 노력하고 있습니다.
원격 분석 유형
애플리케이션을 관찰하기 위해 수집된 데이터인 원격 분석은 세 가지 형식 또는 "핵심 요소"으로 나눌 수 있습니다.
- 분산 추적
- 메트릭
- 로그
완전한 가시성 스토리에는 세 가지 요소가 모두 포함되며, Application Insights는 이러한 요소를 데이터 모델을 핵심 요소로 하는 테이블로 세분화합니다. Application Insights SDK 또는 Azure Monitor OpenTelemetry Distro에는 Azure에서 애플리케이션 성능 모니터링을 지원하는 데 필요한 모든 것이 포함되어 있습니다. 패키지 자체는 무료로 설치할 수 있으며 Azure Monitor에서 수집한 데이터에 대해서만 비용을 지불합니다.
다음 원본에서는 세 가지 핵심 요소를 설명합니다.
- OpenTelemetry 커뮤니티 웹 사이트
- OpenTelemetry 사양
- 분산 시스템 가시성, 작성자: Cindy Sridharan
원격 분석 라우팅
다음 두 가지 방법으로 Azure Monitor(또는 모든 공급업체)에 데이터를 보낼 수 있습니다.
- 직접 내보내기 사용
- 에이전트 사용
직접 내보내기는 애플리케이션 코드에서 진행 중인 원격 분석을 Azure Monitor의 수집 엔드포인트로 직접 보냅니다. 이 방법의 주요 이점은 온보딩 단순성입니다.
현재 사용 가능한 Application Insights SDK 및 Azure Monitor OpenTelemetry Distro는 직접 내보내기를 사용합니다.
참고 항목
OpenTelemetry-Collector에서 Azure Monitor의 위치는 OpenTelemetry FAQ를 참조하세요.
팁
샘플링 또는 추가 데이터 처리를 위해 OpenTelemetry-Collector를 사용하려는 경우 Azure Monitor에 기본 제공되는 동일한 기능을 가져올 수 있습니다. 작업 영역 기반 Application Insights로 마이그레이션한 고객은 수집 시간 변환의 이점을 활용할 수 있습니다. 사용하도록 설정하려면 자습서의 세부 정보를 따르고 진단 설정을 구성하는 방법을 보여 주는 단계를 건너뛰세요. 작업 영역 기반 Application Insights에서는 진단 설정이 이미 구성되어 있기 때문입니다. 전체 볼륨의 50% 미만을 필터링하는 경우 추가 비용이 발생하지 않습니다. 50% 이후에는 요금이 발생하지만 표준 GB당 요금보다 훨씬 저렴합니다.
OpenTelemetry
Microsoft는 원격 분석 계측의 향후로 OpenTelemetry를 채택하게 된 것을 기쁘게 생각합니다. 고객인 사용자는 공급업체 중립적 계측을 요청했으며 OpenTelemetry 커뮤니티와 협력하여 여러 언어에 걸쳐 일관된 API 및 SDK를 만들게 되어 기쁘게 생각합니다.
Microsoft는 이전에 자주 사용되는 두 개의 오픈 소스 원격 분석 프로젝트인 OpenCensus 및 OpenTracing의 프로젝트 이해 관계자와 협력하고 있습니다. 함께 단일 프로젝트인 OpenTelemetry를 만드는 데 도움을 주었습니다. OpenTelemetry에는 모든 주요 클라우드 및 APM(애플리케이션 성능 관리) 공급업체의 기여가 포함되며 CNCF(Cloud Native Computing Foundation) 내에 있습니다. Microsoft는 CNCF의 플레티넘 멤버입니다.
용어에 대해서는 OpenTelemetry 사양의 용어집을 참조하세요.
OpenTelemetry에 대한 산업 융합 측면을 고려할 때 Application Insights의 일부 레거시 용어는 혼란스럽습니다. 다음 표는 이러한 차이점을 강조합니다. OpenTelemetry 용어는 Application Insights 용어를 대체합니다.
Application Insights | OpenTelemetry |
---|---|
자동 수집기 | 계측 라이브러리 |
채널 | 내보내기 |
코드 없음/에이전트 기반 | 자동 계측 |
Traces | 로그 |
요청 | 서버 범위 |
종속성 | 기타 범위 형식(클라이언트, 내부 등) |
작업 ID | 추적 ID |
ID 또는 작업 부모 ID | 범위 ID |
자주 묻는 질문
Application Insights SDK 버전 및 해당 이름 목록은 어디에서 찾을 수 있나요?
SDK 버전 및 이름 목록은 GitHub에서 호스팅됩니다. 자세한 내용은 SDK 버전을 참조하세요.
다음 단계
사용하도록 설정 방식을 선택합니다.
- 자동 계측
- Application Insights SDK
- Azure Monitor OpenTelemetry Distro
자세한 내용은 Azure Monitor Application Insights FAQ 및 OpenTelemetry FAQ를 확인합니다.