设置客户端指标
本页面介绍了如何安装、设置和使用 Bigtable 客户端 指标。
客户端指标适用于以下客户端库的用户:
如需查看概览,请参阅客户端指标概览。如需查看指标的详细列表,请参阅客户端指标说明。
添加或确认服务账号权限
如需将 IAM 权限添加到服务账号,请完成以下操作:
在 Google Cloud 控制台中,转到 IAM 页面。
选择您在其中创建 Bigtable 集群的项目。
搜索要向其添加权限的服务账号。
点击修改主账号。
点击“添加其他角色”。
搜索“monitoring metric writer”,然后选择结果。
点击保存。
启用 Cloud Monitoring API
在 Google Cloud Console 中,转到 API 和服务页面。
选择您在其中创建 Bigtable 集群的项目。
点击启用 API 和服务。
搜索“Monitoring”。
在搜索结果中,点击“Stackdriver Monitoring API”。
如果显示“API 已启用”,则表示此 API 已启用。 如果未启用,请点击启用。
设置 Bigtable 客户端库
启用 Cloud Monitoring API 后,请配置您的 Bigtable 客户端库。
Go
如果您使用 Bigtable,请按照以下步骤操作 适用于 Go 的客户端库,用于调用 Bigtable API。
安装并配置 Go 版客户端库
将适用于 Go 的 Bigtable 客户端库更新为 1.27.0 版或
。您的 go.mod
应与以下代码类似:
require (
cloud.google.com/go/bigtable v1.27.2-0.20240725222120-ce31365acc54
可选:选择停用客户端指标
Go 客户端库中默认启用客户端指标。要选择
在 ClientConfig
中传递 NoopMetricsProvider
:
client, err := bigtable.NewClientWithConfig(ctx, project, instance,
bigtable.ClientConfig{MetricsProvider: bigtable.NoopMetricsProvider{},
})
HBase
如果您使用 Bigtable HBase 客户端处理 Java,它会调用 HBase API,以将您的应用连接到 Bigtable。
安装并配置适用于 Java 的 HBase 客户端库
下载并安装最新的 Bigtable HBase 客户端 Java。启用 客户端指标,您必须使用 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。
更新 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);
Java
如果您使用 Bigtable,请按照以下步骤操作 用于调用 Bigtable API 的 Java 版客户端库。
准备工作
可选:如果您使用 OpenCensus
统计信息
进行集成以获取 Bigtable 指标、还原依赖项并
您的应用中有 StackdriverStatsExporter
项更改。如需了解原因,请参阅何时升级。
安装并配置 Java 版客户端库
- 下载并安装最新的 Java 版 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();
在 Metrics Explorer 中查看指标
在 Google Cloud 控制台中,转到 Metrics Explorer 页面。
选择项目。
点击选择指标。
搜索
bigtable.googleapis.com/client
。选择指标、
group by
方法和状态,然后选择聚合器 (Aggregator)。如需了解更多选项,请参阅使用 Metrics Explorer 时选择指标。
启用客户端指标后,让应用运行至少 然后再查看是否有已发布的指标