Application Insights의 메트릭
Application Insights는 표준(사전 집계), 로그 기반 및 사용자 지정 메트릭의 세 가지 유형의 메트릭을 지원합니다. 각 메트릭 유형은 모니터링 애플리케이션 상태, 진단 및 분석에서 고유한 값을 제공합니다. 애플리케이션을 계측하는 개발자는 특정 시나리오에 가장 적합한 메트릭 유형을 결정할 수 있습니다. 이러한 결정은 애플리케이션 크기, 원격 분석 예상량 및 메트릭 정밀도와 경고에 대한 비즈니스 요구 사항을 기반으로 합니다. 이 문서에서는 지원되는 모든 메트릭 형식 간의 차이점을 설명합니다.
표준 메트릭
Application Insights의 표준 메트릭은 서비스에서 자동으로 수집 및 모니터링되는 미리 정의된 메트릭입니다. 이러한 메트릭은 CPU 사용량, 메모리 사용량, 요청 속도 및 응답 시간과 같은 광범위한 성능 및 사용 지표를 다룹니다. 표준 메트릭은 추가 구성 없이도 애플리케이션의 상태 및 성능에 대한 포괄적인 개요를 제공합니다. 표준 메트릭 은 수집 중에 미리 집계 되고 키 차원만 있는 특수 리포지토리에 시계열로 저장되어 쿼리 시 성능이 향상됩니다. 따라서 표준 메트릭은 메트릭 차원 및 응답성이 뛰어난 대시보드에 대해 거의 실시간으로 경고하는 데 가장 적합합니다.
로그 기반 메트릭
Application Insights의 로그 기반 메트릭은 애플리케이션의 로그 데이터 위에 시계열로 표시되는 쿼리 시간 개념입니다. 기본 로그는 컬렉션 또는 스토리지 시간에 사전 집계되지 않으며 각 로그 항목의 모든 속성을 유지합니다. 이 보존을 사용하면 메트릭 차트 필터링 및 메트릭 분할을 위해 쿼리 시 로그 기반 메트릭의 차원으로 로그 속성을 사용할 수 있으므로 로그 기반 메트릭에 뛰어난 분석 및 진단 값을 제공합니다. 그러나 많은 양의 원격 분석을 생성하는 모니터링 애플리케이션에 일반적으로 사용되는 샘플링 및 원격 분석 필터링과 같은 원격 분석 볼륨 감소 기술은 수집된 로그 항목의 수량에 영향을 주므로 로그 기반 메트릭의 정확도를 줄입니다.
사용자 지정 메트릭(미리 보기)
Application Insights의 사용자 지정 메트릭을 사용하면 애플리케이션에 고유한 특정 측정값을 정의하고 추적할 수 있습니다. 이러한 메트릭은 코드를 계측하여 사용자 지정 원격 분석 데이터를 Application Insights로 전송하여 만들 수 있습니다. 사용자 지정 메트릭은 표준 메트릭에서 다루지 않는 애플리케이션의 모든 측면을 유연하게 모니터링하여 애플리케이션의 동작 및 성능에 대한 심층적인 인사이트를 얻을 수 있도록 합니다.
자세한 내용은 Azure Monitor(미리 보기)의 사용자 지정 메트릭을 참조하세요.
참고 항목
Application Insights는 웹 애플리케이션을 거의 실시간으로 모니터링할 수 있고 원격 분석 데이터를 저장하지 않는 라이브 메트릭 스트림이라는 기능도 제공합니다.
메트릭 비교
기능 | 표준 메트릭 | 로그 기반 메트릭 | 사용자 지정 메트릭 |
---|---|---|---|
데이터 원본 | 런타임 중에 수집된 미리 집계된 시계열 데이터입니다. | Kusto 쿼리를 사용하여 로그 데이터에서 파생됩니다. | Application Insights SDK 또는 API를 통해 수집된 사용자 정의 메트릭입니다. |
세분성 | 고정 간격(1분). | 로그 데이터 자체의 세분성에 따라 달라집니다. | 사용자 정의 메트릭을 기반으로 하는 유연한 세분성입니다. |
정확도(Accuracy) | 높음, 로그 샘플링의 영향을 받지 않습니다. | 샘플링 및 필터링의 영향을 받을 수 있습니다. | 특히 GetMetric과 같은 사전 집계 메서드를 사용하는 경우 높은 정확도입니다. |
비용 | Application Insights 가격 책정에 포함됩니다. | 로그 데이터 수집 및 쿼리 비용을 기반으로 합니다. | 가격 책정 모델 및 보존을 참조하세요. |
Configuration | 최소 구성으로 자동으로 사용할 수 있습니다. | 로그 데이터에서 원하는 메트릭을 추출하려면 로그 쿼리 구성이 필요합니다. | 코드에서 사용자 지정 구현 및 구성이 필요합니다. |
쿼리 성능 | 사전 집계로 인한 빠른 속도입니다. | 로그 데이터 쿼리를 포함하므로 속도가 느립니다. | 데이터 볼륨 및 쿼리 복잡성에 따라 달라집니다. |
스토리지 | Azure Monitor 메트릭 저장소에 시계열 데이터로 저장됩니다. | Log Analytics 작업 영역에 로그로 저장됩니다. | Log Analytics 및 Azure Monitor 메트릭 저장소 모두에 저장됩니다. |
경고 | 실시간 경고를 지원합니다. | 자세한 로그 데이터를 기반으로 하는 복잡한 경고 시나리오를 허용합니다. | 사용자 정의 메트릭을 기반으로 하는 유연한 경고입니다. |
서비스 제한 | Application Insights 제한에 따라 달라질 수 있습니다. | Log Analytics 작업 영역 제한에 따라 달라질 수 있습니다. | 무료 메트릭에 대한 할당량 및 추가 차원에 대한 비용으로 제한됩니다. |
사용 사례 | 실시간 모니터링, 성능 대시보드 및 빠른 인사이트. | 자세한 진단, 문제 해결 및 심층 분석 | 맞춤형 성과 지표 및 비즈니스별 메트릭. |
예제 | CPU 사용량, 메모리 사용량, 요청 기간. | 요청 수, 예외 추적, 종속성 호출. | 사용자 참여, 기능 사용과 같은 사용자 지정 애플리케이션 관련 메트릭 |
메트릭 사전 집계
OpenTelemetry SDK 및 최신 Application Insights SDK(클래식 API)는 수집 중에 메트릭을 사전 집계하여 SDK에서 원격 분석 채널 엔드포인트로 전송되는 데이터의 양을 줄입니다. 이 프로세스는 기본적으로 보내는 표준 메트릭에 적용되므로 정확도는 샘플링 또는 필터링의 영향을 받지 않습니다. 또한 OpenTelemetry API 또는 GetMetric 및 TrackValue를 사용하여 전송된 사용자 지정 메트릭에도 적용되므로 데이터 수집이 줄어들고 비용이 절감됩니다. Application Insights SDK 버전이 GetMetric 및 TrackValue를 지원하는 경우 사용자 지정 메트릭을 보내는 기본 방법입니다.
사전 집계를 구현하지 않는 SDK(즉, 이전 버전의 Application Insights SDK 또는 브라우저 계측용)의 경우 Application Insights 백 엔드는 Application Insights 원격 분석 채널 엔드포인트에서 수신한 이벤트를 집계하여 새 메트릭을 여전히 채웁니다. 사용자 지정 메트릭의 경우 trackMetric 메서드를 사용할 수 있습니다. 유선을 통해 전송되는 데이터의 감소된다는 이점은 없지만, 사전 집계된 메트릭을 계속 사용할 수 있으며 수집 중에 메트릭을 사전 집계하지 않는 SDK를 통해 실시간에 가까운 차원 경고의 더 나은 성능과 지원을 경험할 수 있습니다.
원격 분석 채널 엔드포인트는 수집 샘플링 전에 이벤트를 사전 집계합니다. 이러한 이유로 수집 샘플링은 애플리케이션에서 사용하는 SDK 버전과 관계없이 사전 집계된 메트릭의 정확도에 영향을 미치지 않습니다.
다음 표에서는 사전 집계가 사전 집계되는 위치를 나열합니다.
Azure Monitor OpenTelemetry Distro를 사용하는 메트릭 사전 집계
현재 프로덕션 SDK | 표준 메트릭 사전 집계 | 사용자 지정 메트릭 사전 집계 |
---|---|---|
ASP.NET Core | SDK | OpenTelemetry API를 통한 SDK |
.NET(내보내기 통해) | SDK | OpenTelemetry API를 통한 SDK |
Java(3.x) | SDK | OpenTelemetry API를 통한 SDK |
Java 네이티브 | SDK | OpenTelemetry API를 통한 SDK |
Node.js | SDK | OpenTelemetry API를 통한 SDK |
Python | SDK | OpenTelemetry API를 통한 SDK |
Application Insights SDK를 사용하는 메트릭 사전 집계(클래식 API)
현재 프로덕션 SDK | 표준 메트릭 사전 집계 | 사용자 지정 메트릭 사전 집계 |
---|---|---|
.NET Core 및 .NET Framework | SDK(V2.13.1 이상) | GetMetric을 통한 SDK(V2.7.2 이상) TrackMetric을 통한 원격 분석 채널 엔드포인트 |
Java(2.x) | 원격 분석 채널 엔드포인트 | TrackMetric을 통한 원격 분석 채널 엔드포인트 |
JavaScript(브라우저) | 원격 분석 채널 엔드포인트 | TrackMetric을 통한 원격 분석 채널 엔드포인트 |
Node.js | 원격 분석 채널 엔드포인트 | TrackMetric을 통한 원격 분석 채널 엔드포인트 |
Python | 원격 분석 채널 엔드포인트 | OpenCensus.stats를 통한 SDK(사용 중지) TrackMetric을 통한 원격 분석 채널 엔드포인트 |
주의
Application Insights Java 2.x SDK는 더 이상 권장되지 않습니다. 대신 OpenTelemetry 기반 Java 제품을 사용합니다.
OpenCensus Python SDK가 사용 중지되었습니다. OpenTelemetry 기반 Python 제품을 권장 하고 마이그레이션 지침을 제공합니다.
자동 침입을 사용하는 메트릭 사전 집계
자동 침입을 사용하면 SDK가 애플리케이션 코드에 자동으로 추가되며 사용자 지정할 수 없습니다. 사용자 지정 메트릭의 경우 수동 계측이 필요합니다.
현재 프로덕션 SDK | 표준 메트릭 사전 집계 | 사용자 지정 메트릭 사전 집계 |
---|---|---|
ASP.NET Core | SDK 1 | 지원되지 않음 |
ASP.NET | SDK 2 | 지원되지 않음 |
Java | SDK | 지원됨 3 |
Node.js | SDK | 지원되지 않음 |
Python | SDK | 지원되지 않음 |
각주
- App Service의 1 ASP.NET Core 자동 침입은 차원 없이 표준 메트릭을 내보낸다. 모든 차원에 수동 계측이 필요합니다.
- 가상 머신/가상 머신 확장 집합 및 온-프레미스에서 2개의 ASP.NET 자동 침입은 차원 없이 표준 메트릭을 내보낸다. Azure App Service의 경우에도 마찬가지이지만 수집 수준을 권장으로 설정해야 합니다. 모든 차원에 수동 계측이 필요합니다.
- 3 자동 침입에 사용되는 Java 에이전트는 인기 있는 라이브러리에서 내보낸 메트릭을 캡처하고 사용자 지정 메트릭으로 Application Insights에 보냅니다.
사용자 지정 메트릭 차원과 사전 집계
OpenTelemetry, trackMetric 또는 GetMetric 및 TrackValue API 호출을 사용하여 보내는 모든 메트릭은 메트릭 저장소와 로그 모두에 자동으로 저장됩니다. 이러한 메트릭은 Application Insights의 customMetrics 테이블과 azure.applicationinsights라는 사용자 지정 메트릭 네임스페이스의 메트릭 탐색기에서 찾을 수 있습니다. 사용자 지정 메트릭의 로그 기반 버전은 항상 모든 차원을 유지하지만, 사전 집계된 메트릭 버전은 기본적으로 차원 없이 저장됩니다. 사용자 지정 메트릭의 차원 유지는 미리 보기 기능으로 사용량 및 예상 비용 탭의 Azure 메트릭 저장소로 사용자 지정 메트릭 보내기에서 차원 포함을 선택하여 설정할 수 있습니다.
할당량
사전 집계된 메트릭은 시계열로 Azure Monitor에 저장됩니다. 사용자 지정 메트릭에 대한 Azure Monitor 할당량이 적용됩니다.
참고 항목
할당량을 초과하면 의도하지 않은 결과가 발생할 수 있습니다. Azure Monitor는 사용자의 구독 또는 지역에서 불안정해질 수 있습니다. 할당량 초과를 방지하는 방법을 알아보려면 디자인 제한 사항 및 고려 사항을 참조하세요.
사용자 지정 메트릭 차원의 수집이 기본적으로 꺼진 이유는 무엇인가요?
사용자 지정 메트릭 차원의 컬렉션은 기본적으로 해제됩니다. 나중에 차원을 사용하여 사용자 지정 메트릭을 저장하는 것은 Application Insights와 별도로 요금이 청구되기 때문입니다. 차원이 없는 사용자 지정 메트릭을 저장하면 무료로 유지됩니다(할당량까지). 공식 가격 책정 페이지에서 앞으로의 가격 책정 모델 변경에 대해 확인할 수 있습니다.
차트 만들기 및 메트릭 탐색
Azure Monitor 메트릭 탐색기를 사용하여 사전 집계, 로그 기반 및 사용자 지정 메트릭의 차트를 그리고 차트를 사용하여 대시보드를 작성합니다. 원하는 Application Insights 리소스를 선택한 후 네임스페이스 선택기를 사용하여 메트릭 간에 전환합니다.
Application Insights 메트릭에 대한 가격 책정 모델
로그 기반이나 사전 집계인지 여부와 관계없이 메트릭을 Application Insights로 수집하면 수집된 데이터의 크기에 따라 비용이 발생합니다. 자세한 내용은 Azure Monitor Logs 가격 책정 세부 정보를 참조하세요. 모든 차원을 포함한 사용자 지정 메트릭은 항상 Application Insights 로그 저장소에 저장됩니다. 또한 차원이 없는 사용자 지정 메트릭의 사전 집계 버전은 기본적으로 메트릭 저장소로 전달됩니다.
사전 집계 메트릭의 모든 차원을 메트릭 저장소에 저장하기 위해 사용자 지정 메트릭 차원의 경고를 사용하도록 설정 옵션을 선택하면 사용자 지정 메트릭 가격 책정에 따라 추가 비용이 발생할 수 있습니다.
사용 가능한 메트릭
가용성 메트릭
가용성 범주의 메트릭을 사용하면 전 세계 지점에서 관찰된 대로 웹 애플리케이션의 상태를 볼 수 있습니다. 이 범주의 메트릭 사용을 시작하도록 가용성 테스트를 구성합니다.
가용성(availabilityResults/availabilityPercentage)
가용성 메트릭은 문제를 감지하지 못한 웹 테스트 실행의 백분율을 보여 줍니다. 가능한 가장 낮은 값은 0으로, 모든 웹 테스트 실행이 실패했음을 나타냅니다. 값이 100이면 모든 웹 테스트 실행이 유효성 검사 조건을 통과했음을 의미합니다.
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
백분율 | Avg | Run location , Test name |
가용성 테스트 기간(availabilityResults/duration)
‘가용성 테스트 기간’ 메트릭은 웹 테스트를 실행하는 데 걸린 시간을 보여 줍니다. 다단계 웹 테스트의 경우 메트릭은 모든 단계의 총 실행 시간을 반영합니다.
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
밀리초 | 평균, 최대, 최소 | Run location , , Test name Test result |
가용성 테스트(availabilityResults/count)
가용성 테스트 메트릭은 Azure Monitor에서 실행하는 웹 테스트의 수를 반영합니다.
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
개수 | 개수 | Run location , , Test name Test result |
브라우저 메트릭
브라우저 메트릭은 실제 최종 사용자 브라우저에서 Application Insights JavaScript SDK에 의해 수집됩니다. 웹앱에 대한 사용자의 경험에 대한 훌륭한 인사이트를 제공합니다. 브라우저 메트릭은 일반적으로 샘플링되지 않으므로 샘플링에 의해 왜곡될 수 있는 서버 쪽 메트릭에 비해 사용량 수치의 정밀도가 더 높습니다.
참고 항목
브라우저 메트릭을 수집하려면 Application Insights JavaScript SDK를 사용하여 애플리케이션을 계측해야 합니다.
브라우저 페이지 로드 시간(browserTimings/totalDuration)
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
밀리초 | 평균, 최대, 최소 | None |
클라이언트 처리 시간(browserTiming/processingDuration)
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
밀리초 | 평균, 최대, 최소 | None |
페이지 로드 네트워크 연결 시간(browserTimings/networkDuration)
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
밀리초 | 평균, 최대, 최소 | None |
응답 시간 수신(browserTimings/receiveDuration)
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
밀리초 | 평균, 최대, 최소 | None |
요청 시간 보내기(browserTimings/sendDuration)
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
밀리초 | 평균, 최대, 최소 | None |
오류 메트릭
오류의 메트릭은 요청 처리, 종속성 호출 및 throw된 예외에 대한 문제를 표시합니다.
브라우저 예외(예외/브라우저)
이 메트릭은 브라우저에서 실행되는 애플리케이션 코드에서 throw된 예외 수를 반영합니다. trackException()
Application Insights API 호출로 추적되는 예외만이 메트릭에 포함됩니다.
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
개수 | 개수 | Cloud role name |
종속성 호출 실패(dependencies/failed)
실패한 종속성 호출 수입니다.
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
개수 | 개수 | Cloud role instance , Cloud role name , Dependency performance , Dependency type , Is traffic synthetic , Result code Target of dependency call |
예외(예외/개수)
Application Insights에 예외를 기록할 때마다 SDK의 trackException() 메서드에 대한 호출이 있습니다. 예외 메트릭에는 로깅된 예외의 수가 표시됩니다.
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
개수 | 개수 | Cloud role instance , , Cloud role name Device type |
실패한 요청(요청/실패)
실패한 것으로 표시된 추적된 서버 요청의 수입니다. 기본적으로 Application Insights SDK는 HTTP 응답 코드 5xx 또는 4xx를 반환한 각 서버 요청을 실패한 요청으로 자동으로 표시합니다. 사용자 지정 원격 분석 이니셜라이저에서 요청 원격 분석 항목의 성공 속성을 수정하여 이 논리를 사용자 지정할 수 있습니다.
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
개수 | 개수 | Cloud role instance , Cloud role name , Is synthetic traffic , Request performance Result code |
서버 예외(exceptions/server)
이 메트릭은 서버 예외 수를 보여 줍니다.
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
개수 | 개수 | Cloud role instance , Cloud role name |
성능 카운터
성능 카운터 범주의 메트릭을 사용하여 Application Insights에 의해 수집된 시스템 성능 카운터에 액세스합니다.
사용 가능한 메모리(performanceCounters/availableMemory)
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
메가바이트/기가바이트(데이터 종속) | 평균, 최대, 최소 | Cloud role instance |
예외율(performanceCounters/exceptionRate)
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
개수 | 평균, 최대, 최소 | Cloud role instance |
HTTP 요청 실행 시간(performanceCounters/requestExecutionTime)
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
밀리초 | 평균, 최대, 최소 | Cloud role instance |
HTTP 요청 속도(performanceCounters/requestsPerSecond)
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
초당 요청 | 평균, 최대, 최소 | Cloud role instance |
애플리케이션 큐의 HTTP 요청(performanceCounters/requestsInQueue)
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
개수 | 평균, 최대, 최소 | Cloud role instance |
CPU 프로세스(performanceCounters/processCpuPercentage)
메트릭은 모니터링되는 앱을 호스팅하는 프로세스에서 사용되는 총 프로세서 용량의 양을 보여 줍니다.
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
백분율 | 평균, 최대, 최소 | Cloud role instance |
참고 항목
메트릭 범위는 0에서 100 * n 사이이며, 여기서 n은 사용 가능한 CPU 코어 수입니다. 예를 들어, 메트릭 값 200%는 2개의 CPU 코어의 전체 사용률 또는 4개의 CPU 코어의 절반 사용률 등을 나타낼 수 있습니다. 프로세스 CPU 정규화는 많은 SDK에서 수집하는 대체 메트릭으로, 동일한 값을 나타내지만 사용 가능한 CPU 코어 수로 나눕니다. 따라서 프로세스 CPU 정규화 메트릭의 범위는 0~100입니다.
프로세스 IO 속도(performanceCounters/processIOBytesPerSecond)
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
초당 바이트 | 평균, 최솟값, 최댓값 | Cloud role instance |
프로세스 프라이빗 바이트(performanceCounters/processPrivateBytes)
모니터링된 프로세스가 해당 데이터에 할당한 공유되지 않은 메모리의 양입니다.
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
바이트 | 평균, 최솟값, 최댓값 | Cloud role instance |
프로세서 시간(performanceCounters/processorCpuPercentage)
모니터링되는 서버 인스턴스에서 실행 중인 ‘모든’ 프로세스의 CPU 소비량입니다.
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
백분율 | 평균, 최솟값, 최댓값 | Cloud role instance |
참고 항목
Azure 앱 Services에서 호스트되는 애플리케이션에는 프로세서 시간 메트릭을 사용할 수 없습니다. App Services에서 호스트되는 웹 애플리케이션의 CPU 사용률을 추적하려면 프로세스 CPU 메트릭을 사용하세요.
서버 메트릭
종속성 호출(종속성/개수)
이 메트릭은 종속성 호출 수와 관련이 있습니다.
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
개수 | 개수 | Cloud role instance , Cloud role name , Dependency performance , Dependency type , Is traffic synthetic , Result code , Successful call Target of a dependency call |
종속성 기간(dependencies/duration)
이 메트릭은 종속성 호출의 기간을 나타냅니다.
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
밀리초 | 평균, 최대, 최소 | Cloud role instance , Cloud role name , Dependency performance , Dependency type , Is traffic synthetic , Result code , Successful call Target of a dependency call |
서버 요청 비율(요청/비율)
이 메트릭은 웹 애플리케이션에서 수신한 들어오는 서버 요청 수를 반영합니다.
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
초당 개수 | Avg | Cloud role instance , Cloud role name , Is traffic synthetic , Request performance Result code Successful request |
서버 요청(요청/수)
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
개수 | 개수 | Cloud role instance , Cloud role name , Is traffic synthetic , Request performance Result code Successful request |
서버 응답 시간(요청/기간)
이 메트릭은 서버가 들어오는 요청을 처리하는 데 걸린 시간을 반영합니다.
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
밀리초 | 평균, 최대, 최소 | Cloud role instance , Cloud role name , Is traffic synthetic , Request performance Result code Successful request |
사용량 메트릭
페이지 보기 로드 시간(pageViews/duration)
이 메트릭은 PageView 이벤트가 로드되는 데 걸린 시간을 나타냅니다.
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
밀리초 | 평균, 최대, 최소 | Cloud role name , Is traffic synthetic |
페이지 보기(pageViews/count)
TrackPageView() Application Insights API로 기록된 페이지 보기 이벤트의 수입니다.
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
개수 | 개수 | Cloud role name , Is traffic synthetic |
추적(추적/개수)
TrackTrace() Application Insights API 호출로 기록된 추적 문의 수입니다.
측정 단위 | 지원되는 집계 | 지원되는 차원 |
---|---|---|
개수 | 개수 | Cloud role instance , Cloud role name , Is traffic synthetic Severity level |
사용자 지정 메트릭
Application Insights REST API를 사용하여 로그 기반 메트릭에 직접 액세스
Application Insights REST API를 사용하면 로그 기반 메트릭을 프로그래밍 방식으로 검색할 수 있습니다. 또한 쿼리 문자열에 추가할 때 시계열 데이터뿐만 아니라 가져오는 데 사용되는 KQL(Kusto 쿼리 언어) 문을 반환하라는 메시지를 API에 표시하는 선택적 매개 변수 ai.include-query-payload
도 제공합니다. 이 매개 변수는 Log Analytics의 원시 이벤트와 결과 로그 기반 메트릭 간의 연결을 이해하려는 사용자에게 특히 유용합니다.
데이터에 직접 액세스하려면 KQL을 사용하여 쿼리에서 Application Insights API에 매개 변수 ai.include-query-payload
를 전달합니다.
참고 항목
기본 로그 쿼리 DEMO_APP
를 검색하고 DEMO_KEY
바꿀 필요가 없습니다. 자체 애플리케이션의 시계열 데이터가 아닌 KQL 문을 검색하려는 경우 복사하여 브라우저 검색 창에 직접 붙여넣을 수 있습니다.
api.applicationinsights.io/v1/apps/DEMO_APP/metrics/users/authenticated?api_key=DEMO_KEY&prefer=ai.include-query-payload
다음은 "인증된 사용자" 메트릭에 대한 반환 KQL 문의 예입니다. (이 예제 "users/authenticated"
에서는 메트릭 ID입니다.)
output
{
"value": {
"start": "2024-06-21T09:14:25.450Z",
"end": "2024-06-21T21:14:25.450Z",
"users/authenticated": {
"unique": 0
}
},
"@ai.query": "union (traces | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (requests | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (pageViews | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (dependencies | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (customEvents | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (availabilityResults | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (exceptions | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (customMetrics | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)), (browserTimings | where timestamp >= datetime(2024-06-21T09:14:25.450Z) and timestamp < datetime(2024-06-21T21:14:25.450Z)) | where notempty(user_AuthenticatedId) | summarize ['users/authenticated_unique'] = dcount(user_AuthenticatedId)"
}