ApiManagementGatewayLogs 테이블에 대한 쿼리

요청 수

지난 24시간 동안 모든 API의 총 호출 수를 계산합니다.

//Total number of call per resource
ApiManagementGatewayLogs
| where TimeGenerated > ago(1d)
| summarize count(CorrelationId) by _ResourceId 

마지막 100개 호출의 로그

지난 24시간 동안 가장 최근 100건의 호출 로그를 가져옵니다.

ApiManagementGatewayLogs
| top 100 by TimeGenerated desc 

API별 호출 수

지난 24시간 동안의 API당 호출 수를 확인합니다.

//Calls by API ID
ApiManagementGatewayLogs
| where TimeGenerated > ago(1d)
| summarize count(CorrelationId) by ApiId

사용된 대역폭

지난 24시간 동안 사용된 총 대역폭입니다.

// To create an alert for this query, click '+ New alert rule'
ApiManagementGatewayLogs
| where TimeGenerated > ago(1d)
| extend bandwidth = RequestSize + ResponseSize 
| summarize sum(bandwidth) by bin(TimeGenerated, 15m), _ResourceId 
| render timechart 

요청 크기

지난 24시간 동안의 요청 크기에 대한 통계입니다.

// To create an alert for this query, click '+ New alert rule'
ApiManagementGatewayLogs
| where TimeGenerated > ago(1d)
| summarize Average=avg(RequestSize), Median=percentile(RequestSize, 50), 90th_Percentile=percentile(RequestSize, 90) by bin(TimeGenerated, 5m) 
| render timechart 

응답 크기

지난 24시간 동안의 응답 크기에 대한 통계입니다.

// To create an alert for this query, click '+ New alert rule'
ApiManagementGatewayLogs
| where TimeGenerated > ago(1d)
| summarize Average=avg(ResponseSize), Median=percentile(ResponseSize, 50), 90th_Percentile=percentile(ResponseSize, 90) by bin(TimeGenerated, 5m) 
| render timechart 

클라이언트 TLS 버전

지난 24시간 동안의 클라이언트 TLS 버전 분석

ApiManagementGatewayLogs
| where TimeGenerated > ago(1d)
| summarize count(CorrelationId) by ClientTlsVersion, _ResourceId 

오류 이유 분석

지난 24시간 동안의 모든 오류 원인 분석

// To create an alert for this query, click '+ New alert rule'
ApiManagementGatewayLogs
| where TimeGenerated > ago(1d)
| where IsRequestSuccess == false
| summarize count(CorrelationId) by LastErrorReason, _ResourceId

최근 100개의 실패한 요청

실패한 마지막 100개 요청의 로그를 가져옵니다.

ApiManagementGatewayLogs
| where TimeGenerated > ago(1d)
| where IsRequestSuccess == false
| top 100 by TimeGenerated desc| where ResponseCode >= 400

백 엔드 문제로 인해 실패한 요청의 로그를 가져옵니다.

// To create an alert for this query, click '+ New alert rule'
ApiManagementGatewayLogs
| where TimeGenerated > ago(1d)
| where IsRequestSuccess == false
| where BackendResponseCode >= 400

백 엔드와 관련이 없는 문제(예: API 관리 정책 구성, 속도 제한 초과, 클라이언트 연결 끊김)로 인해 실패한 요청의 로그를 가져옵니다.

// To create an alert for this query, click '+ New alert rule'
ApiManagementGatewayLogs
| where TimeGenerated > ago(1d)
| where IsRequestSuccess == false
| where isnull(BackendResponseCode) or BackendResponseCode < 400
| where ResponseCode >= 400

전체 대기 시간

API Mangement가 요청을 수신하기 시작하고 API Management 클라이언트에 응답을 다시 보내는 데 걸리는 시간 사이의 전체 대기 시간(밀리초)에 대한 통계입니다.

// To create an alert for this query, click '+ New alert rule'
ApiManagementGatewayLogs
| where TimeGenerated > ago(1d)
| summarize Average=avg(TotalTime), Median=percentile(TotalTime, 50), 90th_Percentile=percentile(TotalTime, 90) by bin(TimeGenerated, 15m) 
| render timechart 

백 엔드 대기 시간

백 엔드 IO에 소요된 시간 통계(밀리초)입니다.

// To create an alert for this query, click '+ New alert rule'
ApiManagementGatewayLogs
| where TimeGenerated > ago(1d)
| summarize Average=avg(BackendTime), Median=percentile(BackendTime, 50), 90th_Percentile=percentile(BackendTime, 90) by bin(TimeGenerated, 15m) 
| render timechart 

클라이언트 대기 시간

클라이언트 IO에서 소요된 시간(밀리초)의 통계입니다.

// To create an alert for this query, click '+ New alert rule'
ApiManagementGatewayLogs
| where TimeGenerated > ago(1d)
| summarize Average=avg(ClientTime), Median=percentile(ClientTime, 50), 90th_Percentile=percentile(ClientTime, 90) by bin(TimeGenerated, 15m) 
| render timechart 

캐시 적중률 %

캐시 적중/누락 비율의 통계입니다.

// To create an alert for this query, click '+ New alert rule'
ApiManagementGatewayLogs
| where TimeGenerated > ago(1d)
| summarize Cache_Miss=countif(Cache  == "miss"), Cache_Hit=countif(Cache == "hit") by bin(TimeGenerated, 15m)
| extend Ratio=Cache_Hit / (Cache_Hit + Cache_Miss)
| project-away Cache_Hit , Cache_Miss 
| render timechart