Azure 애플리케이션 게이트웨이 모니터링 데이터 참조

이 문서에는 이 서비스에 대한 모든 모니터링 참조 정보가 포함되어 있습니다.

Application Gateway에 대해 수집할 수 있는 데이터 및 사용 방법에 대한 자세한 내용은 Azure 애플리케이션 Gateway 모니터링을 참조하세요.

메트릭

이 섹션에는 이 서비스에 대해 자동으로 모은 플랫폼 메트릭이 모두 나열되어 있습니다. 이러한 메트릭은 Azure Monitor에서 지원되는 모든 플랫폼 메트릭의 전역 목록의 일부이기도 합니다.

메트릭 보존에 관한 자세한 내용은 Azure Monitor 메트릭 개요를 참조하세요.

Microsoft.Network/applicationGateways에 대해 지원되는 메트릭

다음 표에서는 Microsoft.Network/applicationGateways 리소스 종류에 사용할 수 있는 모든 메트릭을 나열합니다. 이 표에는 많은 메트릭에 대한 자세한 설명이 포함되어 있습니다.

  • 모든 테이블에 모든 열이 있는 것은 아닙니다.
  • 일부 열은 페이지의 보기 영역 밖에 있을 수 있습니다. 사용 가능한 모든 열을 보려면 테이블 확장을 선택합니다.

테이블 제목

  • 범주 - 메트릭 그룹 또는 분류입니다.
  • 메트릭 - Azure Portal에 표시되는 메트릭 표시 이름입니다.
  • REST API의 이름 - REST API에서 참조되는 메트릭 이름입니다.
  • 단위 - 측정 단위입니다.
  • 집계 - 기본 집계 형식입니다. 유효한 값은 평균(Avg), 최소(Min), 최대(Max), 합계(Sum), 개수입니다.
  • 차원 - 메트릭에 사용할 수 있는 차원입니다.
  • 시간 조직 - 메트릭이 샘플링되는 간격입니다. 예를 들어, PT1M은 메트릭이 1분마다, PT30M은 30분마다, PT1H는 1시간마다 샘플링됨을 나타냅니다.
  • DS 내보내기- 진단 설정을 통해 메트릭을 Azure Monitor 로그로 내보낼 수 있는지 여부를 나타냅니다. 메트릭 내보내기에 대한 자세한 내용은 Azure Monitor의 진단 설정 생성을 참조하세요.
메트릭 REST API의 이름 단위 집계 차원 시간 조직 DS 내보내기
Application Gateway 총 시간

요청이 처리되고 응답이 전송되는 데 걸리는 시간입니다. Application Gateway가 HTTP 요청의 첫 번째 바이트를 수신하는 시간부터 응답 보내기 작업이 완료된 시간까지의 간격입니다. 일반적으로 Application Gateway 처리 시간, 요청 및 응답 패킷이 네트워크를 통해 이동하는 시간, 백 엔드 서버에서 응답하는 데 걸린 시간이 포함됩니다.
ApplicationGatewayTotalTime 밀리초 평균, 최대 Listener PT1M 아니요
분당 요청 수/정상 호스트

풀의 정상 백 엔드 호스트당 분당 평균 요청 수
AvgRequestCountPerHealthyHost Count 평균 BackendSettingsPool PT1M 아니요
WAF 봇 보호 일치

일치하는 봇 규칙
AzwafBotProtection Count 합계(합계) Action, Category, Mode, CountryCode, PolicyNamePolicyScope PT1M
WAF 사용자 지정 규칙 일치

일치하는 사용자 지정 규칙
AzwafCustomRule Count 합계(합계) Action, CustomRuleID, Mode, CountryCode, PolicyNamePolicyScope PT1M
WAF JS 챌린지 요청 수

WAF에서 평가한 총 JS 챌린지 요청 수
AzWAFJSChallengeRequestCount Count 합계(합계) Action, PolicyName, RulePolicyScope PT1M
WAF 관리 규칙 일치

일치하는 관리형 규칙
AzwafSecRule Count 합계(합계) Action, Mode, RuleGroupID, RuleID, CountryCode, PolicyName, PolicyScopeRuleSetName PT1M
WAF 총 요청

WAF에서 평가된 총 요청 수
AzwafTotalRequests Count 합계(합계) Action, CountryCode, Method, Mode, PolicyNamePolicyScope PT1M
백 엔드 연결 시간

백 엔드 서버와의 연결을 설정하는 데 소요된 시간
BackendConnectTime 밀리초 평균, 최대 Listener, BackendServer, BackendPoolBackendHttpSetting PT1M 아니요
백 엔드 첫 번째 바이트 응답 시간

백 엔드 서버에 대한 연결 설정 시작과 응답 헤더의 첫 번째 바이트 수신 사이의 시간 간격, 백 엔드 서버의 처리 시간 근사치
BackendFirstByteResponseTime 밀리초 평균, 최대 Listener, BackendServer, BackendPoolBackendHttpSetting PT1M 아니요
백 엔드 마지막 바이트 응답 시간

백 엔드 서버에 대한 연결 설정 시작과 응답 본문의 마지막 바이트 수신 사이의 시간 간격
BackendLastByteResponseTime 밀리초 평균, 최대 Listener, BackendServer, BackendPoolBackendHttpSetting PT1M 아니요
백 엔드 응답 상태

백 엔드 멤버가 생성한 HTTP 응답 코드의 수. Application Gateway에서 생성한 응답 코드는 여기에 포함되지 않습니다.
BackendResponseStatus Count 합계(합계) BackendServer, BackendPool, BackendHttpSettingHttpStatusGroup PT1M
웹 애플리케이션 방화벽 차단 요청 규칙 배포

웹 애플리케이션 방화벽 차단 요청 규칙 배포
BlockedCount Count 합계(합계) RuleGroup, RuleId PT1M
Bytes Received

클라이언트에서 Application Gateway에서 받은 총 바이트 수
BytesReceived 바이트 합계(합계) Listener PT1M
Bytes Sent

Application Gateway에서 클라이언트로 보낸 총 바이트 수
BytesSent 바이트 합계(합계) Listener PT1M
현재 용량 단위

