이 페이지에서는 Cloud Load Balancing의 서비스 확장 프로그램 콜아웃과 함께 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 |
문자열 | 확장 프로그램 체인 내 확장 프로그램의 이름입니다. |
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 메시지의 마지막 바이트가 수신된 시간까지의 기간입니다. |
resource |
문자열 | 확장 프로그램 리소스의 이름 |
모니터링
이 섹션에서는 Cloud Load Balancing에 대해 서비스 확장 프로그램을 사용하여 구성된 콜아웃을 모니터링하는 방법을 설명합니다.
Monitoring 대시보드 보기
애플리케이션 부하 분산기는 모니터링 데이터를 Cloud Monitoring으로 내보냅니다.
다음과 같은 목적으로 모니터링 측정항목을 사용하세요.
- 부하 분산기의 구성, 사용량, 성능 평가
- 문제 해결
- 리소스 사용률 및 사용자 환경 개선
사전 정의된 대시보드를 보려면 다음 단계를 따르세요.
- Google Cloud 콘솔에서 대시보드 개요 페이지로 이동합니다.
- 카테고리 섹션에서 GCP를 클릭합니다.
- 모든 부하 분산기의 대시보드 목록을 보려면 GCP 대시보드 목록에서 Google Cloud 부하 분산기라는 대시보드를 클릭합니다. 특정 부하 분산기의 대시보드를 보려면 목록에서 부하 분산기를 찾아 해당 이름을 클릭합니다.
- 부하 분산기에 대해서만 사전 정의된 대시보드를 보려면 적절한 대시보드를 선택합니다.
Monitoring의 사전 정의된 대시보드 외에도 Cloud Monitoring API를 통해 커스텀 대시보드를 만들고, 알림을 설정하고, 측정항목을 쿼리할 수 있습니다.
자세한 내용은 애플리케이션 부하 분산기 문서의 '모니터링 및 문제 해결' 페이지(예: 내부 애플리케이션 부하 분산기 로깅 및 모니터링)를 참고하세요.
콜아웃의 측정항목 모니터링
호출 백엔드 서비스의 다음 측정항목을 모니터링할 수 있습니다.
이러한 측정항목에는 프리픽스 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초마다 샘플링됩니다. |