클라이언트 측 측정항목 설정

이 페이지에서는 Bigtable 클라이언트 측 측정항목을 설치, 설정, 사용하는 방법을 설명합니다.

다음 클라이언트 라이브러리의 사용자는 클라이언트 측 측정항목을 사용할 수 있습니다.

개요는 클라이언트 측 측정항목 개요를 참조하세요. 측정항목의 자세한 목록은 클라이언트 측 측정항목 설명을 참조하세요.

서비스 계정 권한 추가 또는 확인

서비스 계정에 IAM 권한을 추가하려면 다음을 완료하세요.

  1. Google Cloud 콘솔에서 IAM 페이지로 이동합니다.

    IAM으로 이동

  2. Bigtable 클러스터를 만든 프로젝트를 선택합니다.

  3. 권한을 추가할 서비스 계정을 검색합니다.

  4. 주 구성원 수정을 클릭합니다.

  5. 다른 역할 추가를 클릭합니다.

  6. '모니터링 측정항목 작성자'를 검색하고 결과를 선택합니다.

  7. 저장을 클릭합니다.

Cloud Monitoring API 사용 설정

  1. Google Cloud Console에서 API 및 서비스 페이지로 이동합니다.

    API 및 서비스로 이동

  2. Bigtable 클러스터를 만든 프로젝트를 선택합니다.

  3. API 및 서비스 사용 설정을 클릭합니다.

  4. 'Monitoring'을 검색합니다.

  5. 검색 결과에서 'Stackdriver Monitoring API'를 찾아서 클릭합니다.

  6. 'API 사용 설정됨'이 표시되면 API가 이미 사용 설정된 것입니다. 그렇지 않으면 사용 설정을 클릭합니다.

Bigtable 클라이언트 라이브러리 설정

Cloud Monitoring API를 사용 설정한 후 Bigtable 클라이언트 라이브러리를 구성합니다.

Go

Bigtable API를 호출하는 Go용 Bigtable 클라이언트 라이브러리를 사용하는 경우 다음 단계를 따르세요.

Go용 클라이언트 라이브러리 설치 및 구성

Go용 Bigtable 클라이언트 라이브러리를 버전 1.27.0 이상으로 업데이트합니다. go.mod는 다음과 유사합니다.