사용된 용량 단위
CapacityUnits Count 평균 <없음> PT1M 아니요
클라이언트 RTT

클라이언트와 Application Gateway 간의 왕복 시간입니다. 이 메트릭은 연결을 설정하고 승인을 반환하는 데 걸리는 시간을 나타냅니다.
ClientRtt 밀리초 평균, 최대 Listener PT1M 아니요
현재 컴퓨팅 단위

사용된 컴퓨팅 단위
ComputeUnits Count 평균 <없음> PT1M 아니요
CPU 사용률

Application Gateway의 현재 CPU 사용률
CpuUtilization 백분율 평균 <없음> PT1M 아니요
현재 연결

Application Gateway와 설정된 현재 연결 수
CurrentConnections Count 합계(합계) <없음> PT1M
예상 청구 용량 단위

요금이 부과될 예상 용량 단위
EstimatedBilledCapacityUnits Count 평균 <없음> PT1M 아니요
실패한 요청

Application Gateway가 제공한 실패한 요청 수
FailedRequests Count 합계(합계) BackendSettingsPool PT1M
고정 청구 가능 용량 단위

요금이 부과될 최소 용량 단위
FixedBillableCapacityUnits Count 평균 <없음> PT1M 아니요
정상 호스트 수

정상 백 엔드 호스트 수
HealthyHostCount Count 평균 BackendSettingsPool PT1M
웹 애플리케이션 방화벽 총 규칙 배포

들어오는 트래픽에 대한 웹 애플리케이션 방화벽 총 규칙 분포
MatchedCount Count 합계(합계) RuleGroup, RuleId PT1M
초당 새 연결 수

Application Gateway를 사용하여 설정된 초당 새 연결
NewConnectionsPerSecond 초당 개수 평균 <없음> PT1M 아니요
응답 상태

Application Gateway에서 반환된 Http 응답 상태
ResponseStatus Count 합계(합계) HttpStatusGroup PT1M
처리량

Application Gateway에서 제공하는 초당 바이트 수
Throughput BytesPerSecond 평균 <없음> PT1M 아니요
클라이언트 TLS 프로토콜

Application Gateway와의 연결을 설정한 클라이언트에서 시작한 TLS 및 TLS가 아닌 요청 수입니다. TLS 프로토콜 배포를 보려면 차원 TLS 프로토콜로 필터링합니다.
TlsProtocol Count 합계(합계) Listener, TlsProtocol PT1M
총 요청 수

Application Gateway가 제공한 성공한 요청 수
TotalRequests Count 합계(합계) BackendSettingsPool PT1M
비정상 호스트 수

비정상 백 엔드 호스트 수
UnhealthyHostCount Count 평균 BackendSettingsPool PT1M

사용 가능한 WAF(Web Application Firewall) 메트릭은 Application Gateway WAF v2 메트릭Application Gateway WAF v1 메트릭을 참조하세요.

Application Gateway v2 SKU에 대한 타이밍 메트릭

Application Gateway v2 SKU는 요청 및 응답과 관련된 많은 기본 제공 타이밍 메트릭을 제공하며 모두 밀리초 단위로 측정됩니다. 다음은 이전 메트릭 테이블에 이미 나열된 타이밍 메트릭에 대한 확장된 설명입니다.

  • 백 엔드 연결 시간입니다. 이 값에는 네트워크 대기 시간 및 백 엔드 서버의 TCP 스택이 새 연결을 설정하는 데 걸린 시간이 포함됩니다. TLS의 경우 핸드셰이크에 소요된 시간도 포함됩니다.
  • 백 엔드 첫 번째 바이트 응답 시간입니다. 이 값은 백 엔드 연결 시간, Application Gateway에서 백 엔드에 도달하는 데 걸린 시간, 백 엔드 애플리케이션이 응답하는 데 걸린 시간, 서버가 콘텐츠를 생성하고 잠재적으로 데이터베이스 쿼리를 가져오는 데 걸리는 시간, 백 엔드에서 Application Gateway에 도달하기 위해 응답의 첫 번째 바이트가 소요된 시간을 근사화합니다.
  • 백 엔드 마지막 바이트 응답 시간입니다. 이 값은 백 엔드 첫 번째 바이트 응답 시간과 데이터 전송 시간의 합계를 근사합니다. 이 수는 요청된 개체의 크기와 서버 네트워크의 대기 시간에 따라 크게 달라집니다.
  • Application Gateway 총 시간입니다. 이 간격은 Application Gateway에서 HTTP 요청의 첫 번째 바이트를 수신하여 마지막 응답 바이트가 클라이언트에 전송된 시간입니다.
  • 클라이언트 RTT. 클라이언트와 Application Gateway 간의 평균 왕복 시간입니다.

Application Gateway v2 SKU에 대한 메트릭

