本頁面說明如何使用 gRPC 透過下列其中一種支援的介面與 Cloud Storage 互動,將 gRPC 用戶端指標傳送至 Cloud Monitoring:
- Dataflow 上的 Apache Beam 連接器 2.2.26 以上版本
您可以使用用戶端指標,監控透過 gRPC 與 Cloud Storage 互動的用戶端應用程式效能。用戶端指標與伺服器端指標不同,後者可從伺服器端角度提供 Cloud Storage 效能的深入分析。
運作方式
使用 gRPC 透過其中一個支援的介面與 Cloud Storage 互動時,您可以選擇加入將用戶端指標傳送至 Cloud Monitoring。您可以使用 Metrics Explorer 查看用戶端指標,監控及最佳化 Cloud Storage 與 gRPC 用戶端之間的互動、管理用量,以及排解效能瓶頸和技術問題。
定價
Cloud Storage 用戶端指標不會產生費用,也就是說,您可以發出、儲存及存取 Cloud Storage 用戶端指標,而不會產生 Cloud Monitoring 費用。如要進一步瞭解定價,請參閱「Google Cloud Observability 定價」。
事前準備
如要使用用戶端指標,請先完成下列步驟:
確認要使用的 Cloud Storage 用戶端程式庫或連接器支援 gRPC。下列 Cloud Storage 用戶端程式庫和連接器支援 gRPC:
啟用 Cloud Storage API。
設定傳送用戶端指標所需的角色和權限。
必要的角色
如要設定權限,將 gRPC 用戶端指標傳送至 Cloud Monitoring,請在 gRPC 用戶端使用的服務帳戶中,授予「Monitoring 指標寫入者」(roles/monitoring.metricWriter) IAM 角色。
這個預先定義的角色具備將 gRPC 用戶端指標發布至 Cloud Monitoring 所需的權限。如要查看確切的必要權限,請參閱「必要權限」一節:
所需權限
monitoring.timeSeries.create
下列 Cloud Storage 預先定義的角色具備這項 IAM 權限:
- 儲存空間管理員 (
roles/storage.admin) - Storage 物件管理員 (
roles/storage.objectAdmin) - Storage 物件使用者 (
roles/storage.objectUser)
您或許還可透過其他自訂角色或預先定義的角色取得這些權限。如要進一步瞭解 Monitoring 指標寫入者角色,請參閱 roles/monitoring.metricWriter 的 IAM 說明文件。
注意事項
如果您在 Managed Service for Apache Spark 上使用 Cloud Storage 連接器,請將 Monitoring Metric Writer (
roles/monitoring.metricWriter) IAM 角色授予 Managed Service for Apache Spark 虛擬機器 (VM) 服務帳戶。如果您在 Dataflow 使用 Apache Beam 連接器,則須將 Monitoring 指標寫入者 (
roles/monitoring.metricWriter) IAM 角色授予 Dataflow worker 服務帳戶。
在 Metrics Explorer 查看指標
請按照下列操作說明,在 Metrics Explorer 中查看 Cloud Storage gRPC 用戶端指標。
前往 Google Cloud 控制台的「Metrics Explorer」頁面。
選取要查看指標的專案。
在「指標」下拉式選單中,按一下「選取指標」。
在「依資源或指標名稱篩選」搜尋列中,輸入
storage.googleapis.com/Client或依指標名稱搜尋要套用的指標,然後按一下「套用」。如要新增多個指標,請按一下「Add query」(新增查詢)。Cloud Storage 會將指標套用至專案。您可以使用下列下拉式選單篩選或匯總指標:
如要根據指定條件選取及查看部分資料,請使用「Filter」(篩選器) 下拉式選單。
如要將多個資料點合併為單一值,並查看指標的摘要檢視畫面,請使用「彙整」下拉式選單。
請先讓應用程式執行至少一分鐘,再檢查是否有任何已發布的指標。
如要使用資訊主頁查看您新增至專案的指標,請參閱「資訊主頁總覽」。
指標說明
下列各節概述 Cloud Storage 用戶端指標,可用於監控 gRPC 用戶端的效能。
用戶端每次嘗試指標
下列指標會收集用戶端嘗試與伺服器通訊的個別成效資料。用戶端每次嘗試指標可協助您評估重試行為、瓶頸,以及最佳化用戶端與伺服器之間的通訊。
| 完整指標 | 說明 | 樂器類型 | 單位 | 屬性 |
|---|---|---|---|---|
storage.googleapis.com/client/grpc/client/attempt/started |
Preview:已啟動的 RPC 嘗試總數,包括尚未完成的嘗試。 |
計數器 | {attempt} |
|
storage.googleapis.com/client/grpc/client/attempt/duration |
Preview:完成 RPC 嘗試所需的端對端時間,包括選擇子管道所需的時間。 |
直方圖 | s |
|
storage.googleapis.com/client/grpc/client/attempt/sent_total_compressed_message_size |
Preview。所有要求訊息 (不含每次 RPC 嘗試的中繼資料) 傳送的位元組總數,經過壓縮但未加密。不含 gRPC 或傳輸框架位元組。 |
直方圖 | By |
|
storage.googleapis.com/client/grpc/client/attempt/rcvd_total_compressed_message_size |
Preview。每次 RPC 嘗試中,所有回應訊息 (不含中繼資料) 接收到的總位元組數 (已壓縮但未加密)。不含 gRPC 或傳輸框架位元組。 |
直方圖 | By |
|
如要進一步瞭解用戶端每次嘗試的工具,請參閱 GitHub 上的 OpenTelemetry 指標說明文件。
用戶端每次呼叫指標
下列指標會匯總顯示用戶端呼叫伺服器的整個生命週期。用戶端每次呼叫指標提供用戶端呼叫的概要資料、追蹤指標,協助您瞭解呼叫模式,並找出錯誤頻率。
| 完整指標 | 說明 | 樂器類型 | 單位 | 屬性 |
|---|---|---|---|---|
storage.googleapis.com/client/grpc/client/call/duration |
Preview:從應用程式的角度,測量 gRPC 程式庫完成 RPC 的端對端時間。 |
直方圖 | s |
|
如要進一步瞭解用戶端每次呼叫檢測,請參閱 GitHub 中的 OpenTelemetry 指標說明文件。
要求負載感測指標
下列指標可深入瞭解用戶端應用程式使用要求負載感應功能的成效。要求負載感應指標可協助您平衡伺服器負載、最佳化資源使用率,以及縮短用戶端回應時間。下列指標僅適用於直接連線。
| 完整指標 | 說明 | 樂器類型 | 單位 | 屬性 |
|---|---|---|---|---|
storage.googleapis.com/client/grpc/lb/rls/cache_entries |
Preview。要求負載感應快取中的項目數。 |
度量圖 | {entry} |
|
storage.googleapis.com/client/grpc/lb/rls/cache_size |
Preview:要求負載感測快取的目前大小。 |
度量圖 | By |
|
storage.googleapis.com/client/grpc/lb/rls/default_target_picks |
Preview:傳送至預設目標的負載平衡器 (LB) 挑選數量。 |
計數器 | {pick} |
|
storage.googleapis.com/client/grpc/lb/rls/target_picks |
Preview:傳送至各要求負載感測目標的 LB 挑選數量。如果要求負載感應伺服器也傳回預設目標,則從快取傳送至該目標的 RPC 會計入這項指標,而非 grpc.rls.default_target_picks。 |
計數器 | {pick} |
|
storage.googleapis.com/client/grpc/lb/rls/failed_picks |
Preview。因要求負載感測要求失敗,或要求負載感測管道受到節流,而失敗的 LB 挑選數量。 |
計數器 | {pick} |
|
xDiscovery Service 用戶端指標
下列指標可讓您深入瞭解用戶端應用程式如何與 xDiscovery Service (xDS) 控制層互動,以探索及設定與後端服務的連線。xDS 指標可協助您追蹤服務要求延遲時間、監控設定更新,以及最佳化整體 xDS 效能。
只有直接連線才能使用下列指標。
| 完整指標 | 說明 | 樂器類型 | 單位 | 屬性 |
|---|---|---|---|---|
storage.googleapis.com/client/grpc/xds_client/connected |
Preview. 評估 xDS 用戶端是否具有可連線至 xDS 伺服器的 ADS 串流。針對特定伺服器,這個指標會在最初建立串流時設為 1。如果連線能力失敗,或 ADS 串流失敗但未顯示如 A57 所示的回應訊息,指標會設為 0。設為 0 後,當 ADS 串流收到第一個回應時,指標會重設為 1。這項指標僅適用於 C++ 適用的 Cloud 用戶端程式庫。 |
度量圖 | {bool} |
|
storage.googleapis.com/client/grpc/xds_client/resource_updates_invalid |
Preview。系統收到的資源數量,這些資源被視為無效。這項指標僅適用於 C++ 適用的 Cloud 用戶端程式庫。 |
計數器 | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/resource_updates_valid |
Preview:系統收到的有效資源數量 (即使未變更)。這項指標僅適用於 C++ 適用的 Cloud 用戶端程式庫。 |
計數器 | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/resources |
Preview。xDS 資源數量。這項指標僅適用於 C++ 適用的 Cloud 用戶端程式庫。 |
度量圖 | {resource} |
|
storage.googleapis.com/client/grpc/xds_client/server_failure |
Preview。不再正常運作的 xDS 伺服器數量,這些伺服器可能已無法使用、過載,或提供不正確或無效的設定資料。這項指標僅適用於 C++ 適用的 Cloud 用戶端程式庫。 |
計數器 | {failure} |
|
如要進一步瞭解 xDS 用戶端指標,請參閱 GitHub 的 xDS 架構全域負載平衡說明文件。
停用用戶端指標
您可以視需要停用用戶端指標。
Java
public GrpcStorageOptions.Builder setEnableGrpcClientMetrics(false enableGrpcClientMetrics)
詳情請參閱「適用於 Java 類別的 Cloud 用戶端程式庫 GrpcStorageOptions.Builder 方法,用於 gRPC 用戶端指標」。
C++
如要使用 C++ 適用的 Cloud 用戶端程式庫,選擇不採用 gRPC API 的用戶端指標,請參閱「Struct EnableGrpcMetricsOption」。
如果您使用 Bazel 建構應用程式,並想停用用戶端指標,請在應用程式的建構檔案中,將 enable_grpc_metrics 選項設為 false。
後續步驟
進一步瞭解 Google Cloud中的觀測能力。
瞭解如何在應用程式中新增自訂追蹤記錄和指標。