クライアントサイドの指標を設定する
このページでは、Bigtable クライアント側の指標のインストール、設定、使用する方法について説明します。
クライアントサイドの指標は、次のクライアント ライブラリのユーザーが利用できます。
概要については、クライアントサイドの指標の概要をご覧ください。指標の詳細なリストについては、クライアントサイドの指標の説明をご覧ください。
サービス アカウントの権限を追加または確認する
サービス アカウントに IAM 権限を追加するには、次の操作を行います。
Google Cloud コンソールの [IAM] ページに移動します。
Bigtable クラスタを作成したプロジェクトを選択します。
権限を追加するサービス アカウントを検索します。
[プリンシパルを編集します] をクリックします。
[別のロールを追加] をクリックします。
「モニタリング指標の書き込み」を検索して結果を選択します。
[保存] をクリックします。
Cloud Monitoring API を有効にする
Google Cloud コンソールで、[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 Stats 統合を使用して 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 のモニタリングをご覧ください。