結構化記錄

本文將探討結構化記錄的概念,以及為記錄項目酬載欄位新增結構的方法。如果記錄酬載的格式為 JSON 物件,且該物件儲存在 jsonPayload 欄位中,則該記錄項目稱為結構化記錄。對於這些記錄,您可以建構查詢來搜尋特定 JSON 路徑,也可以為記錄酬載中的特定欄位建立索引。相反地,如果記錄檔酬載格式為字串,並儲存在 textPayload 欄位中,記錄項目就是非結構化。您可以搜尋文字欄位,但無法為其內容建立索引。

如要建立結構化記錄項目,請執行下列任一操作:

  • 呼叫 entries.write API 方法,並提供格式完整的 LogEntry。
  • 使用 gcloud logging write 指令。
  • 使用可寫入結構化記錄的 Cloud Logging 用戶端程式庫。
  • 使用 BindPlane 服務。
  • 使用代理程式寫入記錄:

    • 部分 Google Cloud 服務內建記錄代理程式,可將寫入 stdout 或 stderr 的資料以記錄形式傳送至 Cloud Logging。您可以使用這種方法處理 Google Kubernetes Engine、App Engine 彈性環境和 Cloud Run functions 等服務。 Google Cloud
    • 如果是 Compute Engine 虛擬機器 (VM),建議您安裝及設定 Ops Agent,將結構化記錄傳送至 Cloud Logging。如果現有 VM 使用舊版 Logging 代理程式,請注意,該代理程式已停止支援。如要瞭解如何從舊版 Logging 代理程式遷移,請參閱遷移指南,或參閱「使用舊版 Logging 代理程式進行結構化記錄」,瞭解如何使用舊版 Logging 代理程式寫入結構化記錄。

如需程式碼範例,請參閱「撰寫結構化記錄」。

使用 gcloud CLI 寫入記錄

您可以使用 gcloud CLI 寫入記錄資料。介面支援非結構化記錄和結構化記錄。如要寫入結構化記錄,請提供序列化的 JSON 物件給指令。

如需快速入門,請參閱「使用 Google Cloud CLI 寫入及查詢記錄項目」。

如需程式碼範例,請參閱 gcloud logging write 參考資料。

使用 BindPlane 寫入記錄

您可以使用 BindPlane 服務將記錄傳送至 Logging。這些記錄的酬載採用 JSON 格式,並根據來源系統建構。如要瞭解如何尋找及查看使用 BindPlane 擷取的記錄,請參閱 BindPlane 快速入門指南。

使用 Ops Agent 寫入記錄檔

如要從 Compute Engine 執行個體取得記錄,可以使用 Ops Agent。Ops Agent 會將記錄和指標結合為單一代理程式,提供以 YAML 為基礎的設定,並支援高處理量記錄功能。

如要瞭解如何設定 Ops Agent 來支援結構化記錄,或自訂結構化記錄的格式,請參閱「設定 Ops Agent」。

排解問題

如要排解安裝或與 Ops Agent 互動時發現的常見問題,請參閱「排解代理程式問題」。

後續步驟