Application Gateway v2 SKU의 경우 다음 메트릭을 사용할 수 있습니다. 다음은 이전 메트릭 테이블에 이미 나열된 메트릭에 대한 확장된 설명입니다.

  • 받은 바이트 수입니다. 이 메트릭은 Application Gateway에서 관찰하는 요청 콘텐츠 크기만을 차지합니다. TLS 헤더 협상, TCP/IP 패킷 헤더 또는 재전송과 같은 데이터 전송은 포함되지 않습니다.
  • 보낸 바이트 수입니다. 이 메트릭은 Application Gateway에서 제공하는 응답 콘텐츠 크기만을 차지합니다. TCP/IP 패킷 헤더 또는 재전송과 같은 데이터 전송은 포함되지 않습니다.
  • 클라이언트 TLS 프로토콜입니다. TLS 및 비 TLS 요청 수입니다.
  • 현재 용량 단위입니다. 용량 단위에는 컴퓨팅 단위, 영구 연결 및 처리량의 세 가지 결정 요소가 있습니다. 각 용량 단위는 최대 하나의 컴퓨팅 단위 또는 2,500개의 영구 연결 또는 2.22Mbps 처리량으로 구성됩니다.
  • 현재 컴퓨팅 단위입니다. 컴퓨팅 단위에 영향을 주는 요소는 TLS 연결/초, URL 다시 쓰기 계산 및 WAF 규칙 처리입니다.
  • 현재 연결. 클라이언트에서 Application Gateway로 활성 상태인 총 동시 연결 수입니다.
  • 예상 청구 용량 단위입니다. v2 SKU를 사용하면 소비가 가격 책정 모델을 구동합니다. 용량 단위는 고정 비용 외에 청구되는 소비 기반 비용을 측정합니다. *예상 청구 용량 단위는 청구 비용을 산정하는 데 사용되는 용량 단위의 수를 나타냅니다. 이 금액은 현재 용량 단위(트래픽 부하를 분산하는 데 필요한 용량 단위)와 고정 청구 가능 용량 단위(프로비전된 최소 용량 단위) 사이의 더 큰 값으로 계산됩니다.
  • 실패한 요청입니다. 이 값에는 Application Gateway에서 생성된 5xx 코드와 백 엔드에서 생성된 5xx 코드가 포함됩니다. 각/특정 백 엔드 풀-http 설정 조합의 수를 표시하도록 요청 수를 추가로 필터링할 수 있습니다.
  • 청구 가능한 용량 단위가 수정되었습니다. Application Gateway 구성의 최소 배율 단위 설정에 따라 프로비전된 상태로 유지되는 최소 용량 단위 수입니다. 하나의 인스턴스는 10개의 용량 단위로 변환됩니다.
  • 초당 새 연결 수입니다. 클라이언트에서 Application Gateway로 설정되고 Application Gateway에서 백 엔드 멤버로 설정된 초당 평균 새 TCP 연결 수입니다.
  • 응답 상태입니다. 2xx, 3xx, 4xx 및 5xx 범주로 응답을 표시하도록 응답 상태 코드 분산을 더욱 세분화할 수 있습니다.
  • 처리량. 이 메트릭은 Application Gateway에서 제공하는 콘텐츠 크기만을 차지합니다. TLS 헤더 협상, TCP/IP 패킷 헤더 또는 재전송과 같은 데이터 전송은 포함되지 않습니다.
  • 총 요청 수입니다. Application Gateway가 제공한 성공적인 요청입니다. 요청 수를 필터링하여 각/특정 백 엔드 풀-http 설정 조합당 개수를 표시할 수 있습니다.

Application Gateway v2 SKU에 대한 백 엔드 메트릭

Application Gateway v2 SKU의 경우 다음 백 엔드 메트릭을 사용할 수 있습니다. 다음은 이전 메트릭 테이블에 이미 나열된 백 엔드 메트릭에 대한 확장된 설명입니다.

  • 백 엔드 응답 상태입니다. Application Gateway에서 생성된 응답 코드를 포함하지 않고 백 엔드에서 반환된 HTTP 응답 상태 코드의 수입니다. 응답 상태 코드 분포는 응답을 2xx, 3xx, 4xx 및 5xx 범주로 표시하도록 분류할 수 있습니다.|
  • 정상 호스트 수입니다. 상태 프로브에 의해 정상으로 결정되는 호스트 수입니다. 특정 백 엔드 풀의 정상 호스트 수를 표시하도록 백 엔드 풀 기준으로 필터링할 수 있습니다.
  • 비정상 호스트 수입니다. 상태 프로브에 의해 비정상으로 결정되는 호스트 수입니다. 특정 백 엔드 풀의 비정상 호스트 수를 표시하도록 백 엔드 풀 기준으로 필터링할 수 있습니다.
  • 정상 호스트당 분당 요청 수입니다. 백 엔드 풀의 각 정상 멤버에서 받은 평균 요청 수(1분)입니다. BackendPool HttpSettings 차원을 사용하여 백 엔드 풀을 지정합니다.

Application Gateway v1 SKU에 대한 메트릭

Application Gateway v1 SKU의 경우 다음 메트릭을 사용할 수 있습니다. 다음은 이전 메트릭 테이블에 이미 나열된 메트릭에 대한 확장된 설명입니다.

  • CPU 사용률입니다. Application Gateway에 할당된 CPU의 사용률을 표시합니다. 정상적인 조건에서는 CPU 사용량이 정기적으로 90%를 초과하면 안 됩니다. 이러한 상황으로 인해 Application Gateway 뒤에 호스트되는 웹 사이트의 대기 시간이 발생하고 클라이언트 환경이 중단될 수 있기 때문입니다. 인스턴스 수를 늘리거나 더 큰 SKU 크기로 이동하거나 둘 다 수행하여 Application Gateway 구성을 수정함으로써 CPU 사용률을 간접적으로 제어하거나 향상시킬 수 있습니다.

  • 현재 연결. Application Gateway와 설정된 현재 연결 수입니다.

  • 실패한 요청입니다. 연결 문제로 실패한 요청 수입니다. 이 수에는 "요청 시간 초과" HTTP 설정 및 Application Gateway와 백 엔드 간의 연결 문제로 인해 실패한 요청이 초과되어 실패한 요청이 포함됩니다. 이 수에는 사용 가능한 정상 백 엔드가 없기 때문에 발생하는 오류는 포함되지 않습니다. 백 엔드의 4xx 및 5xx 응답도 이 메트릭의 일부로 간주되지 않습니다.

  • 응답 상태입니다. Application Gateway에서 반환된 HTTP 응답 상태입니다. 2xx, 3xx, 4xx 및 5xx 범주로 응답을 표시하도록 응답 상태 코드 분산을 더욱 세분화할 수 있습니다.

  • 처리량. Application Gateway가 제공한 초당 바이트 수입니다.

  • 총 요청 수입니다. Application Gateway가 제공하는 성공한 요청 수입니다. 각/특정 백 엔드 풀-http 설정 조합의 수를 표시하도록 요청 수를 추가로 필터링할 수 있습니다.

Application Gateway v1 SKU에 대한 백 엔드 메트릭

Application Gateway v1 SKU의 경우 다음 백 엔드 메트릭을 사용할 수 있습니다. 다음은 이전 메트릭 테이블에 이미 나열된 백 엔드 메트릭에 대한 확장된 설명입니다.

  • 정상 호스트 수입니다. 상태 프로브에서 정상으로 확인된 백 엔드 수입니다. 특정 백 엔드 풀의 정상 호스트 수를 표시하도록 백 엔드 풀 기준으로 필터링할 수 있습니다.

  • 비정상 호스트 수입니다. 상태 프로브에서 비정상으로 확인된 백 엔드 수입니다. 특정 백 엔드 풀의 비정상 호스트 수를 표시하도록 백 엔드 풀 기준으로 필터링할 수 있습니다.

