CloudWatch Application Load Balancer의 지표 - Elastic Load Balancing

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

CloudWatch Application Load Balancer의 지표

Elastic Load Balancing은 로드 밸런서와 CloudWatch 대상에 대한 데이터 포인트를 Amazon에 게시합니다. CloudWatch이러한 데이터 포인트에 대한 통계를 지표라고 하는 정렬된 시계열 데이터 집합으로 검색할 수 있습니다. 지표를 모니터링할 변수로 생각하면 데이터 요소는 시간에 따른 변수의 값을 나타냅니다. 예를 들어 지정된 기간 동안 로드 밸런서에 대한 정상 상태 대상의 총 수를 모니터링할 수 있습니다. 각 데이터 요소에는 연결된 타임스탬프와 측정 단위(선택 사항)가 있습니다.

지표를 사용하여 시스템이 예상대로 수행되고 있는지 확인할 수 있습니다. 예를 들어, 지정된 지표를 모니터링하는 CloudWatch 경보를 만들어 지표가 허용 범위를 벗어나는 경우 이메일 주소로 알림을 보내는 등의 작업을 시작할 수 있습니다.

Elastic Load Balancing은 요청이 로드 밸런서를 통과하는 CloudWatch 경우에만 지표를 보고합니다. 로드 밸런서를 통과하는 요청이 있는 경우 Elastic Load Balancing은 60초 간격으로 지표를 측정하고 전송합니다. 로드 밸런서를 통과하고 있는 요청이 없는 경우나 지표에 대한 데이터가 없는 경우에는 지표가 보고되지 않습니다.

자세한 내용은 Amazon CloudWatch 사용 설명서를 참조하십시오.

Application Load Balancer 지표

AWS/ApplicationELB 네임스페이스에는 다음 로드 밸런서 지표가 포함되어 있습니다.

측정치 설명
ActiveConnectionCount

클라이언트에서 로드 밸런서로, 그리고 로드 밸런서에서 대상으로 동시에 연결되는 활성 TCP 연결 총 수.

보고 기준: 0이 아닌 값이 있을 때

통계: 가장 유용한 통계는 Sum입니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

AnomalousHostCount

이상 징후가 감지된 호스트의 수.

보고 기준: 항상 보고

통계: 가장 유용한 통계는 Average, MinimumMaximum입니다.

차원
  • TargetGroup, LoadBalancer

  • TargetGroup, AvailabilityZone, LoadBalancer

ClientTLSNegotiationErrorCount

TLS 오류로 인해 로드 밸런서와 세션을 구성하지 않은 클라이언트에서 시작된 TLS 연결 수. 가능한 원인으로는 암호 또는 프로토콜 불일치나 클라이언트의 서버 인증서 확인 실패 및 연결 종료가 있습니다.

보고 기준: 0이 아닌 값이 있을 때

통계: 가장 유용한 통계는 Sum입니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ConsumedLCUs

로드 밸런서에서 사용하는 로드 밸런서 용량 단위(LCU) 수. 시간 단위로 사용한 LCU 수만큼 요금을 지불하면 됩니다. 자세한 내용은 Elastic Load Balancing 요금을 참조하세요.

보고 기준: 항상 보고

통계: 모두

차원
  • LoadBalancer

DesyncMitigationMode_NonCompliant_Request_Count

RFC 7230을 준수하지 않는 요청 수입니다.

보고 기준: 0이 아닌 값이 있을 때

통계: 가장 유용한 통계는 Sum입니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

DroppedInvalidHeaderRequestCount

로드 밸런서가 요청을 라우팅하기 전에 유효하지 않은 헤더 필드가 있는 HTTP 헤더를 제거한 요청 수입니다. 로드 밸런서는 routing.http.drop_invalid_header_fields.enabled 속성이 true로 설정된 경우에만 이러한 헤더를 제거합니다.

보고 기준: 0이 아닌 값이 있을 때

통계: 모두

차원
  • AvailabilityZone, LoadBalancer

MitigatedHostCount

완화 대상 수.

보고 기준: 항상 보고

통계: 가장 유용한 통계는 Average, MinimumMaximum입니다.

차원
  • TargetGroup, LoadBalancer

  • TargetGroup, AvailabilityZone, LoadBalancer

ForwardedInvalidHeaderRequestCount

