本文說明如何為記錄儲存空間建立連結的資料集,以及如何查詢及查看該資料集中的記錄。舉例來說,您可以建立連結的資料集,以便使用預留的 BigQuery 預留量,對記錄檔分析執行查詢。同樣地,您可能需要連結資料集,才能在 BigQuery 或 Looker Studio 中撰寫查詢,將記錄檔資料與其他業務資料彙整在一起。
您無法為數據分析檢視區塊建立連結的 BigQuery 資料集。
如果您不熟悉記錄檔分析,請參閱記錄檔分析總覽。
需要連結資料集時
使用預設的 Cloud Logging 服務時,您不需要連結 BigQuery 資料集,即可在「Log Analytics」頁面中對記錄檢視區塊發出查詢。您可以儲存及共用查詢,也可以將結果儲存至自訂資訊主頁。
如要執行下列任何操作,您必須連結 BigQuery 資料集:
- 將記錄檔項目資料與其他 BigQuery 資料集彙整。
- 從其他服務 (例如 BigQuery Studio 頁面或 Looker Studio) 查詢記錄資料。
- 在 BigQuery 保留的時段中執行查詢,提升從記錄檔分析執行的查詢效能。
- 建立快訊政策,監控 SQL 查詢結果。詳情請參閱「使用快訊政策監控 SQL 查詢結果」。
記錄檔 bucket 的連結 BigQuery 資料集可讓 BigQuery 讀取記錄檔 bucket 中的資料。
如果您在預留的 BigQuery 運算單元上執行查詢,則查詢會適用容量運算價格。此外,如果您使用 Log Analytics 以外的服務查詢資料,則查詢作業可能會產生其他費用,具體視該服務而定。請參閱您使用的服務的定價頁面。
記錄檔儲存空間和記錄檢視區塊如何對應至 BigQuery 物件
為記錄檔 bucket 建立已連結的 BigQuery 資料集時,BigQuery 會提供新的資料集。您可以在連結過程中指定連結資料集的名稱。記錄 bucket 中的所有記錄檢視畫面,都會自動對應至資料集中的虛擬檢視畫面。虛擬檢視區塊的名稱與對應的記錄檢視區塊相同。
舉例來說,假設專案 my_project
有一個名為 example
的記錄值區,而這個記錄值區有名為 _AllLogs
的記錄檢視區塊。如果為該記錄檔 bucket 建立名為 my_dataset
的連結資料集,BigQuery 的「Explorer」(探索) 頁面會顯示 my_project
項目。「my_project
」項目的子項是名為「my_dataset
」的資料集,而該資料集會列出名為「_AllLogs
」的虛擬檢視區塊。
使用連結資料集時的存取權控管影響
主體查詢連結的 BigQuery 資料集中的檢視區塊時,查詢會透過 BigQuery 權限層執行,而非 Cloud Logging 權限層。因此,主體在連結資料集上獲得的 BigQuery 角色和權限,會決定主體是否能查詢資料集。
您無法將主體限制為連結資料集中的特定虛擬檢視畫面。如果主體已獲准存取連結的資料集,就能查詢該資料集中的每個檢視區塊。
事前準備
本節說明使用記錄分析前必須完成的步驟。
設定記錄檔 bucket
確認記錄檔 bucket 已升級為使用 Log Analytics:
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
- 針對要查詢的記錄檢視區塊所屬的每個記錄檔值區,請確認「可用的記錄分析」欄顯示「開啟」。如果顯示「升級」,請按一下「升級」並完成對話方塊。
設定 IAM 角色和權限
本節說明使用記錄檔分析功能所需的 IAM 角色或權限:
-
如要取得使用記錄檔分析和查詢記錄檔檢視畫面所需的權限,請要求管理員將專案的下列 IAM 角色授予您:
-
如要查詢
_Required
和_Default
記錄檔值區: 記錄檢視器 (roles/logging.viewer
) -
如要查詢專案中的所有記錄檢視畫面:
記錄檢視畫面存取者 (
roles/logging.viewAccessor
)
如要將主體限制為特定記錄檢視畫面,請在專案層級授予記錄檢視畫面存取者角色時新增 IAM 條件,或是在記錄檢視畫面的政策檔案中新增 IAM 繫結。詳情請參閱控管記錄檢視畫面存取權。
您必須具備這些權限,才能在「記錄檔探索器」頁面查看記錄項目。如要瞭解查詢使用者定義值區中的檢視畫面,或查詢
_Default
記錄檔值區的_AllLogs
檢視畫面時,需要哪些其他角色,請參閱「Cloud Logging 角色」。 -
如要查詢
-
如要取得建立及查詢連結資料集所需的權限,請要求管理員在儲存記錄水桶的專案中,授予您下列 IAM 角色:
-
如要建立及查看連結的資料集,請按照下列步驟操作:
「記錄檔設定寫入者」 (
roles/logging.configWriter
) -
如要使用預留的 BigQuery 運算資源,對連結的資料集執行查詢:
-
BigQuery 使用者 (
roles/bigquery.user
) -
BigQuery 工作使用者 (
roles/bigquery.jobUser
)
-
BigQuery 使用者 (
-
如要在 BigQuery Studio 中查看已連結的資料集,請授予這個步驟和下列角色中提及的所有角色。您可以將這個角色授予資料集或專案:
BigQuery 資料檢視者 (
roles/bigquery.dataViewer
)
-
如要建立及查看連結的資料集,請按照下列步驟操作:
「記錄檔設定寫入者」 (
確認 BigQuery 版本
如要使用保留的 BigQuery 預留位置,從「記錄分析」頁面查詢記錄資料,且您使用的專案具有 Virtual Private Cloud (VPC) Service Controls,請務必使用 BigQuery Enterprise 版。詳情請參閱瞭解 BigQuery 版本。
建立連結的 BigQuery 資料集
如要使用 BigQuery 的功能分析記錄檔資料,請升級記錄檔 bucket 以使用記錄檔分析,然後建立連結的資料集。完成這項設定後,Logging 會儲存記錄資料,但 BigQuery 可以讀取記錄資料。
Google Cloud 控制台
如要為現有記錄檔 bucket 建立 BigQuery 資料集連結,請按照下列步驟操作:
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
找出記錄檔儲存空間,並確認「可用的記錄檔分析」欄顯示「開啟」。
如果這個資料欄顯示「升級」,表示記錄檔 bucket 尚未升級,無法使用記錄檔分析。設定 Log Analytics:
- 按一下「升級」。
- 在對話方塊中按一下「確認」。
升級完成後,請繼續執行下一個步驟。
在記錄值區中,按一下「更多」圖示 more_vert,然後按一下「編輯值區」。
「編輯記錄水桶」對話方塊隨即開啟。
選取「建立連至這個 bucket 的新 BigQuery 資料集」,然後輸入新資料集的名稱。
每個 Google Cloud 專案的資料集名稱不得重複。如果輸入現有資料集的名稱,系統會顯示下列錯誤:
Dataset name must be unique in the selected region.
依序按一下「完成」和「更新 bucket」。
Logging 在「記錄儲存空間」頁面上顯示連結的資料集名稱後,BigQuery 可能需要幾分鐘才能辨識該資料集。
gcloud
如要為已升級的記錄檔 bucket 建立連結的資料集,請執行 gcloud logging links create
指令:
gcloud logging links create LINK_ID --bucket=BUCKET_ID --location=LOCATION
您提供的 LINK_ID 會做為 BigQuery 資料集的名稱,且這個欄位的值在 Google Cloud 專案中不得重複。
links create
指令為非同步性質。非同步方法會傳回 Operation
物件,其中包含方法進度資訊。方法完成後,Operation
物件會包含狀態。詳情請參閱「非同步 API 方法」。
links create
指令需要幾分鐘才能完成。
舉例來說,下列指令會為名為 my-bucket
的記錄值區建立名為 mylink
的連結資料集:
gcloud logging links create mylink --bucket=my-bucket --location=global
每個 Google Cloud 專案的資料集名稱不得重複。如果您嘗試建立與現有資料集同名的資料集,就會收到下列錯誤訊息:
BigQuery dataset with name "LINK_ID" already exists.
如果您嘗試為未升級以使用記錄檔分析工具的記錄檔 bucket 建立連結的資料集,系統會回報下列錯誤:
A link can only be created for an analytics-enabled bucket.
REST
如要為已升級的現有記錄檔 bucket 建立連結的 BigQuery 資料集,請使用 Log Analytics,並呼叫 Cloud Logging API 的非同步 projects.locations.buckets.links.create
方法。
如下準備方法的引數:
- 建構
create
指令的要求內容。要求主體的格式為Link
物件。 - 如要查詢指令的參數,請使用
linkId=LINK_ID
。您提供的 LINK_ID 會做為 BigQuery 資料集的名稱,且這個欄位的值在您的 Google Cloud 專案中不得重複。
非同步方法的回應是 Operation
物件。這個物件包含方法進度的相關資訊。方法完成後,Operation
物件會包含狀態。詳情請參閱「非同步 API 方法」。
links.create
方法需要幾分鐘才會完成。
每個 Google Cloud 專案的資料集名稱不得重複。如果您嘗試建立與現有資料集同名的資料集,就會收到下列錯誤訊息:
BigQuery dataset with name "LINK_ID" already exists.
如果您嘗試為未升級以使用記錄檔分析工具的記錄檔 bucket 建立連結的資料集,系統會回報下列錯誤:
A link can only be created for an analytics-enabled bucket.
從 BigQuery 執行查詢
如果記錄檔儲存區使用記錄檔分析和連結的資料集,您可以使用 BigQuery Studio 頁面查看及查詢連結的資料集。完成這項設定後,您就能使用僅在 BigQuery Studio 中提供的指令、工作流程和資料集,分析資料集。
如要從記錄分析開啟 BigQuery,然後查詢連結的資料集,請按照下列步驟操作:
確認日誌檢視區所在的日誌 bucket 已連結資料集,您才能查詢:
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
找出記錄檔 bucket,並確認「BigQuery 連結的資料集」欄顯示網址。如果項目空白,您必須建立連結的資料集。如需這些步驟的相關資訊,請參閱「建立連結的 BigQuery 資料集」一文。
-
-
在 Google Cloud 控制台中,前往「Log Analytics」(記錄檔分析) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
在「記錄檢視畫面」清單中,找出並選取記錄檢視畫面。
在「結構定義」窗格中,選取「查詢」。
「Query」(查詢) 窗格會填入預設查詢。您也可以在「Query」(查詢) 窗格中輸入查詢,或編輯顯示的查詢。
在工具列中,展開標示為「執行查詢」或「在 BigQuery 中執行」的按鈕,然後選取「在 BigQuery 中開啟」。
「BigQuery Studio」頁面隨即開啟。查詢的
FROM
陳述式會經過修改,以使用 BigQuery 資料表路徑語法,指定連結資料集中的記錄檢視路徑。你也可以編輯顯示的查詢。
在「BigQuery Studio」頁面上,按一下「執行查詢」。
在預留的 BigQuery 預留位置上執行記錄檔分析查詢
如要盡量縮短 Log Analytics 查詢的執行時間,請在預留的 BigQuery 配額上執行查詢。「Log Analytics」頁面預先設定為使用預設的 Log Analytics 服務,因此您的查詢必須與其他查詢競爭有限的時段空間。如果沒有可用的運算單元,查詢執行作業就會延遲。如要避免這些延遲,請在預留的 BigQuery 運算單元上執行查詢。
如要對記錄檢視畫面發出 SQL 查詢,請按照下列步驟操作:
確認日誌檢視區所在的日誌 bucket 已連結資料集,您才能查詢:
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
找出記錄檔 bucket,並確認「BigQuery 連結的資料集」欄顯示網址。如果項目空白,您必須建立連結的資料集。如需這些步驟的相關資訊,請參閱「建立連結的 BigQuery 資料集」一文。
-
確認您已設定預留的 BigQuery 運算單元:
設定記錄檔分析,在預留的 BigQuery 運算單元上執行查詢:
-
在 Google Cloud 控制台中,前往「Log Analytics」(記錄檔分析) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
在「記錄檔檢視畫面」清單中找到檢視畫面,然後選取「查詢」或輸入查詢。
如果查詢窗格顯示的錯誤訊息參照
FROM
陳述式,則系統無法將資料表解析為特定記錄檢視畫面。如要瞭解如何解決這項失敗問題,請參閱「錯誤FROM clause must contain exactly one log view
」。前往工具列,確認畫面顯示標示為「在 BigQuery 執行」的按鈕。
如果工具列顯示「執行查詢」,請按一下「設定」圖示 settings,然後選取「BigQuery」。
如果「在 BigQuery 上執行」按鈕已停用,您需要建立連結的資料集。
執行查詢。
您可以使用工具列選項來格式化查詢、清除查詢,以及開啟 BigQuery SQL 參考說明文件。
-