將記錄項目連結至追蹤記錄

將 Cloud Logging 記錄項目與 Cloud Trace 追蹤記錄和時距建立關聯,即可在排解分散式要求問題時,一併查看記錄和追蹤瀑布圖,或在 Logs Explorer 中查看。如要將記錄與追蹤記錄連結,您可以手動在 LogEntry 物件中設定 trace、spanId 和 traceSampled 欄位,也可以使用 Logging 用戶端程式庫,從 OpenTelemetry 環境或 HTTP 要求標頭自動填入這些欄位。

手動將記錄項目與追蹤記錄或時距建立關聯

如果您使用 Cloud Logging API 寫入記錄資料,或是寫入結構化記錄資料,就可以將記錄項目與追蹤記錄或時距建立關聯。記錄項目也可以記錄追蹤記錄是否經過取樣。如要瞭解 Ops Agent 如何將結構化記錄資料轉換為 LogEntry 中的欄位,請參閱「結構化酬載中的特殊欄位」。

如要將記錄項目與追蹤記錄建立關聯,請在 LogEntry 物件中設定 trace 欄位:

  • 偏好格式:TRACE_ID
  • 舊版格式:projects/PROJECT_ID/traces/TRACE_ID

在上述運算式中,PROJECT_ID 是您的 Google Cloud 專案 ID,TRACE_ID 則是追蹤 ID。

使用 Logging API 時,如要將記錄項目與時距建立關聯,請將 LogEntry 物件中的 spanId 欄位設為時距 ID 的 16 個字元的十六進制編碼。舉例來說,如要將記錄項目與 ID 為 74 的時距建立關聯,請將時距 ID 設為 000000000000004a。

如要指出您正在使用追蹤記錄取樣,且在寫入記錄項目時已取樣追蹤記錄以供儲存,請在 LogEntry 物件中設定 traceSampled 欄位。使用追蹤記錄取樣時,即使系統未擷取追蹤記錄,仍有可能建立記錄項目。

自動將記錄項目與追蹤記錄或時距建立關聯

記錄用戶端程式庫在某些情況下會自動設定追蹤欄位。手動設定的值優先於自動設定的值。

舉例來說,如果您使用 OpenTelemetry,並從有效的 OpenTelemetry 時距記錄,則記錄項目中的追蹤記錄欄位會從 OpenTelemetry Context 填入。

或者,在某些情況下,如果存在 HTTP 要求,則可以從 HTTP 要求中的 W3C traceparent 欄位或 X-Cloud-Trace-Context 值設定追蹤欄位。

如要進一步瞭解如何自動填入記錄檔項目中的追蹤欄位,請參閱下列各個程式語言的專屬用戶端程式庫說明文件:

查看記錄

您可以查看追蹤記錄的記錄項目,以及瀑布圖或 Logs Explorer 中的記錄項目。使用 Logs Explorer 時,時間範圍會自動限制為追蹤記錄的時間戳記範圍。如果沒有可顯示的記錄項目,Logs Explorer 會顯示 No entries found matching current filter 訊息。

如要從「追蹤詳細資料」窗格查看追蹤記錄項目,請執行下列其中一項操作:

  • 如要一併顯示追蹤記錄項目和瀑布圖,請前往瀑布圖並點選「顯示記錄」。 如果沒有顯示「顯示記錄」,表示沒有可用的記錄項目。

  • 如要在 Logs Explorer 中查看記錄項目,請在「詳細資料」部分,按一下「記錄」標籤旁的「查看」。如果擁有 Cloud Load Balancing 追蹤記錄,請按一下「VM Log」(VM 記錄) 標籤旁的「View」(查看)。

如要進一步瞭解如何在 Cloud Logging 中查看記錄項目,請參閱「使用 Logs Explorer」。

記錄檢視權限

如要查看任何記錄檔項目,您必須具備專案的 logging.logEntries.list 權限。這項權限由「記錄檢視者」和「專案檢視者」身分與存取權管理 (IAM) 角色提供。

如要查看 VM 執行個體記錄,您必須具備專案的 compute.instances.get 權限。這項權限由 Compute Engine 網路檢視者和專案檢視者 IAM 角色提供。