유효하지 않은 헤더 필드가 있는 HTTP 헤더가 포함된 로드 밸런서가 라우팅한 요청 수입니다. 로드 밸런서는 routing.http.drop_invalid_header_fields.enabled 속성이 false로 설정된 경우에만 이러한 헤더와 함께 요청을 전달합니다.

보고 기준: 항상 보고

통계: 모두

차원
  • AvailabilityZone, LoadBalancer

GrpcRequestCount

IPv4 및 IPv6를 통해 처리된 gRPC 요청 수입니다.

보고 기준: 0이 아닌 값이 있을 때

통계: 가장 유용한 통계는 Sum입니다. Minimum, MaximumAverage은(는) 모두 1을 반환합니다.

차원
  • LoadBalancer, TargetGroup

  • AvailabilityZone, LoadBalancer, TargetGroup

  • TargetGroup

  • AvailabilityZone, TargetGroup

HTTP_Fixed_Response_Count

성공한 고정 응답 작업의 수입니다.

보고 기준: 0이 아닌 값이 있을 때

통계: 유일하게 의미 있는 통계는 Sum입니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

HTTP_Redirect_Count

성공한 리디렉션 작업의 수입니다.

보고 기준: 0이 아닌 값이 있을 때

통계: 유일하게 의미 있는 통계는 Sum입니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

HTTP_Redirect_Url_Limit_Exceeded_Count

응답 위치 헤더의 URL이 8K보다 크기 때문에 완료할 수 없는 리디렉션 작업의 수입니다.

보고 기준: 0이 아닌 값이 있을 때

통계: 유일하게 의미 있는 통계는 Sum입니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

HTTPCode_ELB_3XX_Count

로드 밸런서에서 생성되는 HTTP 3XX 리디렉션 코드의 수입니다. 단, 대상에서 생성된 응답 코드 수는 여기에 포함되지 않습니다.

보고 기준: 0이 아닌 값이 있을 때

통계: 유일하게 의미 있는 통계는 Sum입니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

HTTPCode_ELB_4XX_Count

로드 밸런서에서 생성된 HTTP 4XX 클라이언트 오류 코드 수. 단, 대상에서 생성된 응답 코드 수는 여기에 포함되지 않습니다.

클라이언트 오류는 요청 형식이 잘못되었거나 불완전할 때 생성됩니다. 로드 밸런서가 HTTP 460 오류 코드를 반환하는 경우를 제외하고 대상에서는 이러한 요청이 수신되지 않습니다. 단, 대상에서 생성된 응답 코드 수는 여기에 포함되지 않습니다.

보고 기준: 0이 아닌 값이 있을 때

통계: 가장 유용한 통계는 Sum입니다. Minimum, MaximumAverage은(는) 모두 1을 반환합니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

HTTPCode_ELB_5XX_Count

로드 밸런서에서 생성된 HTTP 5XX 서버 오류 코드 수. 단, 대상에서 생성된 응답 코드 수는 여기에 포함되지 않습니다.

보고 기준: 0이 아닌 값이 있을 때

통계: 가장 유용한 통계는 Sum입니다. Minimum, MaximumAverage은(는) 모두 1을 반환합니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

HTTPCode_ELB_500_Count

로드 밸런서에서 생성된 HTTP 500 오류 코드 수.

보고 기준: 0이 아닌 값이 있을 때

통계: 유일하게 의미 있는 통계는 Sum입니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

HTTPCode_ELB_502_Count

로드 밸런서에서 생성된 HTTP 502 오류 코드 수.

보고 기준: 0이 아닌 값이 있을 때

통계: 유일하게 의미 있는 통계는 Sum입니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

HTTPCode_ELB_503_Count

로드 밸런서에서 생성된 HTTP 503 오류 코드 수.

보고 기준: 0이 아닌 값이 있을 때

통계: 유일하게 의미 있는 통계는 Sum입니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

HTTPCode_ELB_504_Count

로드 밸런서에서 생성된 HTTP 504 오류 코드 수.

보고 기준: 0이 아닌 값이 있을 때

통계: 유일하게 의미 있는 통계는 Sum입니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

IPv6ProcessedBytes

로드 밸런서에서 IPv6를 통해 처리된 총 바이트 수. 이 수는 ProcessedBytes에 포함됩니다.

보고 기준: 0이 아닌 값이 있을 때

통계: 가장 유용한 통계는 Sum입니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

IPv6RequestCount

로드 밸런서가 수신한 IPv6 요청 수.

보고 기준: 0이 아닌 값이 있을 때