백 엔드 상태 API

Application Gateway의 백 엔드 상태를 검색하기 위한 API 호출에 대한 자세한 내용은 애플리케이션 게이트웨이 - 백 엔드 상태를 참조하세요.

샘플 요청:

POST
https://management.azure.com/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/
applicationGateways/appgw/backendhealth?api-version=2021-08-01

이 POST 요청을 보낸 후 HTTP 202 Accepted 응답이 표시되어야 합니다. 응답 헤더에서 Location 헤더를 찾고 해당 URL을 사용하여 새 GET 요청을 보냅니다.

GET
https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/region-name/operationResults/GUID?api-version=2021-08-01

TLS/TCP 프록시 메트릭

Application Gateway는 TLS/TCP 프록시 모니터링을 지원합니다. 이제 Application Gateway에서 계층 4 프록시 기능을 사용할 수 있으므로 계층 7 및 계층 4 모두에 적용되는 몇 가지 일반적인 메트릭이 있습니다. 일부 계층 4 특정 메트릭이 있습니다. 다음 목록에서는 계층 4 사용에 적용할 수 있는 메트릭을 요약합니다.

  • 현재 연결
  • 초당 새 연결 수
  • 처리량
  • 정상 호스트 수
  • 비정상 호스트 수
  • 클라이언트 RTT
  • 백 엔드 연결 시간
  • 백 엔드 첫 번째 바이트 응답 시간입니다. BackendHttpSetting 차원에는 계층 7 및 계층 4 백 엔드 설정이 모두 포함됩니다.

자세한 내용은 이전 설명 및 메트릭 테이블을 참조하세요.

이러한 메트릭은 계층 4에만 적용됩니다.

  • 백 엔드 세션 기간입니다. 백 엔드 연결의 총 시간입니다. 새로운 연결 시작부터 종료까지의 평균 시간입니다. BackendHttpSetting 차원에는 계층 7 및 계층 4 백 엔드 설정이 모두 포함됩니다.
  • 연결 수명. 애플리케이션 게이트웨이에 대한 클라이언트 연결의 총 시간입니다. 새 연결 시작부터 종료까지의 평균 시간(밀리초)입니다.

TLS/TCP 프록시 백 엔드 상태

Application Gateway의 계층 4 프록시는 포털 및 REST API를 통해 백 엔드 풀의 개별 멤버의 상태를 모니터링하는 기능을 제공합니다.

스크린샷은 백 엔드 풀의 개별 멤버에 대한 상태를 보여줍니다.

메트릭 차원

메트릭 차원에 대한 자세한 내용은 다차원 메트릭을 참조하세요.

이 서비스에는 메트릭과 관련된 다음과 같은 차원이 있습니다.

  • 작업
  • BackendHttpSetting
  • BackendPool
  • BackendServer
  • BackendSettingsPool
  • 범주
  • 국가 코드
  • CustomRuleID
  • HttpStatusGroup
  • listener
  • 메서드
  • 모드
  • PolicyName
  • PolicyScope
  • RuleGroup
  • RuleGroupID
  • RuleId
  • RuleSetName
  • TlsProtocol

참고 항목

Application Gateway에 수신기가 둘 이상인 경우에는 항상 수신기 차원을 기준으로 필터링하여 보다 의미 있는 유추를 얻기 위해 다른 대기 시간 메트릭을 비교합니다.

리소스 로그

이 섹션에는 이 서비스에 대해 모을 수 있는 리소스 로그 유형이 나열되어 있습니다. 이 섹션은 Azure Monitor에서 지원되는 모든 리소스 로그 범주 유형 목록에서 가져옵니다.

Microsoft.Network/applicationGateways에 지원되는 리소스 로그 범주

범주 범주 표시 이름 로그 테이블 기본 로그 플랜 지원 수집 시간 변환 지원 예시 쿼리 내보낼 비용
ApplicationGatewayAccessLog Application Gateway 액세스 로그 AGWAccessLogs

Application Gateway 액세스 패턴을 보고 중요한 정보를 분석하는 모든 로그를 포함합니다. 여기에는 호출자의 IP, 요청된 URL, 응답 대기 시간, 반환 코드 및 바이트가 포함됩니다.

아니요 아니요
ApplicationGatewayFirewallLog Application Gateway 방화벽 로그 AGWFirewallLogs

웹 애플리케이션 방화벽으로 구성된 애플리케이션 게이트웨이의 검색 또는 방지 모드를 통해 기록되는 요청을 볼 수 있는 모든 로그를 포함합니다.

아니요 아니요
ApplicationGatewayPerformanceLog Application Gateway 성능 로그 AGWPerformanceLogs

Application Gateway 인스턴스의 성능을 볼 수 있는 모든 로그를 포함합니다. 이 로그는 제공된 총 요청, 처리량(바이트), 총 요청 처리량, 실패한 요청 수, 정상 및 비정상 백 엔드 인스턴스 수를 포함하여 각 인스턴스에 대한 성능 정보를 캡처합니다. 성능 로그는 v1 SKU에만 사용할 수 있습니다.

아니요 아니요
  • 액세스 로그. Access 로그를 사용하여 Application Gateway 액세스 패턴을 보고 중요한 정보를 분석할 수 있습니다. 이 정보에는 호출자의 IP, 요청된 URL, 응답 대기 시간, 반환 코드 및 바이트가 포함됩니다. 액세스 로그는 60초마다 수집됩니다. 이 로그에는 Application Gateway 인스턴스당 하나의 레코드가 포함됩니다. 이 속성은 instanceId Application Gateway 인스턴스를 식별합니다.

  • 방화벽 로그입니다. 방화벽 로그를 사용하여 웹 애플리케이션 방화벽으로 구성된 애플리케이션 게이트웨이의 검색 또는 방지 모드를 통해 기록된 요청을 볼 수 있습니다. 방화벽 로그는 60초마다 수집됩니다.

  • 성능 로그입니다. 성능 로그를 사용하여 Application Gateway 인스턴스의 성능을 확인할 수 있습니다. 이 로그는 인스턴스 단위로 처리된 총 요청 수, 처리량(바이트), 실패한 요청 수, 정상 및 비정상 백 엔드 인스턴스 수 등의 성능 정보를 캡처합니다. 성능 로그는 60초마다 수집됩니다.

    참고 항목

    성능 로그는 v1 SKU에 대해서만 사용할 수 있습니다. v2 SKU의 경우 성능 데이터에 대한 메트릭을 사용합니다.

