設定用戶端指標
本頁說明如何安裝、設定及使用 Bigtable 用戶端指標。
下列用戶端程式庫的使用者可使用用戶端指標:
- C++ 適用的 Bigtable 用戶端程式庫
- Java 適用的 Bigtable 用戶端程式庫
- Java 適用的 Bigtable HBase 用戶端
- Go 適用的 Bigtable 用戶端程式庫
- Node.js 適用的 Bigtable 用戶端程式庫
如需總覽,請參閱「用戶端指標總覽」。 如需指標的詳細清單,請參閱「用戶端指標說明」。
新增或確認服務帳戶權限
如要為服務帳戶新增 IAM 權限,請完成下列步驟:
前往 Google Cloud 控制台的「IAM」(身分與存取權管理) 頁面。
選取您建立 Bigtable 叢集的專案。
搜尋要新增權限的服務帳戶。
按一下「編輯主體」。
按一下「新增其他角色」。
搜尋「monitoring metric writer」,然後選取結果。
按一下 [儲存]。
啟用 Cloud Monitoring API
在 Google Cloud 控制台中,前往「APIs & Services」(API 與服務) 頁面。
選取您建立 Bigtable 叢集的專案。
按一下「啟用 API 和服務」。
搜尋
Monitoring。在搜尋結果中,按一下「Cloud Monitoring API」。
如果畫面顯示「API enabled」(API 已啟用),代表 API 已啟用。 如果沒有,請點選「啟用」。
設定 Bigtable 用戶端程式庫
啟用 Cloud Monitoring API 後,請設定 Bigtable 用戶端程式庫。
C++
如果您使用 Bigtable C++ 用戶端程式庫 (會呼叫 Bigtable API),請按照下列步驟操作。
安裝及設定 C++ 專用的用戶端程式庫
使用常見的 C++ 建構系統 (例如 CMake 或 Bazel) 整合程式庫。 詳情請參閱「建構及安裝」。
如要讓 Bigtable 用戶端程式庫收集用戶端指標,專案必須包含 OpenTelemetry 和 Cloud Monitoring 的依附元件。OpenTelemetry 提供用戶端程式庫框架,用於建立、檢測及記錄指標,而 Cloud Monitoring 程式庫則提供功能,可將這些指標匯出或發布至 Cloud Monitoring。
在應用程式中啟用用戶端指標
自 2.40.0 版起,Bigtable C++ 用戶端程式庫預設會啟用用戶端指標。
如果專案中同時提供 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
如果您使用 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版本包含 HBase 非同步用戶端,1.x版本則沒有。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:適用於 Hadoop 以外的環境,這些環境需要較舊版本的元件,例如 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
在應用程式中啟用用戶端指標
如果使用 2.6.4 到 2.14.1 之間的版本,才需要執行下列步驟。使用 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 用戶端程式庫
- 下載並安裝最新版本的 Bigtable Java 用戶端程式庫。如要使用用戶端指標,必須使用 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」頁面。
選取專案。
按一下「Select a metric」(選取指標)。
搜尋
bigtable.googleapis.com/client。選取指標、
group by方法和狀態,然後挑選匯總工具。如要瞭解更多選項,請參閱「在使用 Metrics Explorer 時選取指標」。
啟用用戶端指標後,請讓應用程式執行至少一分鐘,再檢查是否有任何已發布的指標。
查看 Bigtable 監控指標
Bigtable 監控頁面會顯示下列用戶端指標的圖表:
- 用戶端讀取作業延遲時間
- 用戶端寫入作業延遲時間
- 用戶端讀取嘗試延遲時間
- 用戶端寫入嘗試延遲時間
如要在「監控」頁面查看用戶端指標,請按照下列步驟操作:
在 Google Cloud 控制台中開啟 Bigtable 執行個體清單。
按一下要查看指標的執行個體。
按一下左側窗格中的 [監控]。 Google Cloud 控制台會顯示執行個體的一系列圖表。
捲動窗格,查看用戶端指標。
選用:如要查看表格層級的指標,請按一下「表格」。
選用:如要查看個別應用程式設定檔的指標,請按一下「應用程式設定檔」。
詳情請參閱「Bigtable 監控」。