设置客户端指标
本页介绍了如何安装、设置和使用 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
如果您使用 Go 版 Bigtable 客户端库(该客户端库调用 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
如果您使用 Java 版 Bigtable HBase 客户端(该客户端调用 HBase API)将应用连接到 Bigtable,请按照以下步骤操作。
安装并配置 Java 版 HBase 客户端库
下载并安装最新的 Java 版 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);
Java
如果您使用 Java 版 Bigtable 客户端库(该客户端库调用 Bigtable API),请按照以下步骤操作。
准备工作
可选:如果您使用 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 时选择指标。
启用客户端指标后,请让应用运行至少 1 分钟,然后再检查是否有任何已发布的指标。
在 Bigtable 监控中查看指标
Bigtable 监控页面上会显示以下客户端指标的图表:
- 客户端读取延迟时间
- 客户端写入延迟时间
- 客户端读取尝试延迟时间
- 客户端写入尝试延迟时间
如需在 Monitoring 页面上查看客户端指标,请按以下步骤操作:
在 Google Cloud 控制台中打开 Bigtable 实例列表。
点击要查看其指标的实例。
在左侧窗格中,点击监控。Google Cloud 控制台会显示实例的一系列图表。
滚动窗格以查看客户端指标。
可选:如需在表格级层查看指标,请点击表格。
可选:如需查看单个应用配置文件的指标,请点击应用配置文件。
如需了解详情,请参阅 Bigtable 监控。