액세스 로그 범주

액세스 로그는 사용 로깅에 자세히 설명된 대로 각 Application Gateway 인스턴스에서 사용하도록 설정한 경우에만 생성됩니다. 데이터는 로깅을 사용하도록 설정할 때 지정한 스토리지 계정에 저장됩니다. Application Gateway의 각 액세스는 표시된 대로 JSON 형식으로 기록됩니다.

참고 항목

TLS/TCP 프록시 관련 정보를 보려면 데이터 참조를 참조하세요.

Application Gateway 및 WAF v2 SKU의 경우:

설명
instanceId 요청을 처리한 Application Gateway 인스턴스
clientIP Application Gateway 직접 클라이언트의 IP. 다른 프록시가 애플리케이션 게이트웨이 앞에 있는 경우 이 값은 해당 프런트링 프록시의 IP를 표시합니다.
httpMethod 요청에서 사용된 HTTP 메서드
requestUri 받은 요청의 URI
UserAgent HTTP 요청 헤더의 사용자 에이전트
httpStatus Application Gateway에서 클라이언트로 반환한 HTTP 상태 코드
httpVersion 요청의 HTTP 버전
receivedBytes 받은 패킷의 크기(바이트)
sentBytes 보낸 패킷의 크기(바이트)
clientResponseTime 클라이언트로 전송된 첫 번째 바이트와 마지막 바이트 애플리케이션 게이트웨이 간의 시간 차이(초)입니다. 응답 또는 느린 클라이언트에 대한 Application Gateway의 처리 시간을 측정하는 데 유용합니다.
timeTaken 클라이언트 요청의 첫 번째 바이트가 처리되고 클라이언트에 대한 응답으로 마지막 바이트가 전송되는 데 걸리는 시간()입니다. 걸린 시간(Time-Taken) 필드에는 대개 요청 및 응답 패킷이 네트워크를 통해 이동하는 시간이 포함됩니다.
WAFEvaluationTime WAF에서 요청을 처리하는 데 걸리는 시간()입니다.
WAFMode 값은 검색 또는 방지일 수 있습니다.
transactionId 클라이언트에서 받은 요청의 상관 관계를 지정하는 고유 식별자입니다.
sslEnabled 백 엔드 풀에 대한 통신에서 TLS를 사용했는지 여부입니다. 유효한 값은 on과 off입니다.
sslCipher TLS 통신에 사용되는 암호화 도구 모음입니다(TLS가 사용 설정된 경우).
sslProtocol 사용되는 SSL/TLS 프로토콜입니다(TLS가 사용 설정된 경우).
sslClientVerify 클라이언트 인증서 확인 결과를 SUCCESS 또는 FAILED로 표시합니다. 실패한 상태는 오류 정보를 포함합니다.
sslClientCertificateFingerprint 설정된 TLS 연결에 대한 클라이언트 인증서의 SHA1 지문입니다.
sslClientCertificateIssuerName 설정된 TLS 연결에 대한 클라이언트 인증서의 발급자 DN 문자열입니다.
serverRouted Application Gateway에서 요청을 라우팅하는 백 엔드 서버입니다.
serverStatus 백 엔드 서버의 HTTP 상태 코드입니다.
serverResponseLatency 백 엔드 서버의 응답 대기 시간( 단위)입니다.
host 요청의 호스트 헤더에 나열된 주소입니다. 헤더 다시 쓰기를 사용하여 다시 작성하는 경우 이 필드에 업데이트된 호스트 이름이 포함됩니다.
originalRequestUriWithArgs 이 필드에는 원래 요청 URL이 포함됩니다.
requestUri 이 필드에는 Application Gateway에서 다시 쓰기 작업 후의 URL이 포함됩니다.
upstreamSourcePort 백 엔드 대상에 대한 연결을 시작할 때 Application Gateway에서 사용하는 원본 포트입니다.
originalHost 이 필드에는 원래 요청 호스트 이름이 포함됩니다.
error_info 4xx 및 5xx 오류의 원인입니다. 실패한 요청에 대한 오류 코드를 표시합니다. 이 문서의 오류 코드 테이블에 대한 자세한 내용입니다.
contentType 애플리케이션 게이트웨이에서 처리하거나 배달하는 콘텐츠 또는 데이터의 형식입니다.
{
    "timeStamp": "2021-10-14T22:17:11+00:00",
    "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
    "listenerName": "HTTP-Listener",
    "ruleName": "Storage-Static-Rule",
    "backendPoolName": "StaticStorageAccount",
    "backendSettingName": "StorageStatic-HTTPS-Setting",
    "operationName": "ApplicationGatewayAccess",
    "category": "ApplicationGatewayAccessLog",
    "properties": {
        "instanceId": "appgw_2",
        "clientIP": "185.42.129.24",
        "clientPort": 45057,
        "httpMethod": "GET",
        "originalRequestUriWithArgs": "\/",
        "requestUri": "\/",
        "requestQuery": "",
        "userAgent": "Mozilla\/5.0 (Windows NT 6.1; WOW64) AppleWebKit\/537.36 (KHTML, like Gecko) Chrome\/52.0.2743.116 Safari\/537.36",
        "httpStatus": 200,
        "httpVersion": "HTTP\/1.1",
        "receivedBytes": 184,
        "sentBytes": 466,
        "clientResponseTime": 0,
        "timeTaken": 0.034,
        "WAFEvaluationTime": "0.000",
        "WAFMode": "Detection",
        "transactionId": "592d1649f75a8d480a3c4dc6a975309d",
        "sslEnabled": "on",
        "sslCipher": "ECDHE-RSA-AES256-GCM-SHA384",
        "sslProtocol": "TLSv1.2",
        "sslClientVerify": "NONE",
        "sslClientCertificateFingerprint": "",
        "sslClientCertificateIssuerName": "",
        "serverRouted": "52.239.221.65:443",
        "serverStatus": "200",
        "serverResponseLatency": "0.028",
        "upstreamSourcePort": "21564",
        "originalHost": "20.110.30.194",
        "host": "20.110.30.194",
        "error_info":"ERRORINFO_NO_ERROR",
        "contentType":"application/json"
    }
}

