在 Java 適用的 Cloud 用戶端程式庫中啟用遙測信號

Google Cloud 為 Java 應用程式提供強大的監控、記錄與診斷功能。

Java 用戶端程式庫會發出追蹤記錄、指標和記錄資料。這項檢測功能為選擇加入,您必須明確啟用。本文將說明可用的信號,以及如何啟用這些信號。

可用信號

黃金信號包含下列遙測資料,並遵循 OpenTelemetry 語意慣例

  • 追蹤記錄:代表用戶端程式庫發出的網路要求,屬於低階 HTTP/gRPC 追蹤記錄。
  • 指標:用戶端要求指標,追蹤延遲時間和要求率。主要指標為 gcp.client.request.duration
  • 記錄:DEBUG 層級的可採取行動錯誤記錄,提供傳輸層失敗要求的詳細資料,即使最終重試成功也一樣。

信號包括標準 OpenTelemetry 屬性 (例如 http.response.status_coderpc.system.name) 和 Google Cloud專屬的自訂屬性,可能包括下列屬性和類似屬性:

  • gcp.client.service:服務名稱 (例如 pubsubstorage)。
  • gcp.client.repo:用戶端程式庫存放區 (例如 googleapis/google-cloud-java)。
  • gcp.client.version:用戶端程式庫版本。
  • gcp.client.artifact:特定模組路徑 (例如 com.google.cloud:google-cloud-secretmanager)。
  • gcp.resource.destination.id:要對其採取行動的資源 ID。
  • gcp.errors.domain:可採取行動的錯誤記錄的錯誤網域。
  • gcp.errors.metadata.<key>:失敗要求的其他錯誤中繼資料鍵 (已扁平化)。

如需標準屬性的完整清單,請參閱 OpenTelemetry HTTP 和 gRPC 語意慣例

啟用遙測功能

為保護機密資料,遙測信號預設為停用。您必須明確選擇啟用這些功能。

追蹤和指標

在產生的 Java 用戶端程式庫中,您必須以程式設計方式啟用追蹤和指標,方法是在初始化期間,將適當的追蹤器工廠提供給用戶端的設定:

  • 追蹤:使用 OpenTelemetryTracingFactory 設定用戶端。
  • 指標:使用 OpenTelemetryMetricsFactory 設定用戶端。
  • 兩者皆啟用:如要同時啟用追蹤和指標,請使用包裝兩個工廠的 CompositeTracerFactory 設定用戶端。

記錄

可採取行動的錯誤記錄會直接整合到核心ApiTracer架構。如要為 Google Cloud用戶端程式庫全面啟用可採取行動的錯誤記錄,請使用下列環境變數:

export GOOGLE_SDK_JAVA_LOGGING=true

追蹤內容傳播

如要在 Java 用戶端程式庫中傳播追蹤記錄內容,必須明確啟用追蹤功能。

啟用追蹤記錄產生功能 (例如設定 OpenTelemetryTracingFactory) 後,如果應用程式在呼叫用戶端程式庫方法時,目前內容中有作用中的 OpenTelemetry 時距,程式庫就會使用該時距為外送要求提供追蹤記錄內容。這可確保應用程式層級的追蹤記錄與後端服務記錄和行為相互關聯。

匯出遙測資料

在用戶端程式庫中啟用遙測功能後,您必須設定應用程式,才能收集這項資料並匯出至可觀測性後端。

追蹤和指標

如要匯出 Java 用戶端程式庫產生的追蹤記錄和指標,請使用偏好的匯出工具 (例如 OTLP) 初始化 OpenTelemetry SDK,並在應用程式中設定全域文字地圖傳播器。

如要進一步瞭解如何收集 OpenTelemetry 資料並匯出至 Cloud Monitoring 或 Cloud Trace,請參閱「選擇檢測方法」。

記錄

Java 用戶端程式庫使用 SLF4J 和 java.util.logging 等標準記錄架構。設定 GOOGLE_SDK_JAVA_LOGGING=true 時,系統會在 DEBUG 層級發出可執行的錯誤記錄。

如要將這些結構化記錄檔傳送至 Cloud Logging,請將記錄框架 (例如 Logback) 設為將 JSON 寫入標準輸出內容 (stdout)。如果您要部署至 Google Kubernetes Engine 或 Cloud Run 等環境,內建代理程式會自動擷取這些記錄檔。

如需設定 Logback 或 java.util.logging 輸出與 Cloud Logging 相容的 JSON (包括追蹤記錄關聯) 的詳細操作說明,請參閱「為 Java 設定結構化記錄」。