查看轉送至 Pub/Sub 的記錄檔

本文說明如何找出從 Cloud Logging 轉送至 Pub/Sub 主題的記錄項目,這項作業幾乎是即時進行。 建議使用 Pub/Sub 將 Cloud Logging 記錄檔與第三方軟體整合。

將記錄項目轉送至 Pub/Sub 主題時,Logging 收到記錄項目後,會立即將每個項目發布為 Pub/Sub 訊息。一般來說,記錄項目抵達 Cloud Logging 後幾秒內就會完成路由作業,99% 的記錄項目會在 60 秒內完成路由作業。

事前準備

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

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

查看記錄

如要透過 Pub/Sub 串流查看記錄,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Topics」(主題) 頁面:

    前往「主題

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

  2. 針對記錄接收器中使用的主題尋找或建立訂閱項目,然後從中提取記錄項目。您可能必須等待新記錄項目發佈完成。

記錄檔整理

每則訊息的 data 欄位都是採用 base64 編碼的 LogEntry 物件。舉例來說,Pub/Sub 訂閱者可能會從接收記錄項目的主題中,提取下列物件。顯示的物件包含單一訊息的清單,但如果有多個記錄項目可用,Pub/Sub 可能會傳回多個訊息。為方便閱讀範例,data 值 (約 600 個字元) 和 ackId 值 (約 200 個字元) 已縮短:

{
 "receivedMessages": [
  {
   "ackId": "dR1JHlAbEGEIBERNK0EPKVgUWQYyODM...QlVWBwY9HFELH3cOAjYYFlcGICIjIg",
   "message": {
    "data": "eyJtZXRhZGF0YSI6eyJzZXZ0eSI6Il...Dk0OTU2G9nIjoiaGVsbG93b3JsZC5sb2cifQ==",
    "attributes": {
     "compute.googleapis.com/resource_type": "instance",
     "compute.googleapis.com/resource_id": "123456"
    },
    "messageId": "43913662360"
   }
  }
 ]
}

如果您將 data 欄位解碼並設定格式,會得到下列 LogEntry 物件:

{
  "log": "helloworld.log",
  "insertId": "2015-04-15|11:41:00.577447-07|10.52.166.198|-1694494956",
  "textPayload": "Wed Apr 15 20:40:51 CEST 2015 Hello, world!",
  "timestamp": "2015-04-15T18:40:56Z",
  "labels": {
    "compute.googleapis.com\/resource_type": "instance",
    "compute.googleapis.com\/resource_id": "123456"
  },
  "severity": "WARNING"
  }
}

與 Pub/Sub 整合的第三方服務

將記錄項目傳送至 Pub/Sub 主題。第三方只要訂閱相同主題,就能接收記錄項目。Logging 支援與第三方 (例如 Splunk 或 Datadog) 整合記錄功能。如需目前的整合項目清單,請參閱 合作夥伴頁面,瞭解 Google Cloud Observability 整合項目。

如要執行整合,預期會執行如下操作:

  1. 在記錄檔項目來源專案中,建立含有預設訂閱項目的 Pub/Sub 主題:

    1. 啟用 Pub/Sub API。

      Enable the API

    2. 前往 Google Cloud 控制台的「Topics」(主題) 頁面:

      前往「主題

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

    3. 按一下「建立主題」

    4. 在「主題 ID」欄位中,輸入主題的 ID。例如:projects/my-project-id/topics/my-pubsub-topic

      傳送至主題的每則訊息都會在 Pub/Sub 訊息 attributes 中,包含已轉送記錄項目的時間戳記,例如:

      "attributes": {
        "logging.googleapis.com/timestamp": "2024-07-01T00:00:00Z"
      }
      
    5. 保留「新增預設訂閱項目」選項。請勿選取任何其他選項。

    6. 按一下「建立主題」

  2. 在記錄項目來源專案中,設定 Logging 將記錄項目轉送至主題:

    1. 前往 Google Cloud 控制台的「記錄檔路由器」頁面:

      前往「記錄檔路由器」

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

    2. 按一下「建立接收器」, 輸入接收器的名稱和說明,然後按一下「下一步」
    3. 在「接收器服務」選單中,選取「Cloud Pub/Sub 主題」,然後選取 Pub/Sub 主題,並按一下「下一步」
    4. 選取要納入接收器的記錄檔項目,然後按一下「下一步」
    5. 選用:選取要排除的記錄項目。
    6. 按一下「建立接收器」

      畫面上會顯示「已建立接收器」訊息的對話方塊。這表示已成功建立接收器,且接收器有權將日後相符的記錄檔項目傳送至您選取的目標位置。

    7. 將「Pub/Sub 發布者 (roles/pubsub.publisher)」角色授予接收器的寫入者身分。如要進一步瞭解如何取得寫入者身分並授予角色,請參閱「設定目的地權限」。

    Cloud Logging 現在會將記錄項目傳送至 Pub/Sub 主題。

  3. 建立訂閱項目。

    舉例來說,如果您使用 Dataflow 從 Pub/Sub 主題提取資料,並傳送至 Datadog,則需要執行下列兩個步驟:

    1. 建立或取得服務帳戶,然後授予訂閱主題所需的 IAM 角色。服務帳戶至少需要下列角色:

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

    2. 透過範本建立工作,然後執行該工作。 在本範例中,您會使用 Pub/Sub 到 Datadog 範本

您的第三方應該會立即開始接收記錄項目。

如要瞭解使用 Pub/Sub 的常見記錄檔路由情境,請參閱「從 Cloud Logging 匯出資料的情境:Splunk」。

疑難排解

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

定價

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

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

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