참고 항목

clientIP 값이 127.0.0.1인 액세스 로그는 애플리케이션 게이트웨이 인스턴스에서 실행되는 내부 보안 프로세스에서 발생합니다. 이러한 로그 항목는 무시해도 됩니다.

Application Gateway 표준 및 WAF SKU(v1)의 경우:

설명
instanceId 요청을 처리한 Application Gateway 인스턴스
clientIP 요청에 대한 원래 IP
clientPort 요청에 대한 원래 포트
httpMethod 요청에서 사용된 HTTP 메서드
requestUri 받은 요청의 URI
RequestQuery 서버 라우팅: 요청을 보낸 백 엔드 풀 인스턴스.
X-AzureApplicationGateway-LOG-ID: 요청에 사용된 상관 관계 ID입니다. 백 엔드 서버에서 트래픽 문제를 해결하는 데 사용할 수 있습니다.
SERVER-STATUS: Application Gateway에서 백 엔드로부터 받은 HTTP 응답 코드
UserAgent HTTP 요청 헤더의 사용자 에이전트
httpStatus Application Gateway에서 클라이언트로 반환한 HTTP 상태 코드
httpVersion 요청의 HTTP 버전
receivedBytes 받은 패킷의 크기(바이트)
sentBytes 보낸 패킷의 크기(바이트)
timeTaken 요청을 처리하고 응답을 보내는 데 걸리는 시간(밀리초)입니다. 이 값은 Application Gateway가 HTTP 요청의 첫 번째 바이트를 수신하는 시간부터 응답 보내기 작업이 완료된 시간까지의 간격으로 계산됩니다. 걸린 시간(Time-Taken) 필드에는 대개 요청 및 응답 패킷이 네트워크를 통해 이동하는 시간이 포함됩니다.
sslEnabled 백 엔드 풀에 대한 통신에서 TLS/SSL을 사용했는지 여부. 유효한 값은 on과 off입니다.
host 요청이 백 엔드 서버로 전송된 호스트 이름입니다. 백 엔드 호스트 이름이 재정의되는 경우 이 이름에 반영됩니다.
originalHost 클라이언트로부터 Application Gateway가 요청을 받은 호스트 이름입니다.
{
    "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/PEERINGTEST/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
    "operationName": "ApplicationGatewayAccess",
    "time": "2017-04-26T19:27:38Z",
    "category": "ApplicationGatewayAccessLog",
    "properties": {
        "instanceId": "ApplicationGatewayRole_IN_0",
        "clientIP": "203.0.113.97",
        "clientPort": 46886,
        "httpMethod": "GET",
        "requestUri": "/phpmyadmin/scripts/setup.php",
        "requestQuery": "X-AzureApplicationGateway-CACHE-HIT=0&SERVER-ROUTED=10.4.0.4&X-AzureApplicationGateway-LOG-ID=aaaa0000-bb11-2222-33cc-444444dddddd&SERVER-STATUS=404",
        "userAgent": "-",
        "httpStatus": 404,
        "httpVersion": "HTTP/1.0",
        "receivedBytes": 65,
        "sentBytes": 553,
        "timeTaken": 205,
        "sslEnabled": "off",
        "host": "www.contoso.com",
        "originalHost": "www.contoso.com"
    }
}

애플리케이션 게이트웨이가 요청을 완료할 수 없는 경우 액세스 로그의 error_info 필드에 다음 이유 코드 중 하나를 저장합니다.

4XX 오류 4xx 오류 코드는 클라이언트의 요청에 문제가 있음을 나타내며 Application Gateway는 이를 처리할 수 없습니다.
ERRORINFO_INVALID_METHOD 클라이언트는 RFC를 준수하지 않는 요청을 보냈습니다. 가능한 이유: 서버에서 지원하지 않는 HTTP 메서드를 사용하는 클라이언트, 철자가 잘못된 메서드, 호환되지 않는 HTTP 프로토콜 버전 등
ERRORINFO_INVALID_REQUEST 잘못된 구문으로 인해 서버가 요청을 처리할 수 없습니다.
ERRORINFO_INVALID_VERSION 애플리케이션 게이트웨이가 잘못되었거나 지원되지 않는 HTTP 버전으로 요청을 받았습니다.
ERRORINFO_INVALID_09_METHOD 클라이언트가 HTTP 프로토콜 버전 0.9를 사용하여 요청을 보냈습니다.
ERRORINFO_INVALID_HOST "Host" 헤더에 제공된 값이 누락되었거나 형식이 잘못되었거나 예상 호스트 값과 일치하지 않습니다. 예를 들어, 기본 수신기가 없고 다중 사이트 수신기의 호스트 이름이 호스트와 일치하지 않는 경우입니다.
ERRORINFO_INVALID_CONTENT_LENGTH content-Length 헤더에서 클라이언트가 지정한 콘텐츠의 길이가 요청에 있는 실제 콘텐츠의 길이와 일치하지 않습니다.
ERRORINFO_INVALID_METHOD_TRACE 클라이언트는 애플리케이션 게이트웨이가 지원하지 않는 HTTP TRACE 메서드를 보냈습니다.
ERRORINFO_CLIENT_CLOSED_REQUEST 클라이언트는 유휴 제한 시간이 경과하기 전에 애플리케이션 게이트웨이와의 연결을 닫았습니다. 클라이언트 시간 제한 기간이 애플리케이션 게이트웨이의 유휴 시간 제한 기간보다 긴지 확인합니다.
ERRORINFO_REQUEST_URI_INVALID 클라이언트의 요청에 제공된 URI(Uniform Resource Identifier)에 문제가 있음을 나타냅니다.
ERRORINFO_HTTP_NO_HOST_HEADER 클라이언트가 호스트 헤더 없이 요청을 보냈습니다.
ERRORINFO_HTTP_TO_HTTPS_PORT 클라이언트가 HTTPS 포트에 일반 HTTP 요청을 보냈습니다.
ERRORINFO_HTTPS_NO_CERT 클라이언트가 상호 TLS 인증 중에 유효하고 적절하게 구성된 TLS 인증서를 보내지 않음을 나타냅니다.
5XX 오류 설명
ERRORINFO_UPSTREAM_NO_LIVE 애플리케이션 게이트웨이가 들어오는 요청을 처리할 활성 또는 연결 가능한 백 엔드 서버를 찾을 수 없습니다.
ERRORINFO_UPSTREAM_CLOSED_CONNECTION 백 엔드 서버가 예기치 않게 또는 요청이 완전히 처리되기 전에 연결을 닫았습니다. 이 조건은 백 엔드 서버가 한계에 도달하고 충돌하는 등으로 인해 발생할 수 있습니다.
ERRORINFO_UPSTREAM_TIMED_OUT 서버와 설정된 TCP 연결은 구성된 시간 제한 값보다 오래 걸리기 때문에 닫혔습니다.

