找出記錄項目的關聯性

在 Logs Explorer 中,您可以將與相同追蹤記錄相關聯的記錄項目建立關聯,然後一起查看,簡化要求相關的疑難排解作業。在 LogEntry 物件中設定 trace 欄位,將記錄項目建立關聯後,Logs Explorer 會以巢狀方式,在父項要求記錄項目下方顯示子項記錄項目。

可建立記錄項目關聯的時機

如要關聯記錄項目,每個項目都必須包含 trace 欄位。使用 OpenTelemetry 檢測應用程式時,系統會從追蹤記錄內容擷取追蹤記錄和時距 ID,並納入傳送至專案的 OTLP 記錄資料。如果您使用 Google Cloud 匯出工具,這些工具也會擷取這些欄位。或者,您也可以手動設定 trace 欄位。

下列 Google Cloud 服務 會擷取追蹤記錄資料,並寫入包含追蹤記錄資訊的記錄檔項目:

  • App Engine 標準環境
  • Cloud Run functions
  • Cloud Run

此外,Compute Engine 和 Google Kubernetes Engine 環境使用 Ops Agent 或 OpenTelemetry Collector 時,會擷取並納入追蹤資料。

如要瞭解如何檢測應用程式以收集追蹤資料,請參閱「檢測應用程式以用於 Cloud Trace」。

關聯性需求

如要讓 Logs Explorer 關聯一組記錄項目,這些記錄項目必須符合下列規定:

  • LogEntry 物件中的 trace 欄位會設為下列其中一種格式的字串:

    TRACE_ID
    

    projects/PROJECT_ID/traces/TRACE_ID
    

    在上述運算式中,PROJECT_ID 是專案 ID,TRACE_ID 則是追蹤記錄 ID。

  • 所有記錄項目的 trace 欄位值都相同。

  • 每個記錄項目的 logName 值都不相同。

  • 父項記錄項目的時間戳記不晚於任何子項記錄項目的時間戳記。

事前準備

如要取得使用記錄檔探索工具查看記錄項目所需的權限,請要求管理員授予您下列 IAM 角色:

  • 如要查看 _Required bucket 中的記錄項目,以及 _Default bucket 中的 _Default 檢視畫面,或選取記錄範圍: 專案、資料夾或機構中的「記錄檢視器」 (roles/logging.viewer)。
  • 如要查看 _Required_Default 儲存空間中的所有記錄項目,請在專案、資料夾或機構中指派私密記錄檢視者 (roles/logging.privateLogViewer) 角色。

如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

在 Logs Explorer 中查看及搜尋相關記錄項目

如要使用父子結構檢視及搜尋記錄項目,請執行下列操作:

  1. 前往 Google Cloud 控制台的 「Logs Explorer」頁面

    前往「Logs Explorer」(記錄檔探索工具)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果

  2. 在「Correlate by」(依據關聯) 選單中,選取父項記錄檔名稱。 舉例來說,如果是 App Engine 應用程式,請選取 request_log

    「Query results」(查詢結果) 窗格會針對符合父項記錄名稱的每個記錄項目顯示一列。

    如要查看相關聯的記錄項目,請點選「展開這個記錄項目」

    顯示相關聯的記錄項目。

    上方的螢幕截圖顯示一個父項記錄項目,其中有兩個子項記錄項目。

    如果展開父項記錄項目後沒有顯示子項記錄項目,表示查詢時間範圍內沒有其他記錄項目共用該追蹤記錄 ID。

  3. 選用步驟:輸入搜尋字詞或更新查詢運算式,即可篩選或搜尋相關記錄項目。

    舉例來說,如果在搜尋列中輸入 "app log message",然後按一下「Run query」(執行查詢),「Query results」(查詢結果) 窗格就只會顯示包含 "app log message" 文字的記錄項目。

後續步驟