Azure Application Gateway 데이터 참조 모니터링
Azure Application Gateway의 모니터링 데이터 수집 및 분석에 대한 자세한 내용은 Azure Application Gateway 모니터링을 참조하세요.
Application Gateway v2 메트릭
리소스 공급자 및 유형: Microsoft.Network/applicationGateways
타이밍 메트릭
Application Gateway는 모두 밀리초 단위로 측정되는 요청 및 응답과 관련된 몇 가지 기본 제공 타이밍 메트릭을 제공합니다.
참고 항목
Application Gateway에 수신기가 둘 이상인 경우에는 항상 수신기 차원을 기준으로 필터링하여 보다 의미 있는 유추를 얻기 위해 다른 대기 시간 메트릭을 비교합니다.
메트릭 | 단위 | 설명 |
---|---|---|
백 엔드 연결 시간 | 밀리초 | 백 엔드 애플리케이션과의 연결을 설정하는 소요된 시간입니다. 여기에는 네트워크 대기 시간과 백 엔드 서버의 TCP 스택이 새 연결을 설정하는 데 걸리는 시간이 포함됩니다. TLS의 경우 핸드셰이크에 소요된 시간도 포함됩니다. |
백 엔드 첫 번째 바이트 응답 시간 | 밀리초 | 백 엔드 서버에 대한 연결을 설정하기 시작하는 시간과 응답 헤더의 첫 번째 바이트를 수신하기 시작하는 시간의 간격입니다. 이는 백 엔드 연결 시간, Application Gateway에서 백 엔드에 도달하는 요청에서 소요된 시간, 백 엔드 애플리케이션이 응답하는 데 소요된 시간(서버에서 콘텐츠를 생성하여 데이터베이스 쿼리를 가져오는 데 소요된 시간), 그리고 백 엔드에서 Application Gateway에 도달하는 응답의 첫 번째 바이트에서 소요된 시간의 대략적인 합입니다. |
백 엔드 마지막 바이트 응답 시간 | 밀리초 | 백 엔드 서버에 대한 연결을 설정하기 시작한 시간과 응답 본문의 마지막 바이트를 수신하기 시작하는 시간의 간격입니다. 이것은 백 엔드 첫 번째 바이트 응답 시간과 데이터 전송 시간의 합에 가깝습니다. 이 숫자는 요청된 개체의 크기와 서버 네트워크의 대기 시간에 따라 크게 달라질 수 있습니다. |
Application Gateway 총 시간 | 밀리초 | 수신할 요청을 처리하고 응답을 보내는 데 걸리는 평균 시간입니다. Application Gateway가 HTTP 요청의 첫 번째 바이트를 받은 시점부터 마지막 응답 바이트가 클라이언트로 전송된 시간까지의 간격입니다. 여기에는 모든 응답과 클라이언트 RTT를 전송하기 위해 Application Gateway에서 수행하는 Application Gateway, 백 엔드 마지막 바이트 응답 시간 등의 처리 시간이 포함됩니다. |
클라이언트 RTT | 밀리초 | 클라이언트와 Application Gateway 간의 평균 왕복 시간입니다. |
이러한 메트릭을 사용하여 관찰된 속도가 클라이언트 네트워크, Application Gateway 성능, 백 엔드 네트워크 및 백엔드 서버 TCP 스택 포화, 백 엔드 애플리케이션 성능 또는 큰 파일 크기 때문인지 여부를 확인할 수 있습니다.
예를 들어 백 엔드 첫 번째 바이트 응답 시간 추세에 스파이크가 있지만 백 엔드 연결 시간 추세가 안정적인 경우, Application Gateway와 백 엔드 간의 대기 시간과 연결 설정에 소요된 시간이 안정적임을 유추할 수 있으며, 백 엔드 애플리케이션의 응답 시간 증가로 인해 스파이크가 발생합니다. 반면에 백 엔드 첫 번째 바이트 응답 시간에 스파이크가 백 엔드 연결 시간의 해당 스파이크와 연결되어 있는 경우 Application Gateway와 백 엔드 서버 사이의 네트워크 또는 백 엔드 서버 TCP 스택이 포화 상태임을 추론할 수 있습니다.
백 엔드 마지막 바이트 응답 시간에 스파이크가 있지만 백 엔드 첫 번째 바이트 응답 시간은 안정적인 경우 스파이크가 요청되는 파일이 더 크기 때문이라고 추론할 수 있습니다.
마찬가지로Application Gateway 총 시간에 스파이크가 있지만 백 엔드 마지막 바이트 응답 시간이 안정적인 경우 이는 Application Gateway의 성능 병목 현상 또는 클라이언트와 Application Gateway 사이에 있는 네트워크의 병목 현상의 징후일 수 있습니다. 또한 클라이언트 RTT에 해당하는 스파이크가 있는 경우 클라이언트와 Application Gateway 간의 네트워크로 인해 성능이 저하되는 것을 나타냅니다.
Application Gateway 메트릭
메트릭 | 단위 | 설명 |
---|---|---|
받은 바이트 수 | 바이트 | Application Gateway가 클라이언트에서 받은 바이트 수입니다. (이 메트릭은 Application Gateway에서 관찰한 요청 콘텐츠 크기만 설명합니다. TLS 헤더 협상, TCP/IP 패킷 헤더 또는 재전송과 같은 데이터 전송은 포함하지 않습니다.) |
보낸 바이트 수 | 바이트 | Application Gateway가 클라이언트에 보낸 바이트 수입니다. (이 메트릭은 Application Gateway에서 제공하는 응답 콘텐츠 크기만 설명합니다. TCP/IP 패킷 헤더 또는 재전송과 같은 데이터 전송은 포함하지 않습니다.) |
클라이언트 TLS 프로토콜 | Count | Application Gateway와 연결을 설정한 클라이언트에서 시작한 TLS 및 비 TLS 요청 수입니다. TLS 프로토콜 배포를 보려면 TLS 프로토콜 차원으로 필터링합니다. |
현재 용량 단위 | Count | 트래픽 부하를 분산하는 데 사용되는 용량 단위 수입니다. 용량 단위에는 컴퓨팅 단위, 영구 연결 및 처리량의 세 가지 결정 요인이 있습니다. 각 용량 단위는 최대 1개의 컴퓨팅 단위 또는 2,500개의 영구 연결 또는 2.22Mbps의 처리량으로 구성됩니다. |
현재 컴퓨팅 단위 | Count | 사용된 프로세서 용량 수입니다. 컴퓨팅 단위에 영향을 주는 요소는 TLS 연결/초, URL 다시 쓰기 계산 및 WAF 규칙 처리입니다. |
현재 연결 | Count | 클라이언트에서 Application Gateway로 활성 상태인 총 동시 연결 수입니다. |
예상 청구 용량 단위 | Count | v2 SKU를 사용하는 경우 가격 책정 모델은 사용량에 따라 결정됩니다. 용량 단위는 고정 비용 외에 청구되는 소비 기반 비용을 측정합니다. *예상 청구 용량 단위는 청구 비용을 산정하는 데 사용되는 용량 단위의 수를 나타냅니다. 이 값은 현재 용량 단위(트래픽 부하를 분산하는 데 필요한 용량 단위)와 고정 청구 가능 용량 단위(프로비저닝된 최소 용량 단위) 중에서 더 큰 값으로 계산됩니다. |
실패한 요청 | Count | Application Gateway에서 5xx 서버 오류 코드와 함께 제공된 요청 수입니다. 여기에는 Application Gateway에서 생성된 5xx 코드와 백 엔드에서 생성된 5xx 코드가 포함됩니다. 각/특정 백 엔드 풀-http 설정 조합의 수를 표시하도록 요청 수를 추가로 필터링할 수 있습니다. |
고정 청구 가능 용량 단위 | Count | Application Gateway 구성에서 최소 배율 단위 설정(한 인스턴스는 10 개의 용량 단위로 변환됨)에 따라 프로비저닝된 최소 용량 단위 수입니다. |
초당 새 연결 수 | Count | 클라이언트에서 Application Gateway로 설정되고 Application Gateway에서 백 엔드 멤버로 설정된 초당 평균 새 TCP 연결 수입니다. |
응답 상태 | 상태 코드 | Application Gateway에서 반환된 HTTP 응답 상태입니다. 2xx, 3xx, 4xx 및 5xx 범주로 응답을 표시하도록 응답 상태 코드 분산을 더욱 세분화할 수 있습니다. |
처리량 | 바이트/초 | Application Gateway에서 제공하는 초당 바이트 수입니다. (이 메트릭은 Application Gateway에서 제공하는 콘텐츠 크기만 설명합니다. TLS 헤더 협상, TCP/IP 패킷 헤더 또는 재전송과 같은 데이터 전송은 포함하지 않습니다.) |
총 요청 수 | Count | Application Gateway가 제공하는 성공한 요청 수입니다. 각/특정 백 엔드 풀-http 설정 조합의 수를 표시하도록 요청 수를 추가로 필터링할 수 있습니다. |
백 엔드 메트릭
메트릭 | 단위 | 설명 |
---|---|---|
백 엔드 응답 상태 | Count | 백 엔드에서 반환된 HTTP 응답 상태 코드의 수입니다. 여기에는 Application Gateway에서 생성된 응답 코드가 포함되지 않습니다. 2xx, 3xx, 4xx 및 5xx 범주로 응답을 표시하도록 응답 상태 코드 분산을 더욱 세분화할 수 있습니다. |
정상 호스트 수 | Count | 상태 프로브에서 정상으로 확인된 백 엔드 수입니다. 특정 백 엔드 풀의 정상 호스트 수를 표시하도록 백 엔드 풀 기준으로 필터링할 수 있습니다. |
비정상 호스트 수 | Count | 상태 프로브에서 비정상으로 확인된 백 엔드 수입니다. 특정 백 엔드 풀의 비정상 호스트 수를 표시하도록 백 엔드 풀 기준으로 필터링할 수 있습니다. |
분당 요청 수/정상 호스트 | Count | 백 엔드 풀의 각 정상 멤버에서 받은 평균 요청 수(1분)입니다. BackendPool HttpSettings 차원을 사용하여 백 엔드 풀을 지정합니다. |
백 엔드 상태 API
애플리케이션 게이트웨이의 백 엔드 상태를 검색하는 API 호출에 대한 자세한 내용은 Application Gateway - 백 엔드 상태를 참조하세요.
샘플 요청: output POST https://management.azure.com/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/ applicationGateways/appgw/backendhealth?api-version=2021-08-01 After
이 POST 요청을 보낸 후 HTTP 202 수락 응답이 표시됩니다. 응답 헤더에서 위치 헤더를 찾고 해당 URL을 사용하여 새 GET 요청을 보냅니다.
output GET https://management.azure.com/subscriptions/subid/providers/Microsoft.Network/locations/region-name/operationResults/GUID?api-version=2021-08-01
Application Gateway TLS/TCP 프록시 모니터링
TLS/TCP 프록시 메트릭
이제 Application Gateway에서 계층 4 프록시 기능을 사용할 수 있으므로 몇 가지 공통 메트릭(계층 7과 계층 4 모두에 적용) 및 일부 계층 4 특정 메트릭이 있습니다. 다음 표에서는 계층 4 사용에 적용할 수 있는 모든 메트릭에 대해 설명합니다.
메트릭 | 설명 | Type | 차원 |
---|---|---|---|
현재 연결 | 활성 연결 수: 읽기, 쓰기 또는 대기. Application Gateway를 사용하여 설정된 현재 연결의 수입니다. | 일반적인 메트릭 | 없음 |
초당 새 커넥트이온 수 | 해당 분 동안 초당 처리된 연결의 평균 수입니다. | 일반적인 메트릭 | 없음 |
처리량 | 해당 분 동안의 데이터 흐름 속도(inBytes+ outBytes)입니다. | 일반적인 메트릭 | 없음 |
정상 호스트 수 | 정상 백 엔드 호스트의 수입니다. | 일반적인 메트릭 | 백 엔드설정풀 |
비정상 호스트 | 비정상 백 엔드 호스트의 수입니다. | 일반적인 메트릭 | 백 엔드설정풀 |
ClientRTT | 클라이언트와 Application Gateway 간의 평균 왕복 시간. | 일반적인 메트릭 | 수신기 |
백 엔드 연결 시간 | 백 엔드 서버와의 연결을 설정하는 데 소요된 시간입니다. | 일반적인 메트릭 | 수신기, BackendServer, BackendPool, BackendSetting |
백 엔드 첫 번째 바이트 응답 시간 | 백 엔드 서버에 대한 연결 설정 시작과 데이터의 첫 번째 바이트 수신 사이의 시간 간격(백 엔드 서버의 처리 시간 근사치). | 일반적인 메트릭 | 수신기, BackendServer, BackendPool, BackendHttpSetting* |
백 엔드 세션 기간 | 백 엔드 연결의 총 시간입니다. 새 연결 시작부터 종료까지의 평균 기간입니다. | L4 관련 | 수신기, BackendServer, BackendPool, BackendHttpSetting* |
에서 지정한 값을 초과하면 연결이 제거됩니다Connection Lifetime | 애플리케이션 게이트웨이에 대한 클라이언트 연결의 총 시간입니다. 새 연결 시작부터 종료까지의 평균 기간(밀리초)입니다. | L4 관련 | 수신기 |
*
BackendHttpSetting 차원에는 계층 7 및 계층 4 백 엔드 설정이 모두 포함됩니다.
TLS/TCP 프록시 로그
Application Gateway의 계층 4 프록시는 액세스 로그를 통해 로그 데이터를 제공합니다. 이러한 로그는 게이트웨이의 진단 설정에 구성된 경우에만 생성되고 게시됩니다.
- Azure Monitor 리소스 로그에 대해 지원되는 범주도 참조 하세요.
범주 | 리소스 로그 범주 |
---|---|
ResourceGroup | 애플리케이션 게이트웨이 리소스가 속한 리소스 그룹입니다. |
SubscriptionId | 애플리케이션 게이트웨이 리소스의 구독 ID입니다. |
ResourceProvider | MICROSOFT가 됩니다. 애플리케이션 게이트웨이용 네트워크입니다. |
리소스 | 애플리케이션 게이트웨이 리소스의 이름입니다. |
ResourceType | APPLICATIONGATEWAYS입니다. |
ruleName | 연결 요청을 처리한 라우팅 규칙의 이름입니다. |
instanceId | 요청을 처리한 Application Gateway 인스턴스 |
clientIP | 요청에 대한 원래 IP입니다. |
receivedBytes | 클라이언트에서 게이트웨이로 받은 데이터(바이트)입니다. |
sentBytes | 게이트웨이에서 클라이언트로 전송된 데이터(바이트)입니다. |
listenerName | 클라이언트와의 프런트 엔드 연결을 설정한 수신기의 이름입니다. |
backendSettingName | 백 엔드 연결에 사용되는 백 엔드 설정의 이름입니다. |
backendPoolName | 백 엔드 연결을 설정하기 위해 대상 서버를 선택한 백 엔드 풀의 이름입니다. |
프로토콜 | TCP(TCP 또는 TLS와 관계없이 프로토콜 값은 항상 TCP임). |
sessionTime | 세션 기간(초)(클라이언트->appgw 세션용) |
업스트림SentBytes | 백 엔드 서버로 전송된 데이터(바이트)입니다. |
업스트림ReceivedBytes | 백 엔드 서버에서 받은 데이터(바이트)입니다. |
업스트림SessionTime | 세션 기간(초)(appgw-backend> 세션용) |
sslCipher | TLS 통신(TLS 프로토콜 수신기용)에 사용되는 암호 그룹입니다. |
sslProtocol | 사용 중인 SSL/TLS 프로토콜(TLS 프로토콜 수신기용). |
serverRouted | 트래픽이 라우팅된 백 엔드 서버 IP 및 포트 번호입니다. |
serverStatus | 200 - 세션이 성공적으로 완료되었습니다. 400 - 클라이언트 데이터를 구문 분석할 수 없습니다. 500 - 내부 서버 오류입니다. 502 - 잘못된 게이트웨이. 예를 들어 업스트림 서버에 연결할 수 없는 경우입니다. 503 - 서비스를 사용할 수 없습니다. 예를 들어 연결 수에 따라 액세스가 제한되는 경우입니다. |
ResourceId | Application Gateway 리소스 URI |
TLS/TCP 프록시 백 엔드 상태
Application Gateway의 계층 4 프록시는 포털 및 REST API를 통해 백 엔드 풀의 개별 멤버의 상태를 모니터링하는 기능을 제공합니다.
Application Gateway v1 메트릭
Application Gateway 메트릭
메트릭 | 단위 | 설명 |
---|---|---|
CPU 사용률 | 퍼센트 | Application Gateway에 할당된 CPU 사용량을 표시합니다. 정상적인 조건에서 CPU 사용량은 Application Gateway 뒤에 호스트되는 웹 사이트에서 대기 시간이 발생하고 클라이언트 경험에 방해가 될 수 있으므로 일반적으로 90%를 초과해서는 안 됩니다. 인스턴스 수를 늘리거나, 보다 큰 SKU 크기로 이동하거나, 해당 작업을 둘 다 수행하여 Application Gateway 구성을 수정함으로써 CPU 사용량을 간접적으로 컨트롤하거나 향상시킬 수 있습니다. |
현재 연결 | Count | Application Gateway와 설정된 현재 연결 수입니다. |
실패한 요청 | Count | 연결 문제로 인해 실패한 요청 수입니다. 이 수에는 요청 시간 초과 HTTP 설정 및 Application Gateway와 백 엔드 간의 연결 문제로 인해 실패한 요청이 초과되어 실패한 요청이 포함됩니다. 이 수에는 사용 가능한 정상 백 엔드가 없기 때문에 발생하는 오류는 포함되지 않습니다. 백 엔드의 4xx 및 5xx 응답도 이 메트릭의 일부로 간주되지 않습니다. |
응답 상태 | 상태 코드 | Application Gateway에서 반환된 HTTP 응답 상태입니다. 2xx, 3xx, 4xx 및 5xx 범주로 응답을 표시하도록 응답 상태 코드 분산을 더욱 세분화할 수 있습니다. |
처리량 | 바이트/초 | Application Gateway에서 제공하는 초당 바이트 수입니다. |
총 요청 수 | Count | Application Gateway가 제공하는 성공한 요청 수입니다. 각/특정 백 엔드 풀-http 설정 조합의 수를 표시하도록 요청 수를 추가로 필터링할 수 있습니다. |
Web Application Firewall 차단 요청 수 | Count | WAF에 의해 차단된 요청 수입니다. |
웹 애플리케이션 방화벽 차단 요청 배포 | Count | 각 WAF 규칙 그룹/특정 WAF 규칙 그룹 또는 WAF 규칙 ID 조합당 개수를 표시하도록 필터링된 WAF에 의해 차단된 요청 수입니다. |
웹 애플리케이션 방화벽 총 규칙 배포 | Count | 각 특정 WAF 규칙 그룹 또는 WAF 규칙 ID 조합당 수신된 요청 수입니다. |
보다 자세한 정보는 Azure Monitor에서 지원되는 모든 플랫폼 메트릭을 참조하세요.
메트릭 차원
메트릭 차원에 대한 자세한 내용은 다차원 메트릭을 참조 하세요.
Azure Application Gateway는 Azure Monitor의 일부 메트릭에 대한 차원을 지원합니다. 각 메트릭에는 해당 메트릭에 대해 사용 가능한 측정 기준을 설명하는 설명이 포함되어 있습니다.
리소스 로그
이 섹션에는 Azure Application Gateway에 대해 수집할 수 있는 리소스 로그 유형이 나열되어 있습니다.
Azure Monitor에서 지원되는 모든 리소스 로그 범주 유형 목록을 참조하세요.
참고 항목
성능 로그는 v1 SKU에 대해서만 사용할 수 있습니다. v2 SKU의 경우 성능 데이터에 Application Gateway v2 메트릭을 사용합니다.
자세한 내용은 Application Gateway에 대한 백 엔드 상태 및 진단 로그를 참조 하세요.
Application Gateway
리소스 공급자 및 유형: Microsoft.Network/applicationGateways
범주 | 표시 이름 | 정보 |
---|---|---|
Activitylog | 활동 로그 | 활동 로그 항목은 기본적으로 수집됩니다. Azure 활동 로그(이전의 작업 로그 및 감사 로그)를 사용하여 Azure 구독에 제출된 모든 작업과 상태를 확인할 수 있습니다. |
ApplicationGatewayAccessLog | 액세스 로그 | 이 로그를 사용하여 Application Gateway 액세스 패턴을 확인하고 중요한 정보를 분석할 수 있습니다. 여기에는 호출자의 IP 주소, 요청된 URL, 응답 대기 시간, 반환 코드, 바이트 입출력이 포함됩니다. 액세스 로그는 60초마다 수집됩니다. 이 로그에는 Application Gateway 인스턴스당 하나의 레코드가 포함됩니다. Application Gateway 인스턴스는 instanceId 속성으로 식별됩니다. |
ApplicationGatewayPerformanceLog | 성능 로그 | 이 로그를 사용하여 Application Gateway 인스턴스를 수행하는 방법을 확인할 수 있습니다. 이 로그는 인스턴스 단위로 처리된 총 요청 수, 처리량(바이트), 실패한 요청 수, 정상 및 비정상 백 엔드 인스턴스 수 등의 성능 정보를 캡처합니다. 성능 로그는 60초마다 수집됩니다. 성능 로그는 v1 SKU에 대해서만 사용할 수 있습니다. v2 SKU의 경우 성능 데이터에 Application Gateway v2 메트릭을 사용합니다. |
ApplicationGatewayFirewallLog | 방화벽 로그 | 이 로그를 사용하면 웹 애플리케이션 방화벽으로 구성된 애플리케이션 게이트웨이의 검색 모드 또는 방지 모드를 통해 로깅된 요청을 확인할 수 있습니다. 방화벽 로그는 60초마다 수집됩니다. |
Azure Monitor 로그 테이블
이 섹션에서는 Azure Application Gateway와 관련된 모든 Azure Monitor 로그 Kusto 테이블을 참조하고 로그 분석 쿼리를 사용할 수 있습니다.
리소스 종류 | 주의 |
---|---|
Application Gateway | AzureActivity, AzureDiagnostics 및 AzureMetrics 포함 |
모든 Azure Monitor Logs/Log Analytics 테이블에 대한 참조는 Azure Monitor 로그 테이블 참조를 확인하세요.
진단 테이블
Azure Application Gateway는 Azure Diagnostics 테이블을 사용하여 리소스 로그 정보를 저장합니다. 다음 열이 관련됩니다.
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 Application Gateway 모니터링에 대한 설명은 Azure Application Gateway 모니터링을 참조하세요.
- Azure 리소스 모니터링에 대한 자세한 내용은 Azure Monitor를 사용하여 Azure 리소스 모니터링을 참조하세요.