本文說明如何將記錄項目連結至追蹤記錄。您可以在記錄項目中設定欄位,執行連結作業。使用 LogEntry 結構中的追蹤欄位 (spanId、trace 和 traceSampled),即可將記錄和追蹤記錄相互關聯,進而更有效率地排解分散式問題。
手動將記錄項目與追蹤記錄或時距建立關聯
如果您使用 Cloud Logging API 寫入記錄資料,或是寫入結構化記錄資料,則可將記錄項目與追蹤記錄或時距建立關聯。記錄項目也可以記錄追蹤記錄是否經過取樣。如要瞭解 Ops Agent 如何將結構化記錄資料轉換為 LogEntry 中的欄位,請參閱結構化酬載中的特殊欄位。
如要將記錄項目與追蹤記錄建立關聯,請在 LogEntry 物件中設定 trace 欄位:
- 偏好格式:
TRACE_ID - 舊版格式:
projects/PROJECT_ID/traces/TRACE_ID
在上述運算式中,PROJECT_ID 是您的 Google Cloud 專案 ID,TRACE_ID 則是追蹤 ID。
使用 Cloud Logging API 時,如要將記錄項目與時距建立關聯,請將 LogEntry 物件中的 spanId 欄位設為時距 ID 的 16 個字元十六進制編碼。舉例來說,如要將記錄項目與 ID 為 74 的時距建立關聯,請將時距 ID 設為 000000000000004a。
如要指出您正在使用追蹤記錄取樣,且在寫入記錄項目時,追蹤記錄已取樣以供儲存,請在 LogEntry 物件中設定 traceSampled 欄位。使用追蹤記錄取樣時,系統可能會在未擷取追蹤記錄本身的情況下建立記錄項目。
自動將記錄項目與追蹤記錄或時距建立關聯
使用 Cloud Logging 用戶端程式庫時,記錄項目中的追蹤欄位有時會自動設定。手動設定的值優先於自動設定的值。
舉例來說,如果您使用 OpenTelemetry,並從有效的 OpenTelemetry span 記錄,則記錄項目的追蹤欄位會從 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 角色提供。