Cloud Load Balancing 콜아웃 로깅 및 모니터링

이 페이지에서는 Cloud Load Balancing의 Service Extensions 콜아웃과 함께 Cloud LoggingCloud Monitoring을 구성하고 사용하는 방법을 보여줍니다.

로깅

이 섹션에서는 애플리케이션 부하 분산기 콜아웃의 로깅을 설명합니다.

백엔드 서비스에서 로깅 사용 설정

요청의 대상 인 백엔드 서비스에서 로깅을 사용 설정하여 (확장 프로그램과 연결된 백엔드 서비스가 아님) 서비스를 만드는 동안 애플리케이션 부하 분산기 콜아웃의 로깅을 사용 설정할 수 있습니다.

대상 백엔드 서비스의 로깅을 사용 설정하려면 gcloud compute backend-services update 명령어를 사용합니다.

gcloud compute backend-services update BACKEND_SERVICE \
    --enable-logging \
    --logging-sample-rate=RATE \
    --region=REGION \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=OPTIONAL_FIELDS

다음을 바꿉니다.

  • BACKEND_SERVICE: 백엔드 서비스의 이름입니다.
  • RATE: 0.0에서 1.0 사이의 값입니다. 0.0은 요청이 로깅되지 않음을 의미하고 1.0은 요청의 100% 가 로깅됨을 의미합니다. 기본값은 1.0입니다. 이 설정은 enable-logging 매개변수와 함께 사용하는 경우에만 적용됩니다. enable-logging을 생략하면 로깅이 사용 중지됩니다.
  • REGION: 백엔드의 리전입니다.
  • LOGGING_OPTIONAL_MODE: 다음 모드 중 하나에서 선택적 필드의 로깅을 사용 설정합니다.

    • INCLUDE_ALL_OPTIONAL: 모든 선택적 필드를 포함합니다.
    • EXCLUDE_ALL_OPTIONAL (기본값): 모든 선택적 필드를 제외합니다.
    • CUSTOM: 선택적 필드의 고객 목록을 포함합니다.
  • OPTIONAL_FIELDS: CUSTOM 모드를 선택할 때 선택적 필드의 쉼표로 구분된 목록입니다.

백엔드 서비스에서 로깅을 사용 설정하면 HTTP 또는 HTTPS 요청이 Cloud Logging 로그 요청을 사용하여 로깅됩니다.

로그를 보려면 Google Cloud 콘솔에서 로그 탐색기 페이지로 이동합니다.

자세한 내용은 내부 애플리케이션 부하 분산기 로깅 및 모니터링과 같은 애플리케이션 부하 분산기 문서의 '모니터링 및 문제 해결' 페이지를 참조하세요.

백엔드 서비스의 로그 메시지

일반적으로 애플리케이션 부하 분산기 로그 항목에는 HTTP 또는 HTTPS 트래픽을 모니터링하고 디버깅하는 데 유용한 정보가 포함되어 있습니다. 로그 항목에는 다음과 같은 유형의 정보가 포함되어 있습니다.

HTTP 및 HTTPS 부하 분산기의 요청 로그에는 다음 정보가 포함된 부하 분산기 로그 항목 JSON 페이로드의 service_extension_info 객체가 포함되어 있습니다.

필드 유형 설명
backend_target_name 문자열 확장 프로그램의 백엔드 대상 이름입니다.
backend_target_type 문자열 백엔드 대상 유형입니다.
chain 문자열 요청과 일치하는 서비스 확장 프로그램 리소스 내 확장 프로그램 체인의 이름입니다.
extension 문자열 확장 프로그램 체인 내 확장 프로그램의 이름입니다.
failed_open 부울 확장 프로그램 구성에 failOpentrue로 설정되어 있는 경우 이 측정항목의 true 값은 확장 프로그램이 제한 시간을 초과하거나 실패했을 때 처리가 계속되었음을 나타냅니다.

리전 외부 애플리케이션 부하 분산기, 리전 내부 애플리케이션 부하 분산기, 리전 간 내부 애플리케이션 부하 분산기에만 적용됩니다.

