本文說明如何將記錄項目連結至追蹤記錄。您可以在記錄項目中設定欄位,執行連結作業。使用 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 時,如要將記錄檔項目與 span 建立關聯,請將 LogEntry 物件中的 spanId 欄位設為 span ID 的 16 個字元十六進位編碼。舉例來說,如要將記錄項目與 ID 為 74 的時距建立關聯,請將時距 ID 設為 000000000000004a。
如要指出您正在使用追蹤記錄取樣,且在寫入記錄項目時,追蹤記錄已取樣並儲存,請在 LogEntry 物件中設定 traceSampled 欄位。使用追蹤記錄取樣時,系統可能會在未擷取追蹤記錄本身的情況下建立記錄項目。
自動將記錄項目與追蹤記錄或時距建立關聯
使用 Cloud Logging 用戶端程式庫時,記錄項目中的追蹤欄位有時會自動設定。手動設定的值優先於自動設定的值。
舉例來說,如果您使用 OpenTelemetry,並從有效的 OpenTelemetry span 記錄,則記錄項目的追蹤欄位會從 OpenTelemetry Context 填入。
或者,在某些情況下,如果存在 HTTP 要求,則可以從 HTTP 要求中的 W3C traceparent 欄位或 X-Cloud-Trace-Context 值設定追蹤欄位。
如要進一步瞭解如何自動填入記錄項目中的追蹤欄位,請參閱下列各個程式語言的專屬用戶端程式庫說明文件:
查看記錄
您可以查看追蹤的記錄項目,以及瀑布圖或記錄探索工具。使用記錄檔探索工具時,系統會自動將時間戳記範圍限制為追蹤記錄的範圍。如果沒有可顯示的記錄項目,記錄檔探索工具會顯示 No entries found matching current filter 訊息。
如要從「追蹤記錄詳細資料」窗格查看追蹤記錄的記錄項目,請執行下列其中一項操作:
如要一併顯示追蹤記錄項目和瀑布圖,請前往瀑布圖並點選「顯示記錄」。 如果沒有顯示「顯示記錄」,表示沒有可用的記錄項目。
如要在記錄探索工具中查看記錄項目,請在「詳細資料」部分中,按一下「記錄」標籤旁的「查看」。 請注意,如果擁有 Cloud Load Balancing 追蹤記錄,請按一下「VM Log」(VM 記錄) 標籤旁的「View」(查看)。
如要進一步瞭解如何在 Cloud Logging 中查看記錄項目,請參閱「使用 Logs Explorer」。
記錄檢視權限
如要查看任何記錄項目,您必須在專案中具備 logging.logEntries.list 權限。這項權限由「記錄檢視者」和「專案檢視者」身分與存取權管理 (IAM) 角色提供。
如要查看 VM 執行個體記錄,您必須具備專案的 compute.instances.get 權限。這項權限由 Compute Engine 網路檢視者和專案檢視者 IAM 角色提供。