통계: 가장 유용한 통계는 Sum입니다. Minimum, MaximumAverage은(는) 모두 1을 반환합니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

NewConnectionCount

클라이언트에서 로드 밸런서로, 그리고 로드 밸런서에서 대상으로 새롭게 구성된 TCP 연결 총 수

보고 기준: 0이 아닌 값이 있을 때

통계: 가장 유용한 통계는 Sum입니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

NonStickyRequestCount

로드 밸런서가 기존 고정 세션을 사용할 수 없기 때문에 새 대상을 선택한 요청 수입니다. 예를 들어, 요청이 새 클라이언트의 첫 번째 요청이었고 고정 쿠키가 제공되지 않았거나, 고정 쿠키가 제공되었지만 이 대상 그룹에 등록된 대상을 지정하지 않았거나, 고정 그룹이 잘못된 형식이거나 만료되었거나, 내부 오류로 인해 로드 밸런서가 고정 쿠키를 읽을 수 없었습니다.

Reporting criteria(보고 기준): 대상 그룹에서 고정이 활성화됩니다.

통계: 유일하게 의미 있는 통계는 Sum입니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ProcessedBytes

로드 밸런서에서 IPv4 및 IPv6를 통해 처리된 총 바이트 수(HTTP 헤더 및 HTTP 페이로드)입니다. 이 수에는 클라이언트와 Lambda 함수로 송수신하는 트래픽과 IdP(ID 공급자)가 보내는 트래픽(사용자 인증이 활성화된 경우)이 포함됩니다.

보고 기준: 0이 아닌 값이 있을 때

통계: 가장 유용한 통계는 Sum입니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

RejectedConnectionCount

로드 밸런서가 최대 연결 수에 도달하여 거부된 연결 수

보고 기준: 0이 아닌 값이 있을 때

통계: 가장 유용한 통계는 Sum입니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

RequestCount

IPv4 및 IPv6를 통해 처리된 요청 수입니다. 이 지표는 로드 밸런서 노드가 대상을 선택할 수 있었던 요청에 대해서만 증가합니다. 대상이 선택되기 전에 거부된 요청은 이 지표에 반영되지 않습니다.

보고 기준: 항상 보고

통계: 가장 유용한 통계는 Sum입니다.

차원
  • LoadBalancer

  • LoadBalancer, AvailabilityZone

  • LoadBalancer, TargetGroup

  • LoadBalancer, AvailabilityZone, TargetGroup

RuleEvaluations

1시간 평균 요청 빈도를 기준으로 로드 밸런서에서 처리된 규칙 수

보고 기준: 0이 아닌 값이 있을 때

통계: 가장 유용한 통계는 Sum입니다.

차원
  • LoadBalancer

AWS/ApplicationELB 네임스페이스에는 다음 대상 지표가 포함되어 있습니다.

측정치 설명
HealthyHostCount

정상 상태로 간주되는 대상 수

보고 기준: 등록된 대상이 있는 경우 보고됩니다.

통계: 가장 유용한 통계는 Average, MinimumMaximum입니다.

차원
  • LoadBalancer, TargetGroup

  • LoadBalancer, AvailabilityZone, TargetGroup

HTTPCode_Target_2XX_Count, HTTPCode_Target_3XX_Count, HTTPCode_Target_4XX_Count, HTTPCode_Target_5XX_Count

대상에서 생성된 HTTP 응답 코드 수. 단, 로드 밸런서에서 생성된 응답 코드 수는 여기에 포함되지 않습니다.

보고 기준: 등록된 대상이 있는 경우 보고됩니다.

통계: 가장 유용한 통계는 Sum입니다. Minimum, MaximumAverage은(는) 모두 1을 반환합니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

  • TargetGroup, LoadBalancer

  • TargetGroup, AvailabilityZone, LoadBalancer

RequestCountPerTarget

대상 그룹의 대상당 평균 요청 수입니다. 대상 그룹은 TargetGroup 차원을 사용하여 지정해야 합니다. 대상이 Lambda 함수인 경우 이 지표는 적용되지 않습니다.

이 수는 대상 그룹에서 받은 총 요청 수를 대상 그룹의 정상 대상 수로 나눈 값입니다. 대상 그룹에 정상 대상이 없는 경우 이를 등록된 총 대상 수로 나눕니다.

보고 기준: 항상 보고

통계: 유일하게 유효한 통계는 Sum입니다. 이는 합계가 아니라 평균을 의미합니다.