grpc_status enum gRPC 스트림의 가장 최근 상태입니다. 자세한 내용은 gRPC 상태 코드를 참조하세요.
per_processing_request_info 배열 gRPC 스트림을 통해 발생하는 ext_proc 확장 프로그램의 ProcessingRequest 통계 또는 ext_authz 확장 프로그램의 CheckRequest 통계 목록입니다.
per_processing_request_info[].event_type enum ProcessingRequest의 이벤트 유형입니다. 다음 중 하나일 수 있습니다. REQUEST_HEADERS, REQUEST_BODY, RESPONSE_HEADERS, 또는 RESPONSE_BODY.
per_processing_request_info[].latency 기간 ProcessingRequest 메시지의 첫 번째 바이트가 확장 프로그램으로 전송된 시점부터 ProcessingResponse 메시지의 마지막 바이트가 수신된 시점까지의 기간입니다.
per_processing_request_info[].processing_effect enum 처리 요청의 각 이벤트에 대한 처리 결과입니다.

리전 외부 애플리케이션 부하 분산기, 리전 내부 애플리케이션 부하 분산기, 리전 간 내부 애플리케이션 부하 분산기에만 적용됩니다.

다음 값 중 하나일 수 있습니다.

  • NONE: 콘텐츠가 변경되지 않았음을 나타냅니다.
  • NONE_FAILED_OPEN: 확장 프로그램이 열리지 않아 변경이 실행되지 않았음을 나타냅니다.
  • CONTENT_MODIFIED: 성공적으로 적용된 변경 요청으로 인해 콘텐츠가 변경되었음을 나타냅니다.
  • IMMEDIATE_RESPONSE: 추가 처리를 모두 중지하기 위해 확장 프로그램에서 즉각적인 응답이 전송되었음을 나타냅니다.
  • MUTATION_REJECTED: 확장 프로그램에서 허용되지 않는 변경사항을 하나 이상 요청했으며 추가 처리가 중단되었음을 나타냅니다. 적절한 오류 메시지가 로깅됩니다.
  • UNSPECIFIED: 처리의 효과를 알 수 없음을 나타냅니다.
per_processing_request_info[].processing_effect_details 문자열 processing_effectMUTATION_REJECTED인 경우 변경이 거부된 이유에 관한 세부정보입니다.

리전 외부 애플리케이션 부하 분산기, 리전 내부 애플리케이션 부하 분산기, 리전 간 내부 애플리케이션 부하 분산기에만 적용됩니다.

resource 문자열 확장 프로그램 리소스의 이름입니다.

모니터링

이 섹션에서는 Cloud Load Balancing의 Service Extensions를 사용하여 구성된 콜아웃 을 모니터링하는 방법 을 설명합니다.

Monitoring 대시보드 보기

애플리케이션 부하 분산기는 모니터링 데이터를 Cloud Monitoring으로 내보냅니다.

다음과 같은 목적으로 Monitoring 측정항목을 사용합니다.

  • 부하 분산기의 구성, 사용량, 성능 평가
  • 문제 해결
  • 리소스 사용률 및 사용자 환경 개선

사전 정의된 대시보드를 보려면 다음 단계를 따르세요.

  1. 콘솔에서 대시보드 개요 페이지로 이동합니다. Google Cloud

    대시보드 개요로 이동

  2. 카테고리 섹션에서 GCP 를 클릭합니다.
    • _모든_ 부하 분산기의 대시보드 목록을 보려면 GCP 대시보드 목록에서 Google Cloud Load Balancers라는 대시보드를 클릭합니다. 특정 부하 분산기의 대시보드를 보려면 목록에서 부하 분산기를 찾아 이름을 클릭합니다.
    • 부하 분산기의 사전 정의된 대시보드만 보려면 적절한 대시보드를 선택합니다.

Monitoring의 사전 정의된 대시보드 외에도 Cloud Monitoring API를 통해 커스텀 대시보드를 만들고, 알림을 설정하고, 측정항목을 쿼리할 수 있습니다.