방화벽 로그 범주

방화벽 로그는 로깅 사용에서 자세히 설명한 대로 각 애플리케이션 게이트웨이에 대해 사용하도록 설정한 경우에만 생성됩니다. 또한 이 로그를 사용하려면 애플리케이션 게이트웨이에서 웹 애플리케이션 방화벽을 구성해야 합니다. 데이터는 로깅을 사용하도록 설정할 때 지정한 스토리지 계정에 저장됩니다. 다음 데이터가 로깅됩니다.

설명
instanceId 방화벽 데이터가 생성되는 Application Gateway 인스턴스입니다. 다중 인스턴스 애플리케이션 게이트웨이의 경우 인스턴스마다 하나의 행이 있습니다.
clientIp 요청에 대한 원래 IP
clientPort 요청에 대한 원래 포트
requestUri 받은 요청의 URL
ruleSetType 규칙 집합 유형이며, 사용 가능한 값은 OWASP입니다.
ruleSetVersion 사용된 규칙 집합 버전이며, 사용 가능한 값은 2.2.9 및 3.0입니다.
ruleId 트리거 이벤트의 규칙 ID
message 사용자에게 친숙한 트리거 이벤트에 대한 메시지이며, 자세한 내용은 세부 정보 섹션에서 제공됩니다.
작업 요청에서 수행되는 동작이며, 사용 가능한 값은 차단 및 허용(사용자 지정 규칙의 경우), 일치(규칙이 요청의 일부와 일치하는 경우) 및 검색 및 차단됩니다(이러한 값은 WAF가 검색 또는 방지 모드에 있는지 여부에 따라 필수 규칙에 대한 값).
사이트 로그를 생성한 사이트이며, 현재 규칙이 전역이므로 Global만 나열됩니다.
details 트리거 이벤트의 세부 정보
details.message 규칙에 대한 설명
details.data 규칙과 일치하는 요청 내 특정 데이터
details.file 규칙이 포함된 구성 파일
details.line 이벤트를 트리거한 구성 파일의 줄 번호
hostname Application Gateway의 호스트 이름 또는 IP 주소입니다.
transactionId 지정된 트랜잭션에 대한 고유 ID로, 동일한 요청 내에서 발생한 여러 규칙 위반을 그룹화할 수 있습니다.
{
    "timeStamp": "2021-10-14T22:17:11+00:00",
    "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
    "operationName": "ApplicationGatewayFirewall",
    "category": "ApplicationGatewayFirewallLog",
    "properties": {
        "instanceId": "appgw_2",
        "clientIp": "185.42.129.24",
        "clientPort": "",
        "requestUri": "\/",
        "ruleSetType": "OWASP_CRS",
        "ruleSetVersion": "3.0.0",
        "ruleId": "920350",
        "message": "Host header is a numeric IP address",
        "action": "Matched",
        "site": "Global",
        "details": {
            "message": "Warning. Pattern match \\\"^[\\\\d.:]+$\\\" at REQUEST_HEADERS:Host .... ",
            "data": "20.110.30.194:80",
            "file": "rules\/REQUEST-920-PROTOCOL-ENFORCEMENT.conf",
            "line": "791"
        },
        "hostname": "20.110.30.194:80",
        "transactionId": "592d1649f75a8d480a3c4dc6a975309d",
        "policyId": "default",
        "policyScope": "Global",
        "policyScopeName": "Global"
    }
}

성능 로그 범주

성능 로그는 사용 로깅에 자세히 설명된 대로 각 Application Gateway 인스턴스에서 사용하도록 설정한 경우에만 생성됩니다. 데이터는 로깅을 사용하도록 설정할 때 지정한 스토리지 계정에 저장됩니다. 성능 로그 데이터는 1분 간격으로 생성됩니다. v1 SKU에만 사용할 수 있습니다. v2 SKU의 경우 성능 데이터에 대한 메트릭을 사용합니다. 다음 데이터가 로깅됩니다.

설명
instanceId 성능 데이터가 생성되는 Application Gateway 인스턴스입니다. 다중 인스턴스 애플리케이션 게이트웨이의 경우 인스턴스마다 하나의 행이 있습니다.
healthyHostCount 백 엔드 풀의 정상 호스트 수.
unHealthyHostCount 백 엔드 풀의 비정상 호스트 수.
requestCount 처리된 요청 수
대기 시간 인스턴스와 요청을 처리하는 백 엔드 사이의 평균 요청 대기 시간(밀리초)입니다.
failedRequestCount 실패한 요청 수
throughput 마지막 로그 이후의 평균 처리량(초당 바이트 수로 측정됨)
{
    "resourceId": "/SUBSCRIPTIONS/{subscriptionId}/RESOURCEGROUPS/{resourceGroupName}/PROVIDERS/MICROSOFT.NETWORK/APPLICATIONGATEWAYS/{applicationGatewayName}",
    "operationName": "ApplicationGatewayPerformance",
    "time": "2016-04-09T00:00:00Z",
    "category": "ApplicationGatewayPerformanceLog",
    "properties":
    {
        "instanceId":"ApplicationGatewayRole_IN_1",
        "healthyHostCount":"4",
        "unHealthyHostCount":"0",
        "requestCount":"185",
        "latency":"0",
        "failedRequestCount":"0",
        "throughput":"119427"
    }
}

