查看已轉送至 Cloud Storage 的記錄

本文說明如何找出從 Cloud Logging 路由至 Cloud Storage 值區的記錄項目。

系統會以小時為單位,將記錄項目分批儲存至 Cloud Storage 值區。第一批項目可能需要 2 到 3 個小時才會開始顯示出來。

事前準備

如要瞭解接收器的概念,請參閱「轉送和儲存空間模型總覽:接收器」。

如需如何轉送記錄檔的操作說明,請參閱「將記錄檔轉送至支援的目的地」。

查看記錄

如要查看已路由至 Cloud Storage 的記錄,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Bucket」頁面:

    前往「Buckets」(值區)

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

  2. 選取做為路由目的地的 Cloud Storage 值區。

記錄檔整理

將記錄檔轉送至 Cloud Storage bucket 時,Logging 會將一組檔案寫入 bucket。

檔案會依記錄類型和日期,以目錄階層方式整理。記錄類型 (在 LogEntry 參照中稱為 [LOG_ID]) 可以是簡單名稱 (例如 syslog),也可以是複合名稱 (例如 appengine.googleapis.com/request_log)。如果這些記錄儲存在名為 my-gcs-bucket 的值區中,目錄名稱會如以下範例所示:

my-gcs-bucket/syslog/YYYY/MM/DD/
my-gcs-bucket/appengine.googleapis.com/request_log/YYYY/MM/DD/

單一 Cloud Storage bucket 可包含多種資源類型的記錄檔。檔案大小上限為 3.5 GiB。

如果接收器包含相同或重疊的查詢,記錄服務無法保證會對記錄項目進行重複資料刪除作業;這些接收器的記錄項目可能會多次寫入 Cloud Storage bucket。

分葉目錄 (DD/) 包含多個檔案,每個檔案都會將已轉送的記錄項目依檔案名稱所指定保留一段時間。檔案會分片,名稱結尾為分片編號、SnAn (n=0、1、2...)。舉例來說,以下是兩個可能儲存在 my-gcs-bucket/syslog/2015/01/13/ 目錄中的檔案:

08:00:00_08:59:59_S0.json
08:00:00_08:59:59_S1.json

這兩個檔案加起來包含 08:00:00 至 08:59:59 (世界標準時間) 期間,所有執行個體的記錄項目。syslog記錄檔項目時間戳記以世界標準時間 (UTC) 表示。

如果記錄項目在 timestamp 的 60 分鐘對齊時間範圍內抵達,且含有 receiveTimestamp,系統會將這些項目寫入主要分片檔案。舉例來說,如果記錄項目的 timestamp 為 08:00:00,receiveTimestamp 為 08:10:00,就會儲存在主要分片檔案中。

這些檔案的後置字串包含編號的主要分片: _Sn.json

如果記錄項目抵達時的 timestampreceiveTimestamp 位於不同的 60 分鐘對齊時間範圍,系統會將這些項目寫入附錄分片檔案。舉例來說,如果記錄項目的 timestamp 為 08:00:00,receiveTimestamp 為 09:10:00,則會儲存在附錄資料分割檔案中。

這些檔案包括附加條款分片 (附有編號),後置字串為:_An:Unix_timestamp.json

舉例來說,如果記錄項目在 08:00:00 到 08:59:59 之間有 timestamp,但 receiveTimestamp 位於其他 60 分鐘對齊的視窗中,系統會將該項目寫入帶有 _An:Unix_timestamp.json 後置字串的檔案,其中 Unix 時間戳記會識別檔案路由至 Cloud Storage 的時間。如果記錄檔項目在 2021 年 3 月 25 日 08:50:00 timestamp,09:10:00 receiveTimestamp,並於 09:15:00 轉接,則附錄檔案會寫入如下:

08:00:00_08:59:59_A0:1616681700.json

如要取得所有記錄項目,您必須讀取每個時間週期 (在本例中為檔案分片 0 和 1) 的所有分片。每個時間間隔寫入的檔案分片數量可能會有所不同。

在個別資料分割檔案內,系統會將記錄項目儲存為 LogEntry 物件的清單。如需 syslog 項目的範例,請參閱「記錄項目結構」。

請注意,檔案中的記錄項目排序方式不一致,也不保證會依特定方式排序。

遲到的記錄項目

系統會以每小時批次作業的形式,將轉送的記錄檔項目儲存至 Cloud Storage bucket。第一批項目可能需要 2 到 3 個小時才會開始出現。後置字串為 An (「附加」) 的已路由記錄檔資料分割會保留遲到的記錄項目。

如果目的地發生中斷情形,Cloud Logging 會緩衝處理資料,直到中斷結束為止。

如果接收器目的地中沒有任何記錄,請檢查匯出系統指標。匯出系統指標會指出已轉送的記錄項目數量,以及因發生錯誤而捨棄的記錄項目數量。如果匯出系統指標顯示沒有任何記錄項目傳送至目的地,請檢查 [篩選器][export-query],確認符合篩選條件的記錄項目最近是否已傳送至 Cloud Logging。

前往 Google Cloud 控制台的「Log Router」(記錄檔路由器) 頁面:

前往「記錄檔路由器」

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

App Engine 記錄項目

App Engine 會針對造成記錄活動的要求,合併 google.appengine.logging.v1.LogLine (也稱為 AppLog 或 AppLogLine) 類型的主要記錄項目 google.appengine.logging.v1.RequestLog 下。每行記錄都有「要求 ID」,可識別主要項目。Logs Explorer 會顯示包含要求記錄項目的記錄行。記錄作業會嘗試將所有記錄行放入原始要求的批次中,即使這些記錄行的時間戳記會將其放入下一個批次也一樣。如果無法做到,要求記錄項目可能會缺少部分記錄行,且下一批次中可能會有「孤立」記錄行,沒有要求。如果這項可能性對您來說很重要,請準備好在處理記錄時重新連結要求片段。

疑難排解

如果接收器的目的地似乎缺少記錄,或您懷疑接收器未正確傳送記錄,請參閱「排解記錄傳送問題」。

定價

Cloud Logging 不會收取將記錄檔轉送至支援目的地的費用,但目的地可能會收取費用。除了 _Required 記錄檔值區,Cloud Logging 會針對將記錄檔串流至記錄檔值區,以及儲存時間超過記錄檔值區預設保留期限的記錄檔收費。

Cloud Logging 不會收取複製記錄、建立記錄範圍分析檢視區塊的費用,也不會收取透過 Logs Explorer記錄檔分析頁面發出查詢的費用。

如需詳細資訊,請參閱下列文件: