이 페이지에서는 Cloud Load Balancing의 Service Extensions 콜아웃과 함께 Cloud Logging 및 Cloud 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 트래픽을 모니터링하고 디버깅하는 데 유용한 정보가 포함되어 있습니다. 로그 항목에는 다음과 같은 유형의 정보가 포함되어 있습니다.
- LogEntry 로그에 설명된 대로 심각도 프로젝트 ID, 프로젝트 번호, 타임스탬프와 같이 대부분의 Google Cloud 로그에 표시되는 정보입니다.
- HttpRequest 로그 필드입니다.
HTTP 및 HTTPS 부하 분산기의 요청 로그에는 다음 정보가 포함된 부하 분산기 로그 항목 JSON 페이로드의 service_extension_info 객체가 포함되어 있습니다.
| 필드 | 유형 | 설명 |
|---|---|---|
backend_target_name |
문자열 | 확장 프로그램의 백엔드 대상 이름입니다. |
backend_target_type |
문자열 | 백엔드 대상 유형입니다. |
chain |
문자열 | 요청과 일치하는 서비스 확장 프로그램 리소스 내 확장 프로그램 체인의 이름입니다. |
extension |
문자열 | 확장 프로그램 체인 내 확장 프로그램의 이름입니다. |
failed_open |
부울 | 확장 프로그램 구성에 failOpen
이 true로 설정되어 있는 경우 이 측정항목의 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 | 처리 요청의 각 이벤트에 대한 처리 결과입니다.
리전 외부 애플리케이션 부하 분산기, 리전 내부 애플리케이션 부하 분산기, 리전 간 내부 애플리케이션 부하 분산기에만 적용됩니다.
다음 값 중 하나일 수 있습니다.
|
per_processing_request_info[].processing_effect_details |
문자열 | processing_effect가 MUTATION_REJECTED인 경우 변경이 거부된 이유에 관한 세부정보입니다.
리전 외부 애플리케이션 부하 분산기, 리전 내부 애플리케이션 부하 분산기, 리전 간 내부 애플리케이션 부하 분산기에만 적용됩니다. |
resource |
문자열 | 확장 프로그램 리소스의 이름입니다. |
모니터링
이 섹션에서는 Cloud Load Balancing의 Service Extensions를 사용하여 구성된 콜아웃 을 모니터링하는 방법 을 설명합니다.
Monitoring 대시보드 보기
애플리케이션 부하 분산기는 모니터링 데이터를 Cloud Monitoring으로 내보냅니다.
다음과 같은 목적으로 Monitoring 측정항목을 사용합니다.
- 부하 분산기의 구성, 사용량, 성능 평가
- 문제 해결
- 리소스 사용률 및 사용자 환경 개선
사전 정의된 대시보드를 보려면 다음 단계를 따르세요.
- 콘솔에서 대시보드 개요 페이지로 이동합니다. Google Cloud
- 카테고리 섹션에서 GCP 를 클릭합니다.
- _모든_ 부하 분산기의 대시보드 목록을 보려면 GCP 대시보드 목록에서 Google Cloud Load Balancers라는 대시보드를 클릭합니다. 특정 부하 분산기의 대시보드를 보려면 목록에서 부하 분산기를 찾아 이름을 클릭합니다.
- 부하 분산기의 사전 정의된 대시보드만 보려면 적절한 대시보드를 선택합니다.
Monitoring의 사전 정의된 대시보드 외에도 Cloud Monitoring API를 통해 커스텀 대시보드를 만들고, 알림을 설정하고, 측정항목을 쿼리할 수 있습니다.
자세한 내용은 내부 애플리케이션 부하 분산기 로깅 및 모니터링과 같은 애플리케이션 부하 분산기 문서의 '모니터링 및 문제 해결' 페이지를 참조하세요.
콜아웃의 모니터링 측정항목
콜아웃 백엔드 서비스의 다음 측정항목을 모니터링할 수 있습니다.
미리보기에서는 리전 외부 애플리케이션 부하 분산기, 리전 내부 애플리케이션 부하 분산기, 리전 간 내부 애플리케이션 부하 분산기의 확장 프로그램에 대한 다음 측정항목
을 모니터링할 수 있습니다. 이러한 측정항목에는 프리픽스
networkservices.googleapis.com가 있습니다. 프리픽스는 다음 표의 항목에서 생략됩니다.
다음 표에서는 각 측정항목의 측정항목 유형, 표시 이름, 종류, 유형, 단위, 설명을 제공합니다.
| 측정항목 유형 | 표시 이름
종류, 유형, 단위 설명 |
|---|---|
extension/invocation_count
|
확장 프로그램 호출 수
DELTA, INT64, 1
확장 프로그램으로 전송된 호출 수입니다. |
extension/invocation_latencies
|
확장 프로그램 호출 지연 시간
DELTA, DISTRIBUTION, ms
각 확장 프로그램 호출의 지연 시간에서 계산된 분포입니다. |
extension/sent_chunks_count
|
확장 프로그램 전송 청크 수
DELTA, INT64, 1
request_body 및 response_body 이벤트에만 적용됩니다.
확장 프로그램으로 전송된 데이터 청크 수입니다. |
extension/received_chunks_count
|
확장 프로그램 수신 청크 수
DELTA, INT64, 1
request_body 및 response_body 이벤트에만 적용됩니다.
확장 프로그램에서 수신된 청크 수입니다. |
extension/failed_open_count
|
실패한 확장 프로그램 호출(fail-open)
DELTA, INT64, 1
시스템이 fail-open으로 구성되고 요청이 계속 진행되도록 허용되었을 때 호출이 실패한 횟수입니다. |
extension/mutation_rejections_count
|
확장 프로그램 변경 거부 수
DELTA, INT64, 1
헤더, 본문 또는 트레일러 변경을 요청했지만 거부된 호출 수입니다. 변경이 무효이거나 크기 제한을 초과하는 경우와 같이 다양한 이유로 거부가 발생할 수 있습니다. |
extension/sent_bytes_count
|
확장 프로그램 전송 바이트 수
DELTA, INT64, By
확장 프로그램으로 전송된 바이트 수입니다. |
extension/received_bytes_count
|
확장 프로그램 수신 바이트 수
DELTA, INT64, By
확장 프로그램에서 수신된 바이트 수입니다. |
다음 측정항목도 모니터링할 수 있습니다. 이러한 측정항목에는 프리픽스
loadbalancing.googleapis.com/가 있습니다. 프리픽스는 표의 항목에서 생략됩니다.
| 측정항목 유형 | 표시 이름
종류, 유형, 단위 설명 |
|---|---|
https/backend_request_count,
https/external/regional/backend_request_count,
https/internal/backend_request_count
|
백엔드 요청 수
DELTA, INT64, 1
애플리케이션 부하 분산기에서 콜아웃 백엔드 서비스가 호출되는 횟수입니다. |
https/backend_request_bytes_count,
https/external/regional/backend_request_bytes_count,
https/internal/backend_request_bytes_count
|
백엔드 요청 바이트
DELTA, INT64, By
부하 분산기에서 콜아웃 백엔드 서비스로 전송된 바이트 수입니다. |
https/backend_response_bytes_count,
https/external/regional/backend_response_bytes_count,
https/internal/backend_response_bytes_count
|
백엔드 응답 바이트
DELTA, INT64, By
부하 분산기에서 확장 프로그램 백엔드로부터 수신한 바이트 수입니다. |
https/backend_latencies,
https/external/regional/backend_latencies,
https/internal/backend_latencies
|
백엔드 지연 시간
DELTA, DISTRIBUTION, ms
부하 분산기와 콜아웃 백엔드 서비스 간 각 확장 프로그램 호출의 지연 시간 합계에서 계산된 분포입니다. 60초마다 샘플링됩니다. |