참고 항목

대기 시간은 HTTP 요청의 첫 번째 바이트를 받은 시간부터 HTTP 응답의 마지막 바이트를 보낸 시간까지 계산됩니다. 즉 Application Gateway 처리 시간, 백 엔드로의 네트워크 사용 시간 및 백 엔드에서 요청을 처리하는 데 걸린 시간의 합계입니다.

Azure Monitor 로그 및 Log Analytics 테이블

Azure Application Gateway는 Azure Diagnostics 테이블을 사용하여 리소스 로그 정보를 저장합니다. 다음 열이 관련됩니다.

속성 설명
requestUri_s 클라이언트 요청의 URI입니다.
메시지 "SQL 주입 공격"과 같은 정보 메시지
userAgent_s 클라이언트 요청의 사용자 에이전트 세부 정보
ruleName_s 이 요청을 처리하는 데 사용되는 요청 라우팅 규칙
httpMethod_s 클라이언트 요청의 HTTP 메서드
instanceId_s 평가를 위해 클라이언트 요청이 라우팅되는 Appgw 인스턴스
httpVersion_s 클라이언트 요청의 HTTP 버전
clientIP_s 요청이 이루어진 IP
host_s 클라이언트 요청의 호스트 헤더
requestQuery_s 클라이언트 요청의 일부로 쿼리 문자열
sslEnabled_s 클라이언트 요청에 SSL이 활성화되어 있나요?

Azure Monitor 로그 테이블

이 섹션은 이 서비스와 관련이 있고 Kusto 쿼리를 사용하는 Log Analytics의 쿼리에 사용할 수 있는 Azure Monitor 로그 테이블을 나열합니다. 테이블에는 리소스 로그 데이터가 포함되며 수집 및 라우팅되는 항목에 따라 더 많은 데이터가 포함될 수 있습니다.

Application Gateway Microsoft.Network/applicationGateways

TLS/TCP 프록시 로그

Application Gateway의 계층 4 프록시는 액세스 로그를 통해 로그 데이터를 제공합니다. 이러한 로그는 게이트웨이의 진단 설정에서 구성된 경우에만 생성되고 게시됩니다. Azure Monitor 리소스 로그에 대해 지원되는 범주도 참조하세요.

참고 항목

TLS 수신기에 대한 상호 인증 세부 정보가 포함된 열은 현재 AzureDiagnostics 테이블을 통해서만 사용할 수 있습니다.

범주 리소스 로그 범주
ResourceGroup 애플리케이션 게이트웨이 리소스가 속한 리소스 그룹입니다.
SubscriptionId 애플리케이션 게이트웨이 리소스의 구독 ID입니다.
ResourceProvider 이 값은 MICROSOFT입니다. 애플리케이션 게이트웨이용 네트워크입니다.
리소스 애플리케이션 게이트웨이 리소스의 이름입니다.
ResourceType 이 값은 APPLICATIONGATEWAYS입니다.
ruleName 연결 요청을 처리한 라우팅 규칙의 이름입니다.
instanceId 요청을 처리한 Application Gateway 인스턴스
clientIP 요청에 대한 원래 IP
receivedBytes 클라이언트에서 게이트웨이로 수신된 데이터(바이트)입니다.
sentBytes 게이트웨이에서 클라이언트로 전송되는 데이터(바이트)입니다.
listenerName 클라이언트와의 프런트 엔드 연결을 설정한 수신기의 이름입니다.
backendSettingName 백 엔드 연결에 사용되는 백 엔드 설정의 이름입니다.
backendPoolName 백 엔드 연결을 설정하기 위해 대상 서버가 선택된 백 엔드 풀의 이름입니다.
프로토콜 TCP(TCP 또는 TLS와 관계없이 프로토콜 값은 항상 TCP임).
sessionTime 세션 기간(초)(이 값은 클라이언트->appgw 세션에 대한 값)입니다.
upstreamSentBytes 백 엔드 서버로 전송된 데이터(바이트)입니다.
upstreamReceivedBytes 백 엔드 서버로부터 수신된 데이터(바이트)입니다.
upstreamSessionTime 세션 기간(초)(이 값은 appgw-backend> 세션에 대한 값)입니다.
sslCipher TLS 통신(TLS 프로토콜 수신기용)에 사용되는 암호 도구 모음입니다.
sslProtocol SSL/TLS 프로토콜이 사용되고 있습니다(TLS 프로토콜 수신기용).
serverRouted 트래픽이 라우팅된 백 엔드 서버 IP 및 포트 번호입니다.
serverStatus 200 - 세션이 성공적으로 완료되었습니다. 400 - 클라이언트 데이터를 구문 분석할 수 없습니다. 500 - 내부 서버 오류. 502 - 잘못된 게이트웨이. 예를 들어 업스트림 서버에 연결할 수 없는 경우입니다. 503 - 서비스를 사용할 수 없음. 예: 연결 수에 따라 액세스가 제한되는 경우.
ResourceId Application Gateway 리소스 URI.

활동 로그

연결된 테이블에는 이 서비스의 활동 로그에 기록할 수 있는 작업이 나열되어 있습니다. 이 작업은 활동 로그에서 가능한 모든 리소스 공급자 작업의 하위 집합입니다.

활동 로그 항목의 스키마에 대한 자세한 내용은 활동 로그 스키마를 참조하세요.

Azure 활동 로그를 사용하여 Azure 구독에 제출된 모든 작업과 해당 상태를 볼 수 있습니다. 활동 로그 항목은 기본적으로 수집됩니다. Azure Portal에서 볼 수 있습니다. Azure 활동 로그는 이전에 운영 로그 및 감사 로그라고 했습니다.

Azure는 기본적으로 활동 로그를 생성합니다. 이러한 로그는 Azure 이벤트 로그 저장소에 90일 동안 유지됩니다. 이벤트 및 활동 로그 보기 문서를 참조하여 이러한 로그에 대해 자세히 알아보세요.