차원
  • TargetGroup

  • TargetGroup, AvailabilityZone

  • LoadBalancer, TargetGroup

  • LoadBalancer, AvailabilityZone, TargetGroup

TargetConnectionErrorCount

로드 밸런서와 대상 사이에 성공적으로 구성되지 않은 연결 수 대상이 Lambda 함수인 경우 이 지표는 적용되지 않습니다.

보고 기준: 0이 아닌 값이 있을 때

통계: 가장 유용한 통계는 Sum입니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

  • TargetGroup, LoadBalancer

  • TargetGroup, AvailabilityZone, LoadBalancer

TargetResponseTime

요청이 로드 밸런서를 떠난 후 대상이 응답 헤더를 보내기 시작할 때까지의 경과 시간 (초) 입니다. 이 지표는 액세스 로그에서 target_processing_time 필드와 동일합니다.

보고 기준: 0이 아닌 값이 있을 때

통계: 가장 유용한 통계는 AveragepNN.NN입니다(백분위수).

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

  • TargetGroup, LoadBalancer

  • TargetGroup, AvailabilityZone, LoadBalancer

TargetTLSNegotiationErrorCount

대상과 세션을 구성하지 않은 로드 밸런서에서 시작된 TLS 연결 수. 가능한 원인으로는 암호 또는 프로토콜 불일치가 있습니다. 대상이 Lambda 함수인 경우 이 지표는 적용되지 않습니다.

보고 기준: 0이 아닌 값이 있을 때

통계: 가장 유용한 통계는 Sum입니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

  • TargetGroup, LoadBalancer

  • TargetGroup, AvailabilityZone, LoadBalancer

UnHealthyHostCount

비정상 상태로 간주되는 대상 수.

보고 기준: 등록된 대상이 있는 경우 보고됩니다.

통계: 가장 유용한 통계는 Average, MinimumMaximum입니다.

차원
  • LoadBalancer, TargetGroup

  • LoadBalancer, AvailabilityZone, TargetGroup

AWS/ApplicationELB 네임스페이스에는 다음 대상 그룹 상태에 대한 지표가 포함되어 있습니다. 자세한 정보는 대상 그룹 상태을 참조하세요.

측정치 설명
HealthyStateDNS

DNS 정상 상태 요구 사항을 충족하는 영역 수.

통계: 가장 유용한 통계는 Min입니다.

차원
  • LoadBalancer, TargetGroup

  • AvailabilityZone, LoadBalancer, TargetGroup

HealthyStateRouting

라우팅 정상 상태 요구 사항을 충족하는 영역 수.

통계: 가장 유용한 통계는 Min입니다.

차원
  • LoadBalancer, TargetGroup

  • AvailabilityZone, LoadBalancer, TargetGroup

UnhealthyRoutingRequestCount

라우팅 장애 조치 작업(페일 오픈)을 사용하여 라우팅된 요청 수.

통계: 가장 유용한 통계는 Sum입니다.

차원
  • LoadBalancer, TargetGroup

  • AvailabilityZone, LoadBalancer, TargetGroup

UnhealthyStateDNS

DNS 정상 상태 요구 사항을 충족하지 않아 DNS에서 비정상으로 표시된 영역 수.

통계: 가장 유용한 통계는 Min입니다.

차원
  • LoadBalancer, TargetGroup

  • AvailabilityZone, LoadBalancer, TargetGroup

UnhealthyStateRouting

라우팅 정상 상태 요구 사항을 충족하지 않아 로드 밸런서가 비정상 대상을 포함한 영역 내 모든 대상으로 트래픽을 분산하는 영역 수.

통계: 가장 유용한 통계는 Min입니다.

차원
  • LoadBalancer, TargetGroup

  • AvailabilityZone, LoadBalancer, TargetGroup

AWS/ApplicationELB 네임스페이스에는 대상으로 등록된 Lambda 함수에 대해 다음과 같은 지표가 포함됩니다.

측정치 설명
LambdaInternalError

로드 밸런서 또는 AWS Lambda에 내부적인 문제 때문에 실패한 Lambda 함수에 대한 요청 수입니다. 오류 이유 코드를 가져오려면 액세스 로그의 오류 이유 필드를 확인하십시오.

보고 기준: 0이 아닌 값이 있을 때

통계: 유일하게 의미 있는 통계는 Sum입니다.

차원
  • TargetGroup

  • TargetGroup, LoadBalancer

