本文說明如何找出從 Cloud Logging 轉送至 Pub/Sub 主題的記錄項目,這項作業幾乎是即時進行。 建議使用 Pub/Sub 將 Cloud Logging 記錄檔與第三方軟體整合。
將記錄項目轉送至 Pub/Sub 主題時,Logging 收到記錄項目後,會立即將每個項目發布為 Pub/Sub 訊息。一般來說,記錄項目抵達 Cloud Logging 後幾秒內就會完成路由作業,99% 的記錄項目會在 60 秒內完成路由作業。
事前準備
如要瞭解接收器的概念,請參閱「轉送和儲存空間模型總覽:接收器」。
如需轉送記錄項目的操作說明,請參閱「將記錄轉送至支援的目的地」。
查看記錄
如要透過 Pub/Sub 串流查看記錄,請按照下列步驟操作:
-
前往 Google Cloud 控制台的「Topics」(主題) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Pub/Sub」的結果。
針對記錄接收器中使用的主題尋找或建立訂閱項目,然後從中提取記錄項目。您可能必須等待新記錄項目發佈完成。
記錄檔整理
每則訊息的 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 整合項目。
如要執行整合,預期會執行如下操作:
在記錄檔項目來源專案中,建立含有預設訂閱項目的 Pub/Sub 主題:
啟用 Pub/Sub API。
-
前往 Google Cloud 控制台的「Topics」(主題) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Pub/Sub」的結果。
按一下「建立主題」。
在「主題 ID」欄位中,輸入主題的 ID。例如:
projects/my-project-id/topics/my-pubsub-topic
。傳送至主題的每則訊息都會在 Pub/Sub 訊息
attributes
中,包含已轉送記錄項目的時間戳記,例如:"attributes": { "logging.googleapis.com/timestamp": "2024-07-01T00:00:00Z" }
保留「新增預設訂閱項目」選項。請勿選取任何其他選項。
按一下「建立主題」。
在記錄項目來源專案中,設定 Logging 將記錄項目轉送至主題:
-
前往 Google Cloud 控制台的「記錄檔路由器」頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
- 按一下「建立接收器」, 輸入接收器的名稱和說明,然後按一下「下一步」。
- 在「接收器服務」選單中,選取「Cloud Pub/Sub 主題」,然後選取 Pub/Sub 主題,並按一下「下一步」。
- 選取要納入接收器的記錄檔項目,然後按一下「下一步」。
- 選用:選取要排除的記錄項目。
按一下「建立接收器」。
畫面上會顯示「已建立接收器」訊息的對話方塊。這表示已成功建立接收器,且接收器有權將日後相符的記錄檔項目傳送至您選取的目標位置。
將「Pub/Sub 發布者 (
roles/pubsub.publisher
)」角色授予接收器的寫入者身分。如要進一步瞭解如何取得寫入者身分並授予角色,請參閱「設定目的地權限」。
Cloud Logging 現在會將記錄項目傳送至 Pub/Sub 主題。
-
建立訂閱項目。
舉例來說,如果您使用 Dataflow 從 Pub/Sub 主題提取資料,並傳送至 Datadog,則需要執行下列兩個步驟:
建立或取得服務帳戶,然後授予訂閱主題所需的 IAM 角色。服務帳戶至少需要下列角色:
- Pub/Sub 訂閱者 (
roles/pubsub.subscriber
) - Dataflow 管理員 (
roles/dataflow.admin
) - Dataflow 工作者 (
roles/dataflow.worker
)
如需詳細資訊,請參閱下列文件:
- Pub/Sub 訂閱者 (
透過範本建立工作,然後執行該工作。 在本範例中,您會使用 Pub/Sub 到 Datadog 範本。
您的第三方應該會立即開始接收記錄項目。
如要瞭解使用 Pub/Sub 的常見記錄檔路由情境,請參閱「從 Cloud Logging 匯出資料的情境:Splunk」。
疑難排解
如果記錄檔項目似乎未顯示在接收器的目的地,或您懷疑接收器未正確傳送記錄檔項目,請參閱「排解記錄檔傳送問題」。
定價
Cloud Logging 不會收取將記錄檔轉送至支援目的地的費用,但目的地可能會收取費用。除了 _Required
記錄檔值區,Cloud Logging 會針對將記錄檔串流至記錄檔值區,以及儲存時間超過記錄檔值區預設保留期限的記錄檔收費。
Cloud Logging 不會收取複製記錄、建立記錄範圍或分析檢視區塊的費用,也不會收取透過 Logs Explorer 或記錄檔分析頁面發出查詢的費用。
如需詳細資訊,請參閱下列文件:
- Cloud Logging 定價摘要
目的地費用:
- 如果您將虛擬私人雲端流程記錄傳送至 Cloud Logging 後又將其排除,系統就會向您收取虛擬私人雲端流程記錄產生費用。