자세한 내용은 내부 애플리케이션 부하 분산기 로깅 및 모니터링과 같은 애플리케이션 부하 분산기 문서의 '모니터링 및 문제 해결' 페이지를 참조하세요.

콜아웃의 모니터링 측정항목

콜아웃 백엔드 서비스의 다음 측정항목을 모니터링할 수 있습니다.

미리보기에서는 리전 외부 애플리케이션 부하 분산기, 리전 내부 애플리케이션 부하 분산기, 리전 간 내부 애플리케이션 부하 분산기의 확장 프로그램에 대한 다음 측정항목 을 모니터링할 수 있습니다. 이러한 측정항목에는 프리픽스 networkservices.googleapis.com가 있습니다. 프리픽스는 다음 표의 항목에서 생략됩니다.

다음 표에서는 각 측정항목의 측정항목 유형, 표시 이름, 종류, 유형, 단위, 설명을 제공합니다.

측정항목 유형 표시 이름
종류, 유형, 단위
설명
extension/invocation_count 확장 프로그램 호출 수
DELTAINT641
확장 프로그램으로 전송된 호출 수입니다.
extension/invocation_latencies 확장 프로그램 호출 지연 시간
DELTADISTRIBUTIONms
각 확장 프로그램 호출의 지연 시간에서 계산된 분포입니다.
extension/sent_chunks_count 확장 프로그램 전송 청크 수
DELTAINT641
request_bodyresponse_body 이벤트에만 적용됩니다. 확장 프로그램으로 전송된 데이터 청크 수입니다.
extension/received_chunks_count 확장 프로그램 수신 청크 수
DELTAINT641
request_bodyresponse_body 이벤트에만 적용됩니다. 확장 프로그램에서 수신된 청크 수입니다.
extension/failed_open_count 실패한 확장 프로그램 호출(fail-open)
DELTAINT641
시스템이 fail-open으로 구성되고 요청이 계속 진행되도록 허용되었을 때 호출이 실패한 횟수입니다.
extension/mutation_rejections_count 확장 프로그램 변경 거부 수
DELTAINT641
헤더, 본문 또는 트레일러 변경을 요청했지만 거부된 호출 수입니다. 변경이 무효이거나 크기 제한을 초과하는 경우와 같이 다양한 이유로 거부가 발생할 수 있습니다.
extension/sent_bytes_count 확장 프로그램 전송 바이트 수
DELTAINT64By
확장 프로그램으로 전송된 바이트 수입니다.
extension/received_bytes_count 확장 프로그램 수신 바이트 수
DELTAINT64By
확장 프로그램에서 수신된 바이트 수입니다.

다음 측정항목도 모니터링할 수 있습니다. 이러한 측정항목에는 프리픽스 loadbalancing.googleapis.com/가 있습니다. 프리픽스는 표의 항목에서 생략됩니다.

측정항목 유형 표시 이름
종류, 유형, 단위
설명
https/backend_request_count,
https/external/regional/backend_request_count,
https/internal/backend_request_count
백엔드 요청 수
DELTAINT641
애플리케이션 부하 분산기에서 콜아웃 백엔드 서비스가 호출되는 횟수입니다.
https/backend_request_bytes_count,
https/external/regional/backend_request_bytes_count,
https/internal/backend_request_bytes_count
백엔드 요청 바이트
DELTAINT64By
부하 분산기에서 콜아웃 백엔드 서비스로 전송된 바이트 수입니다.
https/backend_response_bytes_count,
https/external/regional/backend_response_bytes_count,
https/internal/backend_response_bytes_count
백엔드 응답 바이트
DELTAINT64By
부하 분산기에서 확장 프로그램 백엔드로부터 수신한 바이트 수입니다.
https/backend_latencies,
https/external/regional/backend_latencies,
https/internal/backend_latencies
백엔드 지연 시간
DELTADISTRIBUTIONms
부하 분산기와 콜아웃 백엔드 서비스 간 각 확장 프로그램 호출의 지연 시간 합계에서 계산된 분포입니다. 60초마다 샘플링됩니다.

다음 단계