LambdaTargetProcessedBytes

Lambda 함수의 요청과 응답에 대해 로드 밸런서에서 처리된 총 바이트 수입니다.

보고 기준: 0이 아닌 값이 있을 때

통계: 유일하게 의미 있는 통계는 Sum입니다.

차원
  • LoadBalancer

LambdaUserError

Lambda 함수 문제 때문에 실패한 Lambda 함수에 대한 요청 수입니다. 예를 들어, 로드 밸런서가 함수를 호출할 권한이 없거나, 형식이 잘못되거나 필수 필드가 누락된 함수에서 로드 밸런서가 JSON을 수신했거나, 요청 본문 또는 응답의 크기가 1MB의 최대 크기를 초과했습니다. 오류 이유 코드를 가져오려면 액세스 로그의 오류 이유 필드를 확인하십시오.

보고 기준: 0이 아닌 값이 있을 때

통계: 유일하게 의미 있는 통계는 Sum입니다.

차원
  • TargetGroup

  • TargetGroup, LoadBalancer

AWS/ApplicationELB 네임스페이스에는 사용자 인증에 대한 다음 지표가 포함되어 있습니다.

측정치 설명
ELBAuthError

인증 작업이 잘못 구성되었거나, 로드 밸런서가 IdP와 연결을 설정할 수 없었거나, 로드 밸런서가 내부 오류로 인해 인증 흐름을 완료할 수 없었기 때문에 완료되지 않은 사용자 인증 수. 오류 이유 코드를 가져오려면 액세스 로그의 오류 이유 필드를 확인하십시오.

보고 기준: 0이 아닌 값이 있을 때

통계: 유일하게 의미 있는 통계는 Sum입니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ELBAuthFailure

IdP가 사용자에 대한 액세스를 거부했거나 인증 코드가 두 번 이상 사용되었기 때문에 완료되지 않은 사용자 인증 수. 오류 이유 코드를 가져오려면 액세스 로그의 오류 이유 필드를 확인하십시오.

보고 기준: 0이 아닌 값이 있을 때

통계: 유일하게 의미 있는 통계는 Sum입니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ELBAuthLatency

IdP에 ID 토큰 및 사용자 정보를 쿼리하는 데 경과한 시간(단위: 밀리초)입니다. 이러한 작업이 하나 이상 실패할 경우 이 지표는 실패까지의 시간입니다.

보고 기준: 0이 아닌 값이 있을 때

통계: 모든 통계가 의미 있습니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ELBAuthRefreshTokenSuccess

로드 밸런서가 IdP에서 제공된 새로 고침 토큰을 사용하여 사용자 클레임을 성공적으로 새로 고친 횟수입니다.

보고 기준: 0이 아닌 값이 있을 때

통계: 유일하게 의미 있는 통계는 Sum입니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ELBAuthSuccess

성공한 인증 작업의 수. 이 지표는 로드 밸런서가 IdP로부터 사용자 클레임을 검색한 후 인증 워크플로 종료 시 증가합니다.

보고 기준: 0이 아닌 값이 있을 때

통계: 가장 유용한 통계는 Sum입니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

ELBAuthUserClaimsSizeExceeded

구성된 IdP가 11K 바이트 크기를 초과하는 사용자 클레임을 반환한 횟수입니다.

보고 기준: 0이 아닌 값이 있을 때

통계: 유일하게 의미 있는 통계는 Sum입니다.

차원
  • LoadBalancer

  • AvailabilityZone, LoadBalancer

Application Load Balancer의 지표 차원

Application Load Balancer 지표를 필터링하려면 다음 차원을 사용하세요.

차원 설명
AvailabilityZone

가용 영역을 기준으로 지표 데이터를 필터링합니다.

LoadBalancer

로드 밸런서를 기준으로 지표 데이터를 필터링합니다. 다음과 같이 로드 밸런서를 지정합니다. app/ load-balancer-name/1234567890123456 (로드 밸런서 ARN의 마지막 부분).

TargetGroup

대상 그룹을 기준으로 지표 데이터를 필터링합니다. 대상 그룹을 다음과 같이 지정합니다. 대상 그룹/ target-group-name/1234567890123456 (대상 그룹 ARN의 마지막 부분).

Application Load Balancer 지표에 대한 통계

