设置客户端指标
本页面介绍了如何安装、设置和使用 Bigtable 客户端指标。
要启用和查看客户端指标,您必须使用 Java 版 Cloud Bigtable 客户端库(调用 Cloud Bigtable 服务 API)或 Java 版 Cloud Bigtable HBase 客户端(使用开源 HBase API)。
如需查看概览,请参阅客户端指标概览。如需查看指标的详细列表,请参阅客户端指标说明。
准备工作
可选:如果您目前使用 OpenCensus 统计数据集成来获取 Bigtable 指标,请还原应用中的依赖项和 StackdriverStatsExporter
更改。如需了解原因,请参阅何时升级。
添加或确认服务账号权限
如需将 IAM 权限添加到服务帐号,请完成以下操作:
在 Google Cloud 控制台中,转到 IAM 页面。
选择您在其中创建 Bigtable 集群的项目。
搜索要向其添加权限的服务账号。
点击修改主账号。
点击“添加其他角色”。
搜索“monitoring metric writer”,然后选择结果。
点击保存。
启用 Cloud Monitoring API
在 Google Cloud Console 中,转到 API 和服务页面。
选择您在其中创建 Bigtable 集群的项目。
点击启用 API 和服务。
搜索“Monitoring”。
在搜索结果中,点击“Stackdriver Monitoring API”。
如果显示“API 已启用”,则表示此 API 已启用。 如果未启用,请点击启用。
设置和使用 Java 版 Cloud Bigtable 客户端库
如果您使用 Java 版 Cloud Bigtable 客户端库(该客户端库调用 Cloud Bigtable API),请按照以下步骤操作。
安装并配置 Java 版客户端库
- 下载并安装最新的 Java 版 Cloud Bigtable 客户端库。 您必须拥有 2.16.0 或更高版本才能使用客户端指标。
更新 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 客户端库
下载并安装最新的 Java 版 Cloud Bigtable HBase 客户端。如需启用客户端指标,您必须使用版本 2.6.4 或更高版本。
创建一个空的 Maven 项目。
确定适合您的用例的工件依赖项。
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 环境中。
更新 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);
在 Metrics Explorer 中查看指标
在 Google Cloud 控制台中,转到 Metrics Explorer 页面。
选择项目。
点击选择指标。
搜索
bigtable.googleapis.com/client
。选择指标、
group by
方法和状态,然后选择聚合器 (Aggregator)。如需了解更多选项,请参阅使用 Metrics Explorer 时选择指标。
启用客户端指标后,请先让应用运行至少 1 分钟,然后再查看是否有任何已发布的指标。