设置客户端指标

本页面介绍了如何安装、设置和使用 Bigtable 客户端指标。

要启用和查看客户端指标,您必须使用 Java 版 Cloud Bigtable 客户端库(可调用 Cloud Bigtable 服务 API)或 Cloud Bigtable HBase 客户端(该客户端采用开源 HBase API)。

如需查看概览,请参阅客户端指标概览。如需查看指标的详细列表,请参阅客户端指标说明

准备工作

可选:如果您目前使用 OpenCensus 统计数据集成来获取 Bigtable 指标,请还原应用中的依赖项和 StackdriverStatsExporter 更改。如需了解原因,请参阅何时升级

添加或确认服务账号权限

如需将 IAM 权限添加到服务帐号,请完成以下步骤:

  1. 在 Google Cloud 控制台中,转到 IAM 页面。

    转到 IAM

  2. 选择您在其中创建 Bigtable 集群的项目。

  3. 搜索要向其添加权限的服务账号。

  4. 点击修改主账号

  5. 点击“添加其他角色”。

  6. 搜索“monitoring metric writer”,然后选择结果。

  7. 点击保存

启用 Cloud Monitoring API

  1. 在 Google Cloud Console 中,转到 API 和服务页面。

    进入“API 和服务”

  2. 选择您在其中创建 Bigtable 集群的项目。

  3. 点击启用 API 和服务

  4. 搜索“Monitoring”。

  5. 在搜索结果中,点击“Stackdriver Monitoring API”。

  6. 如果显示“API 已启用”,则表示此 API 已启用。 如果未启用,请点击启用

设置和使用 Java 版 Cloud Bigtable 客户端库

如果您使用 Java 版 Cloud Bigtable 客户端库(该客户端库调用 Cloud Bigtable API),请按照以下步骤操作。

安装并配置适用于 Java 的客户端库

  1. 下载并安装最新的 Java 版 Cloud 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();

设置和使用 Java 版 Cloud Bigtable HBase 客户端

如果您使用 Java 版 Cloud Bigtable HBase 客户端(该客户端调用 HBase API)将应用连接到 Bigtable,请按照以下步骤操作。

安装并配置 Java 版 HBase 客户端库

  1. 下载并安装适用于 Java 的最新 Cloud Bigtable HBase 客户端。如需启用客户端指标,您必须使用 2.6.4 或更高版本。

  2. 创建一个空的 Maven 项目。

  3. 确定适合您的用例的工件依赖项。2.x 版本包含 1.x 版本不包含的 HBase 异步客户端。

    • bigtable-hbase-1.xbigtable-hbase-2.x:用于由您控制依赖项的独立应用。
    • bigtable-hbase-1.x-hadoopbigtable-hbase-2.x-hadoop:在 Hadoop 环境中使用。
    • bigtable-hbase-1.x-shadedbigtable-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.xbigtable-hbase-2.x-hadoop
    • VERSION_NUMBER:您使用的客户端库版本,其格式类似于 2.6.4

在应用中启用客户端指标

使用 bigtable-hbase-1.xbigtable-hbase-2.x

当您使用 HBase 客户端库和 bigtable-hbase-1.xbigtable-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);

在 Metrics Explorer 中查看指标

  1. 在 Google Cloud 控制台中,转到 Metrics Explorer 页面。

    转到 Metrics Explorer

  2. 选择项目。

  3. 点击选择指标

  4. 搜索 bigtable.googleapis.com/client

  5. 选择指标、group by 方法和状态,然后选择聚合器 (Aggregator)。如需了解更多选项,请参阅使用 Metrics Explorer 时选择指标

启用客户端指标后,让应用运行至少一分钟,然后再检查是否有任何已发布的指标。

后续步骤