CloudWatch Elastic Load Balancing에서 게시한 지표 데이터 포인트를 기반으로 통계를 제공합니다. 통계는 지정한 기간에 걸친 지표 데이터 집계입니다. 통계를 요청하면 지표 이름 및 차원으로 반환된 데이터 스트림이 식별됩니다. 차원이란 지표를 고유하게 식별하는 데 도움이 되는 이름-값 쌍을 말합니다. 예를 들어 특정 가용 영역에서 시작된 로드 밸런서를 지원하는 정상 상태의 모든 EC2 인스턴스에 대한 통계를 요청할 수 있습니다.

MinimumMaximum 통계는 각 샘플링 창에서 개별 로드 밸런서 노드가 보고한 최소 및 최대 데이터 포인트 값을 반영합니다. 예를 들어 Application Load Balancer를 구성하는 로드 밸런서 노드가 2개라고 가정해 보겠습니다. 하나의 노드에는 HealthyHostCount이 2, Minimum이 10, Maximum가 6인 Average가 있으며 다른 노드에는 HealthyHostCount이 1, Minimum이 5, Maximum가 3인 Average가 있습니다. 따라서 로드 밸런서의 Minimum은 1, Maximum은 10, Average는 4입니다.

UnHealthyHostCountMinimum 통계에서 0이 아닌 값을 모니터링하고 둘 이상의 데이터 요소에 대해 0이 아닌 값에 대해 경보를 표시하는 것이 좋습니다. Minimum을 사용하면 로드 밸런서의 모든 노드와 가용 영역에서 대상이 비정상으로 간주되는 시점을 감지할 수 있습니다. Average 또는 Maximum 알람은 잠재적인 문제에 대한 알림을 받고 싶을 때 유용하며, 고객은 이 지표를 검토하여 0이 아닌 발생 항목을 조사하는 것이 좋습니다. Amazon EC2 Auto Scaling 또는 Amazon Elastic Container Service(Amazon ECS)에서 로드 밸런서 상태 확인을 사용하는 모범 사례에 따라 장애를 자동으로 완화할 수 있습니다.

Sum 통계는 모든 로드 밸런서 노드의 집계 값입니다. 지표에는 기간별 보고서가 여러 개 있기 때문에 Sum은 모든 로드 밸런서 노드에서 집계된 지표에만 적용할 수 있습니다.

SampleCount 통계는 측정된 샘플의 수입니다. 지표는 샘플링 간격 및 이벤트를 토대로 수집이 되기 때문에 일반적으로 이 통계는 유용하지 않습니다. 예를 들어 HealthyHostCount에 대해 SampleCount는 각 로드 밸런서 노드가 보고하는 샘플 수를 기반으로 하며 정상 호스트 수는 아닙니다.

백분위 수는 데이터 세트에서 값의 상대적 위치를 나타냅니다. 소수점 두 자리까지 사용하여 백분위 수를 지정할 수 있습니다(예: p95.45). 예를 들어 95 백분위는 데이터의 95%가 이 값보다 아래에 있고 5%가 위에 있다는 것을 의미합니다. 백분위 수는 종종 이상치를 격리하는 데 사용됩니다. 예를 들어 애플리케이션이 캐시에서 오는 요청의 대다수를 1-2 ms에 처리하지만, 캐시가 비어 있는 경우에는 처리에 100 - 200 ms가 걸린다고 가정해 봅시다. 최대값은 가장 느린 경우(200 ms 정도)를 반영합니다. 평균은 데이터의 분산을 나타내지 않습니다. 백분위 수는 애플리케이션 성능을 훨씬 의미 있는 방식으로 볼 수 있습니다. 99번째 백분위수를 Auto Scaling 트리거 또는 CloudWatch 경보로 사용하면 처리하는 데 걸리는 시간이 2ms 이상인 요청이 1% 를 넘지 않도록 지정할 수 있습니다.

로드 CloudWatch 밸런서의 지표 보기

Amazon EC2 콘솔을 사용하여 로드 밸런서의 CloudWatch 지표를 볼 수 있습니다. 이 측정치들은 모니터링 그래프로 표시됩니다. 로드 밸런서가 활성 상태로 요청을 수신 중에 있으면 모니터링 그래프에 데이터 요소가 표시됩니다.

또는 콘솔을 사용하여 로드 밸런서에 대한 지표를 볼 수도 있습니다. CloudWatch