require (
  cloud.google.com/go/bigtable v1.27.2-0.20240725222120-ce31365acc54

선택사항: 클라이언트 측 측정항목 선택 해제

클라이언트 측 측정항목은 Go 클라이언트 라이브러리에서 기본적으로 사용 설정됩니다. 선택 해제하려면 ClientConfigNoopMetricsProvider를 전달합니다.

client, err := bigtable.NewClientWithConfig(ctx, project, instance,
bigtable.ClientConfig{MetricsProvider: bigtable.NoopMetricsProvider{},
})

HBase

HBase API를 호출하는 Java용 Bigtable HBase 클라이언트를 사용하여 애플리케이션을 Bigtable에 연결하는 경우 다음 단계를 따르세요.

Java용 HBase 클라이언트 라이브러리 설치 및 구성

  1. 최신 Java용 Bigtable HBase 클라이언트를 다운로드하고 설치합니다. 클라이언트 측 측정항목을 사용 설정하려면 버전 2.6.4 이상을 사용해야 합니다.

  2. 빈 Maven 프로젝트를 만듭니다.

  3. 사용 사례에 적합한 아티팩트 종속 항목을 결정합니다. 2.x 버전에는 1.x 버전에 없는 HBase 비동기 클라이언트가 포함됩니다.

    • bigtable-hbase-1.x 또는 bigtable-hbase-2.x: 종속 항목을 제어하는 독립형 애플리케이션에 사용합니다.
    • bigtable-hbase-1.x-hadoop 또는 bigtable-hbase-2.x-hadoop: Hadoop 환경에 사용합니다.
    • bigtable-hbase-1.x-shaded 또는 bigtable-hbase-2.x-shaded: protobuf 또는 Guava와 같은 이전 버전의 구성요소가 필요한 Hadoop 이외의 환경에 사용합니다.
  4. pom.xml 파일을 업데이트합니다.

    <dependencyManagement>
        <dependencies>
            <dependency>
                  <groupId>com.google.cloud.bigtable</groupId>
                  <artifactId>BIGTABLE_HBASE_ARTIFACT</artifactId>
                  <version>VERSION_NUMBER</version>
              </dependency>
        </dependencies>
    </dependencyManagement>
    

    다음을 제공합니다.

    • BIGTABLE_HBASE_ARTIFACT: 프로젝트의 아티팩트 종속 항목입니다(예: bigtable-hbase-1.x 또는 bigtable-hbase-2.x-hadoop).
    • VERSION_NUMBER: 사용 중인 클라이언트 라이브러리 버전입니다(2.6.4 형식).

애플리케이션에서 클라이언트 측 측정항목 사용 설정

bigtable-hbase-1.x 또는 bigtable-hbase-2.x 사용

HBase 클라이언트 라이브러리 및 bigtable-hbase-1.x 또는 bigtable-hbase-2.x 아티팩트를 사용하여 연결을 만들 때 기본 제공 클라이언트 측 측정항목을 사용 설정하는 코드는 다음과 유사합니다.

  import com.google.cloud.bigtable.data.v2.BigtableDataSettings;

  Configuration configuration = BigtableConfiguration.configure("my-project-id", "my-instance-id");
  Connection connection = new BigtableConnection(configuration);

  BigtableDataSettings.enableBuiltinMetrics();

-hadoop 또는 -shaded 아티팩트 사용

HBase 클라이언트 라이브러리 및 -hadoop 또는 -shaded 아티팩트 중 하나를 사용하여 연결을 만들 때 기본 제공 클라이언트 측 측정항목을 사용 설정하는 코드는 다음과 유사합니다.

  import com.google.bigtable.repackaged.com.google.cloud.bigtable.data.v2.BigtableDataSettings;

  Configuration configuration = BigtableConfiguration.configure("my-project-id", "my-instance-id");
  Connection connection = new BigtableConnection(configuration);

  BigtableDataSettings.enableBuiltinMetrics();

선택사항: 클라이언트 측 측정항목 선택 해제

버전 2.14.1 이상을 사용하는 경우 클라이언트 측 측정항목이 기본적으로 사용 설정됩니다. 선택을 해제할 수 있습니다.

Configuration configuration = BigtableConfiguration.configure("my-project-id", "my-instance-id");
configuration.setBoolean(BigtableOptionsFactory.BIGTABLE_ENABLE_CLIENT_SIDE_METRICS, false);
Connection connection = new BigtableConnection(configuration);

자바

Bigtable API를 호출하는 Java용 Bigtable 클라이언트 라이브러리를 사용하는 경우 다음 단계를 따르세요.

시작하기 전에

선택사항: OpenCensus 통계 통합을 사용하여 Bigtable 측정항목을 가져오는 경우 애플리케이션의 종속 항목과 StackdriverStatsExporter 변경사항을 되돌립니다. 그 이유는 업그레이드 시기를 참조하세요.

Java용 클라이언트 라이브러리 설치 및 구성

  1. 최신 Java용 Bigtable 클라이언트 라이브러리를 다운로드하고 설치합니다. 클라이언트 측 측정항목을 사용하려면 버전 2.16.0 이상이 필요합니다.
  2. 최신 버전을 사용하려면 Java 클라이언트 라이브러리의 pom.xml 파일을 업데이트합니다. pom은 다음과 유사해야 합니다.

    <dependencyManagement>
        <dependencies>
            <dependency>
                  <groupId>com.google.cloud</groupId>
                  <artifactId>google-cloud-bigtable-bom</artifactId>
                  <version>2.38.0</version>
                  <scope>import</scope>
                  <type>pom</type>
              </dependency>
        </dependencies>
    </dependencyManagement>
    
    <dependencies>
        <dependency>
              <groupId>com.google.cloud</groupId>
              <artifactId>google-cloud-bigtable</artifactId>
        </dependency>
    </dependencies>
    

애플리케이션에서 클라이언트 측 측정항목 사용 설정

클라이언트 라이브러리를 사용하여 클라이언트를 만들 때 기본 제공 측정항목을 사용 설정합니다. 코드는 다음과 비슷하게 표시됩니다.

  BigtableDataSettings settings = BigtableDataSettings.newBuilder()
              .setProjectId("our-project-2-12")
              .setInstanceId("our-instance-85")
              .setAppProfileId("our-appProfile-06")
              .build();

  BigtableDataSettings.enableBuiltinMetrics();

  try (BigtableDataClient client = BigtableDataClient.create(settings)) {
          // Application logic
  }

커스텀 OpenTelemetry 인스턴스 설정

버전 2.38.0 이상을 사용하고 클라이언트 측 측정항목을 Cloud Monitoring 및 커스텀 싱크에 게시하려면 커스텀 OpenTelemetry 인스턴스를 설정할 수 있습니다.

  SdkMeterProviderBuilder meterProviderBuilder = SdkMeterProvider.builder();

  // register client side metrics on your meter provider
  BuiltinMetricsView.registerBuiltinMetrics("my-project-id", meterProviderBuilder);

  // register other metric reader and views
  meterProviderBuilder.registerMetricReader().registerView();

  // create the OTEL instance
  OpenTelemetry openTelemetry = OpenTelemetrySdk.builder()
          .setMeterProvider(meterProviderBuilder.build())
          .build();

  // Override MetricsProvider in BigtableDataSettings
  BigtableDataSettings settings = BigtableDataSettings.newBuilder()
          .setProjectId("my-project-id")
          .setInstanceId("my-instance-id")
          .setMetricsProvider(CustomOpenTelemetryMetricsProvider.create(openTelemetry))
          .build();

  try (BigtableDataClient client = BigtableDataClient.create(settings)) {
        // Application logic
  }

선택사항: 클라이언트 측 측정항목 선택 해제

버전 2.38.0 이상을 사용하는 경우 클라이언트 측 측정항목 사용을 선택 해제할 수 있습니다.

BigtableDataSettings settings = BigtableDataSettings.newBuilder()
        .setProjectId("my-project")
        .setInstanceId("my-instance")
        .setMetricsProvider(NoopMetricsProvider.INSTANCE)
        .build();

측정항목 탐색기에서 측정항목 보기

  1. Google Cloud 콘솔에서 측정항목 탐색기 페이지로 이동합니다.

    측정항목 탐색기로 이동

  2. 프로젝트를 선택합니다.

  3. 측정항목 선택을 클릭합니다.

  4. bigtable.googleapis.com/client을 검색합니다.

  5. 측정항목, group by 메서드, 상태를 선택하고 애그리게이터를 선택합니다. 더 많은 옵션을 알아보려면 측정항목 탐색기 사용 시 측정항목 선택을 참조하세요.

클라이언트 측 측정항목을 사용 설정한 후 게시된 측정항목을 확인하기 전에 최소 1분 이상 애플리케이션이 실행되도록 하세요.

Bigtable 모니터링에서 측정항목 보기

Bigtable 모니터링 페이지에는 다음 클라이언트 측 측정항목에 대한 차트가 표시됩니다.

  • 클라이언트 측 읽기 지연 시간
  • 클라이언트 측 쓰기 지연 시간
  • 클라이언트 측 읽기 시도 지연 시간
  • 클라이언트 측 쓰기 시도 지연 시간

모니터링 페이지에서 클라이언트 측 측정항목을 보려면 다음 단계를 따르세요.

  1. Google Cloud 콘솔에서 Bigtable 인스턴스 목록을 엽니다.

    인스턴스 목록 열기

  2. 측정항목을 보려는 인스턴스를 클릭합니다.

  3. 왼쪽 창에서 모니터링을 클릭합니다. Google Cloud 콘솔에 인스턴스의 일련의 차트가 표시됩니다.

  4. 창을 스크롤하여 클라이언트 측 측정항목을 확인합니다.

  5. 선택사항: 테이블 수준에서 측정항목을 보려면 테이블을 클릭합니다.

  6. 선택사항: 개별 앱 프로필의 측정항목을 보려면 애플리케이션 프로필을 클릭합니다.

자세한 내용은 Bigtable 모니터링을 참고하세요.

다음 단계