이 페이지에서는 gRPC를 사용하여 다음과 같이 지원되는 인터페이스 중 하나를 사용하여 Cloud Storage와 상호작용할 때 Cloud Monitoring에 gRPC 클라이언트 측 측정항목을 내보내는 방법을 설명합니다.
클라이언트 측 측정항목은 gRPC를 사용하여 Cloud Storage와 상호작용하는 클라이언트 애플리케이션의 성능을 모니터링하는 데 사용할 수 있습니다. 클라이언트 측 측정항목은 서버 측 관점에서 Cloud Storage 성능에 대한 통계를 제공하는 서버 측 측정항목과 다릅니다.
기능 소개
지원되는 인터페이스 중 하나를 사용하여 gRPC로 Cloud Storage와 상호작용할 때 Cloud Monitoring에 클라이언트 측 측정항목을 내보내도록 선택할 수 있습니다. 측정항목 탐색기를 사용하여 클라이언트 측 측정항목을 확인하면 Cloud Storage와 gRPC 클라이언트 간의 상호작용을 모니터링하고 최적화하고, 사용량을 관리하고, 성능 병목 현상 및 기술적 문제를 해결하는 데 도움이 됩니다.
가격 책정
Cloud Storage 클라이언트 측 측정항목은 요금이 청구되지 않습니다. 즉, Cloud Monitoring 요금이 발생하지 않고도 Cloud Storage 클라이언트 측 측정항목을 내보내고 저장하고 액세스할 수 있습니다. 가격 책정에 관한 자세한 내용은 Google Cloud Observability 가격 책정을 참고하세요.
시작하기 전에
클라이언트 측 측정항목을 사용하려면 먼저 다음 단계를 완료해야 합니다.
사용하려는 Cloud Storage 클라이언트 라이브러리 또는 커넥터가 gRPC를 지원하는지 확인합니다. 다음 Cloud Storage 클라이언트 라이브러리와 커넥터는 gRPC를 지원합니다.
Cloud Monitoring API를 사용 설정합니다.
Cloud Storage API를 사용 설정합니다.
클라이언트 측 측정항목을 내보내는 데 필요한 필요한 역할 및 권한을 설정합니다.
필요한 역할
Cloud Monitoring에 gRPC 클라이언트 측 측정항목을 내보내는 데 필요한 권한을 설정하려면 gRPC 클라이언트에서 사용하는 서비스 계정에 모니터링 측정항목 작성자(roles/monitoring.metricWriter
) IAM 역할을 부여합니다.
이 사전 정의된 역할에는 Cloud Monitoring으로 gRPC 클라이언트 측 측정항목을 내보내는 데 필요한 권한이 포함되어 있습니다. 필요한 정확한 권한을 보려면 필수 권한 섹션을 참고하세요.
필수 권한
monitoring.timeSeries.create
다른 커스텀 역할이나 사전 정의된 역할을 사용하여 이러한 권한을 얻을 수도 있습니다. 모니터링 측정항목 작성자 역할에 대한 자세한 내용은 roles/monitoring.metricWriter
에 관한 IAM 문서를 참고하세요.
고려사항
Dataproc에서 Cloud Storage 커넥터를 사용하는 경우 Dataproc 가상 머신(VM) 서비스 계정에 모니터링 측정항목 작성자 (
roles/monitoring.metricWriter
) IAM 역할을 부여해야 합니다.Dataflow에서 Apache Beam 커넥터를 사용하는 경우 Dataflow 작업자 서비스 계정에 모니터링 측정항목 작성자 (
roles/monitoring.metricWriter
) IAM 역할을 부여해야 합니다.
측정항목 탐색기에서 측정항목 보기
다음 안내에 따라 측정항목 탐색기에서 Cloud Storage gRPC 클라이언트 측 측정항목을 확인합니다.
Google Cloud 콘솔에서 측정항목 탐색기 페이지로 이동합니다.
측정항목을 보려는 프로젝트를 선택합니다.
측정항목 드롭다운 메뉴에서 측정항목 선택을 클릭합니다.
리소스 또는 측정항목 이름으로 필터링 검색창에
storage.googleapis.com/Client
를 입력하거나 적용할 측정항목을 측정항목 이름으로 검색하고 적용을 클릭합니다. 측정항목을 두 개 이상 추가하려면 쿼리 추가를 클릭합니다.Cloud Storage에서 측정항목을 프로젝트에 적용합니다. 다음 드롭다운 메뉴를 사용하여 측정항목을 필터링하거나 집계할 수 있습니다.
지정된 기준에 따라 데이터의 하위 집합을 선택하고 보려면 필터 드롭다운 메뉴를 사용하세요.
여러 데이터 포인트를 단일 값으로 결합하고 측정항목의 요약 보기를 보려면 집계 드롭다운 메뉴를 사용하세요.
게시된 측정항목을 확인하기 전에 애플리케이션이 최소 1분 이상 실행되도록 하세요.
대시보드를 사용하여 프로젝트에 추가한 측정항목을 보려면 대시보드 개요를 참고하세요.
측정항목 설명
다음 섹션에서는 gRPC 클라이언트의 성능을 모니터링하는 데 사용할 수 있는 Cloud Storage 클라이언트 측 측정항목을 간략히 설명합니다.
클라이언트 시도당 측정항목
다음 측정항목은 클라이언트가 서버와 통신하기 위해 시도한 개별 시도에 관한 성능 데이터를 수집합니다. 클라이언트별 시도 측정항목을 사용하면 재시도 동작, 병목 현상을 측정하고 클라이언트와 서버 간의 통신을 최적화할 수 있습니다.
전체 측정항목 | 설명 | 결제 수단 유형 | 단위 | 속성 |
---|---|---|---|---|
storage.googleapis.com/client/grpc/client/attempt/started |
Preview . 완료되지 않은 RPC 시도를 포함하여 시작된 총 RPC 시도 수입니다. |
카운터 | {attempt} |
|
storage.googleapis.com/client/grpc/client/attempt/duration |
Preview . 하위 채널을 선택하는 데 걸리는 시간을 포함하여 RPC 시도를 완료하는 데 걸리는 엔드 투 엔드 시간입니다. |
히스토그램 | s |
|
storage.googleapis.com/client/grpc/client/attempt/sent_total_compressed_message_size |
Preview . RPC 시도당 메타데이터를 제외한 모든 요청 메시지를 통해 전송되는 총 바이트(압축되고 암호화되지 않음)입니다. 여기에는 gRPC 또는 전송 프레이밍 바이트가 포함되지 않습니다. |
히스토그램 | By |
|
storage.googleapis.com/client/grpc/client/attempt/rcvd_total_compressed_message_size |
Preview . RPC 시도당 메타데이터를 제외한 모든 응답 메시지에서 수신되는 총 바이트(압축되고 암호화되지 않음)입니다. 여기에는 gRPC 또는 전송 프레이밍 바이트가 포함되지 않습니다. |
히스토그램 | By |
|
클라이언트 시도별 계측기에 관한 자세한 내용은 GitHub의 OpenTelemetry 측정항목 문서를 참고하세요.
클라이언트 호출별 측정항목
다음 측정항목은 서버에 대한 클라이언트 호출의 전체 수명 주기에 대한 집계 보기를 제공합니다. 통화당 클라이언트 측정항목은 클라이언트 호출에 관한 대략적인 데이터를 제공하고, 호출 패턴을 파악하기 위한 추적 측정항목을 제공하며, 오류의 빈도를 파악하는 데 도움이 됩니다.
전체 측정항목 | 설명 | 결제 수단 유형 | 단위 | 속성 |
---|---|---|---|---|
storage.googleapis.com/client/grpc/client/call/duration |
Preview . 애플리케이션의 관점에서 gRPC 라이브러리가 RPC를 완료하는 데 걸리는 엔드 투 엔드 시간을 측정합니다. |
히스토그램 | s |
|
호출당 클라이언트 계측기에 관한 자세한 내용은 GitHub의 OpenTelemetry 측정항목 문서를 참고하세요.
부하 감지 측정항목 요청
다음 측정항목은 클라이언트 애플리케이션에서 요청 부하 감지를 사용하는 효과에 관한 유용한 정보를 제공합니다. 요청 부하 감지 측정항목을 사용하면 서버 부하의 균형을 맞추고, 리소스 사용률을 최적화하며, 클라이언트 응답 시간을 개선할 수 있습니다. 다음 측정항목은 직접 연결된 경우에만 사용할 수 있습니다.
전체 측정항목 | 설명 | 결제 수단 유형 | 단위 | 속성 |
---|---|---|---|---|
storage.googleapis.com/client/grpc/lb/rls/cache_entries |
Preview . 요청 부하 감지 캐시의 항목 수입니다. |
게이지 | {entry} |
|
storage.googleapis.com/client/grpc/lb/rls/cache_size |
Preview . 요청 로드 감지 캐시의 현재 크기입니다. |
게이지 | By |
|
storage.googleapis.com/client/grpc/lb/rls/default_target_picks |
Preview . 기본 대상에 전송된 부하 분산기 (LB) 선택 수입니다. |
카운터 | {pick} |
|
storage.googleapis.com/client/grpc/lb/rls/target_picks |
Preview . 각 요청 부하 감지 타겟에 전송된 LB 선택의 수입니다. 요청 부하 감지 서버에서도 기본 타겟을 반환하는 경우 캐시에서 해당 타겟으로 전송된 RPC는 grpc.rls.default_target_picks 이 아닌 이 측정항목에 집계됩니다. |
카운터 | {pick} |
|
storage.googleapis.com/client/grpc/lb/rls/failed_picks |
Preview . 요청 부하 감지 요청 실패 또는 요청 부하 감지 채널 제한으로 인해 실패한 LB 선택 수입니다. |
카운터 | {pick} |
|
xDiscovery 서비스 클라이언트 측정항목
다음 측정항목은 클라이언트 애플리케이션이 xDiscovery 서비스 (xDS) 컨트롤 플레인과 상호작용하여 백엔드 서비스 연결을 검색하고 구성하는 방법에 관한 유용한 정보를 제공합니다. xDS 측정항목을 사용하면 서비스 요청 지연 시간을 추적하고, 구성 업데이트를 모니터링하고, 전반적인 xDS 성능을 최적화할 수 있습니다.
다음 측정항목은 직접 연결된 경우에만 사용할 수 있습니다.
전체 측정항목 | 설명 | 결제 수단 유형 | 단위 | 속성 |
---|---|---|---|---|
storage.googleapis.com/client/grpc/xds_client/connected |
Preview . xDS 클라이언트에 xDS 서버로 연결된 작동하는 ADS 스트림이 있는지 측정합니다. 특정 서버의 경우 이 측정항목은 스트림이 처음 생성될 때 1 로 설정됩니다. 연결 실패가 있거나 A57 에 따라 응답 메시지가 표시되지 않고 ADS 스트림이 실패하면 측정항목이 0 로 설정됩니다. 0 로 설정하면 ADS 스트림에서 첫 번째 응답을 수신하면 측정항목이 1 로 재설정됩니다. 이 측정항목은 C++용 Cloud 클라이언트 라이브러리에만 사용할 수 있습니다. |
게이지 | {bool} |
|
storage.googleapis.com/client/grpc/xds_client/resource_updates_invalid |
Preview . 잘못된 것으로 간주된 수신된 리소스의 수입니다. 이 측정항목은 C++용 Cloud 클라이언트 라이브러리에만 사용할 수 있습니다. |
카운터 | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/resource_updates_valid |
Preview . 변경되지 않았더라도 유효하다고 간주된 수신된 리소스 수입니다.
이 측정항목은 C++용 Cloud 클라이언트 라이브러리에만 사용할 수 있습니다. |
카운터 | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/resources |
Preview . xDS 리소스 수입니다. 이 측정항목은 C++용 Cloud 클라이언트 라이브러리에만 사용할 수 있습니다. |
게이지 | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/server_failure |
Preview . 더 이상 올바르게 작동하지 않고 사용할 수 없거나 오버로드되었거나 잘못되거나 잘못된 구성 데이터를 제공하는 xDS 서버의 수입니다. 이 측정항목은 C++용 Cloud 클라이언트 라이브러리에만 사용할 수 있습니다. |
카운터 | {failure} |
|
xDS 클라이언트 측정항목에 관한 자세한 내용은 GitHub의 xDS 기반 글로벌 부하 분산 문서를 참고하세요.
클라이언트 측 측정항목 선택 해제
필요한 경우 클라이언트 측 측정항목을 선택 해제할 수 있습니다.
자바
public GrpcStorageOptions.Builder setEnableGrpcClientMetrics(false enableGrpcClientMetrics)
자세한 내용은 gRPC 클라이언트 측정항목의 Java 클래스 GrpcStorageOptions.Builder
메서드용 Cloud 클라이언트 라이브러리를 참고하세요.
C++
C++용 Cloud 클라이언트 라이브러리를 사용하여 gRPC API의 클라이언트 측 측정항목을 선택 해제하려면 EnableGrpcMetricsOption
구조체를 참고하세요.
다음 단계
Google Cloud의 관측 가능성에 대해 자세히 알아보세요.
애플리케이션에 맞춤 트레이스 및 측정항목을 추가하는 방법을 알아보세요.