クライアントサイドの指標を設定する
このページでは、Bigtable クライアント側の指標のインストール、設定、使用する方法について説明します。
クライアントサイドの指標は、次のクライアント ライブラリのユーザーが利用できます。
- C++ 用 Bigtable クライアント ライブラリ
- Java 用 Bigtable クライアント ライブラリ
- Java 用 Bigtable HBase クライアント
- Go 用 Bigtable クライアント ライブラリ
- Node.js 用 Bigtable クライアント ライブラリ
概要については、クライアントサイドの指標の概要をご覧ください。指標の詳細なリストについては、クライアントサイドの指標の説明をご覧ください。
サービス アカウントの権限を追加または確認する
サービス アカウントに IAM 権限を追加するには、次の操作を行います。
Google Cloud コンソールで、[IAM] ページに移動します。
Bigtable クラスタを作成したプロジェクトを選択します。
権限を追加するサービス アカウントを検索します。
[プリンシパルを編集します] をクリックします。
[別のロールを追加] をクリックします。
「モニタリング指標の書き込み」を検索して結果を選択します。
[保存] をクリックします。
Cloud Monitoring API を有効にする
Google Cloud コンソールで、[API とサービス] ページに移動します。
Bigtable クラスタを作成したプロジェクトを選択します。
[API とサービスの有効化] をクリックします。
Monitoring
を検索します。検索結果で、[Cloud Monitoring API] をクリックします。
[API が有効です] が表示されている場合、API はすでに有効になっています。有効になっていない場合は、[有効にする] をクリックします。
Bigtable クライアント ライブラリを設定する
Cloud Monitoring API を有効にしたら、Bigtable クライアント ライブラリを構成します。
C++
C++ 用 Bigtable クライアント ライブラリを使用して Bigtable API を呼び出す場合は、次の操作を行います。
C++ 用クライアント ライブラリをインストールして構成する
CMake や Bazel などの一般的な C++ ビルドシステムを使用してライブラリを統合します。詳細については、ビルドとインストールをご覧ください。
Bigtable クライアント ライブラリでクライアントサイドの指標を収集するには、プロジェクトに OpenTelemetry と Cloud Monitoring の依存関係を含める必要があります。OpenTelemetry は、クライアント ライブラリが指標を作成、計測、記録するためのフレームワークを提供します。一方、Cloud Monitoring ライブラリは、これらの指標を Cloud Monitoring にエクスポートまたはパブリッシュする機能を提供します。
アプリケーションでクライアントサイドの指標を有効にする
バージョン 2.40.0 以降の C++ 用 Bigtable クライアント ライブラリでは、クライアントサイドの指標がデフォルトで有効になっています。
OpenTelemetry と Cloud Monitoring の両方の依存関係がプロジェクトで使用可能な場合、指標は自動的に収集されます。これらの指標に対して追加料金は発生しません。
オプション: クライアントサイドの指標をオプトアウトする
データ接続を作成するときに EnableMetricsOption
を false
に設定すると、クライアントサイド指標の使用をオプトアウトできます。
auto options = Options{}.set<EnableMetricsOption>(false);
TableResource resource("my-project", "my-instance", "my-table");
Table table(MakeDataConnection(std::move(options)), std::move(resource));
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();
Node.js
Node.js 用 Bigtable クライアント ライブラリを使用して Bigtable API を呼び出す場合は、次の操作を行います。
Node.js 用クライアント ライブラリをインストールして構成する
最新の Node.js 用 Bigtable クライアント ライブラリをダウンロードしてインストールします。
クライアントサイドの指標を使用するには、バージョン 6.2.0 以降が必要です。
package.json
ファイルは次のようになります。{ "dependencies": { "@google-cloud/bigtable": "^6.2.0" } }
プロジェクトで Node.js モジュールを再インストールします。
rm -rf node_modules rm package-lock.json npm i
アプリケーションでクライアントサイドの指標を有効にする
バージョン 6.4.0 以降の Node.js 用 Bigtable クライアント ライブラリでは、クライアントサイドの指標がデフォルトで有効になっています。
オプション: クライアントサイドの指標をオプトアウトする
クライアントサイドの指標の使用をオプトアウトできます。
const bigtable = new Bigtable({metricsEnabled: false});
Metrics Explorer で指標を表示する
Google Cloud コンソールで、[Metrics Explorer] ページに移動します。
プロジェクトを選択します。
[指標を選択] をクリックします。
bigtable.googleapis.com/client
を検索します。指標、
group by
メソッド、ステータスを選択し、Aggregator を選択します。その他のオプションについては、Metrics Explorer 使用時の指標の選択をご覧ください。
クライアントサイドの指標を有効にした後、アプリケーションを 1 分以上実行すると、公開された指標を確認できるようになります。
Bigtable モニタリングで指標を表示する
Bigtable モニタリング ページには、次のクライアントサイド指標のグラフが表示されます。
- クライアントサイドの読み取りレイテンシ
- クライアントサイドの書き込みレイテンシ
- クライアントサイドの読み取り試行レイテンシ
- クライアントサイドの書き込み試行レイテンシ
[モニタリング] ページでクライアントサイドの指標を表示する手順は次のとおりです。
Google Cloud コンソールで Bigtable インスタンスのリストを開きます。
指標を表示するインスタンスをクリックします。
左側のペインで [モニタリング] をクリックします。 Google Cloud コンソールに、インスタンスに関する一連のグラフが表示されます。
ペインをスクロールして、クライアントサイドの指標を表示します。
オプション: テーブルレベルで指標を表示するには、[テーブル] をクリックします。
オプション: 個別のアプリ プロファイルの指標を表示するには、[アプリケーション プロファイル] をクリックします。
詳細については、Bigtable のモニタリングをご覧ください。