콘솔을 사용한 메트릭 확인
  1. https://console.aws.amazon.com/ec2/에서 Amazon EC2 콘솔을 엽니다.

  2. 대상 그룹을 기준으로 필터링한 지표를 보려면 다음 작업을 수행합니다.

    1. 탐색 창에서 [Target Groups]를 선택합니다.

    2. 대상 그룹을 선택한 다음 [Monitoring] 탭을 선택합니다.

    3. (선택 사항) 시간을 기준으로 결과를 필터링하려면 [Showing data for]에서 시간 범위를 선택합니다.

    4. 단일 지표를 크게 보려면 그래프를 선택합니다.

  3. 로드 밸런서를 기준으로 필터링한 지표를 보려면 다음 작업을 수행합니다.

    1. 탐색 창에서 [Load Balancers]를 클릭합니다.

    2. 로드 밸런서를 선택한 다음 [Monitoring] 탭을 선택합니다.

    3. (선택 사항) 시간을 기준으로 결과를 필터링하려면 [Showing data for]에서 시간 범위를 선택합니다.

    4. 단일 지표를 크게 보려면 그래프를 선택합니다.

콘솔을 CloudWatch 사용하여 지표를 보려면
  1. https://console.aws.amazon.com/cloudwatch/ 에서 CloudWatch 콘솔을 엽니다.

  2. 탐색 창에서 [지표(Metrics)]를 선택합니다.

  3. [ApplicationELB] 네임스페이스를 선택합니다.

  4. (선택 사항) 모든 차원의 지표를 보려면 검색 필드에 이름을 입력합니다.

  5. (선택 사항) 차원을 기준으로 필터링하려면 다음 중 하나를 선택하십시오.

    • 로드 밸런서에 보고된 지표만 표시하려면 [Per AppELB Metrics]를 선택합니다. 단일 로드 밸런서에 대한 지표를 보려면 검색 필드에 해당되는 이름을 입력합니다.

    • 대상 그룹에 보고된 지표만 표시하려면 [Per AppELB, per TG Metrics]를 선택합니다. 단일 대상 그룹에 대한 지표를 보려면 검색 필드에 해당되는 이름을 입력합니다.

    • 가용 영역이 로드 밸런서에 대해 보고한 지표만 표시하려면 [Per AppELB, per AZ Metrics]를 선택합니다. 단일 로드 밸런서에 대한 지표를 보려면 검색 필드에 해당되는 이름을 입력합니다. 단일 가용 영역에 대한 지표를 보려면 검색 필드에 해당되는 이름을 입력합니다.

    • 가용 영역 및 대상 그룹이 로드 밸런서에 대해 보고한 지표만 표시하려면 [Per AppELB, per AZ, per TG Metrics]를 선택합니다. 단일 로드 밸런서에 대한 지표를 보려면 검색 필드에 해당되는 이름을 입력합니다. 단일 대상 그룹에 대한 지표를 보려면 검색 필드에 해당되는 이름을 입력합니다. 단일 가용 영역에 대한 지표를 보려면 검색 필드에 해당되는 이름을 입력합니다.

를 사용하여 메트릭을 보려면 AWS CLI

사용 가능한 지표의 목록을 표시하려면 아래 list-metrics 명령을 사용하세요.

aws cloudwatch list-metrics --namespace AWS/ApplicationELB
를 사용하여 지표에 대한 통계를 가져오려면 AWS CLI

다음 get-metric-statistics명령을 사용하여 지정된 지표 및 차원에 대한 통계를 가져옵니다. CloudWatch 고유한 차원 조합을 각각 별도의 지표로 취급합니다. 특별 게시가 되지 않은 차원의 조합을 사용해 통계를 검색할 수는 없습니다. 지표 생성 시 사용한 것과 동일하게 차원을 지정해야 합니다.

aws cloudwatch get-metric-statistics --namespace AWS/ApplicationELB \ --metric-name UnHealthyHostCount --statistics Average --period 3600 \ --dimensions Name=LoadBalancer,Value=app/my-load-balancer/50dc6c495c0c9188 \ Name=TargetGroup,Value=targetgroup/my-targets/73e2d6bc24d8a067 \ --start-time 2016-04-18T00:00:00Z --end-time 2016-04-21T00:00:00Z

다음은 예제 출력입니다.

{ "Datapoints": [ { "Timestamp": "2016-04-18T22:00:00Z", "Average": 0.0, "Unit": "Count" }, { "Timestamp": "2016-04-18T04:00:00Z", "Average": 0.0, "Unit": "Count" }, ... ], "Label": "UnHealthyHostCount" }