本文件說明如何為記錄集區建立連結資料集,以及如何查詢及查看該資料集中的記錄。舉例來說,您可以建立已連結的資料集,以便使用 保留的 BigQuery 時段,在 Log Analytics 中執行查詢。同樣地,您可能需要建立已連結的資料集,以便在 BigQuery 或 Looker Studio 中撰寫查詢,將記錄檔資料與其他業務資料彙整在一起。
您無法為數據分析檢視畫面建立連結的 BigQuery 資料集。
如果您不熟悉 Log Analytics,請參閱「Log Analytics 總覽」一文。
需要連結資料集的情況
使用預設的 Cloud Logging 服務時,您不需要連結 BigQuery 資料集,即可在 Log Analytics 頁面上對記錄檔檢視畫面發出查詢。您可以儲存及分享查詢,並將結果儲存至自訂資訊主頁。
如要執行下列任何操作,都需要連結 BigQuery 資料集:
- 彙整記錄項目資料與其他 BigQuery 資料集。
- 查詢其他服務的記錄資料,例如 BigQuery Studio 頁面或 Looker Studio。
- 在 BigQuery 預留的空格上執行查詢,改善從 記錄檔分析執行的查詢效能。
- 建立警告政策,監控 SQL 查詢的結果。詳情請參閱「透過快訊政策監控 SQL 查詢結果」。
記錄檔值區的連結 BigQuery 資料集可讓 BigQuery 讀取記錄檔值區中的資料。
如果您在預留的 BigQuery 運算單元上執行查詢,則查詢會依運算容量定價收費。此外,如果您使用 Log Analytics 以外的服務查詢資料,查詢可能會產生其他費用。請參閱您使用的服務的定價頁面。
記錄區塊和記錄檢視畫面如何對應至 BigQuery 物件
為記錄檔值區建立已連結的 BigQuery 資料集後,BigQuery 就會提供新資料集。您可以在連結過程中指定連結資料集的名稱。記錄檔集區中的任何記錄檢視都會自動對應至資料集中的虛擬檢視。虛擬檢視畫面的名稱與對應的記錄檢視畫面相同。
舉例來說,假設專案 my_project
有一個名為 example
的記錄值區,而這個記錄值區有一個名為 _AllLogs
的記錄檢視畫面。如果您為該記錄檔 bucket 建立名為 my_dataset
的連結資料集,BigQuery 的 Explorer 頁面會顯示 my_project
項目。my_project
項目的子項是名稱為 my_dataset
的資料集,該資料集會列出名稱為 _AllLogs
的虛擬檢視畫面。
使用連結資料集時的存取權控制影響
當使用者查詢已連結 BigQuery 資料集的檢視畫面時,該查詢會透過 BigQuery 權限層執行,而非 Cloud Logging 權限層。因此,系統會根據在連結資料集上授予實體的 BigQuery 角色和權限,決定實體是否可以查詢資料集。
您無法將實體限制在已連結資料集內的特定虛擬檢視畫面。授予實體連結資料集的存取權後,該實體就能查詢該資料集中的每個檢視表。
事前準備
本節說明您必須完成的步驟,才能使用 Log Analytics。
設定記錄檔 bucket
確認記錄檔值區已升級,可使用 Log Analytics:
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
- 針對每個含有您要查詢的記錄檢視畫面的記錄值區,請確認「可用 Log Analytics」欄顯示「開啟」。如果畫面顯示「Upgrade」,請按一下「Upgrade」,然後完成對話方塊。
設定 IAM 角色和權限
本節說明使用 Log Analytics 所需的 IAM 角色或權限:
-
如要取得使用 Log Analytics 和查詢記錄檔檢視畫面所需的權限,請要求管理員為您授予專案的下列 IAM 角色:
-
如要查詢
_Required
和_Default
記錄檔值區: 記錄檢視器 (roles/logging.viewer
) -
如要查詢專案中的所有記錄檢視畫面:
記錄檢視畫面存取服務 (
roles/logging.viewAccessor
)
您可以將特定記錄檢視畫面限制給特定實體,方法是將 IAM 條件新增至專案層級的記錄檢視畫面存取者角色授權,或是將 IAM 繫結新增至記錄檢視畫面的政策檔案。詳情請參閱「控管記錄檢視畫面的存取權」。
這些權限與您在「Logs Explorer」頁面上查看記錄項目時所需的權限相同。如要瞭解需要其他角色才能查詢使用者定義值區的檢視畫面,或查詢
_Default
記錄值區的_AllLogs
檢視畫面,請參閱「Cloud Logging 角色」。 -
如要查詢
-
如要取得建立及查詢已連結資料集所需的權限,請要求管理員在儲存記錄資料夾的專案中,授予您下列 IAM 角色:
-
如要建立及查看已連結的資料集,請按照下列步驟操作:
Logs Configuration Writer (
roles/logging.configWriter
) -
如要使用預留的 BigQuery 時段,針對連結的資料集執行查詢,請按照下列步驟操作:
-
BigQuery 使用者 (
roles/bigquery.user
) -
BigQuery 工作使用者 (
roles/bigquery.jobUser
)
-
BigQuery 使用者 (
-
如要在 BigQuery Studio 中查看已連結的資料集,請授予本步驟中提及的所有角色,以及下列角色。您可以將這個角色授予資料集或專案:
BigQuery 資料檢視者 (
roles/bigquery.dataViewer
)
-
如要建立及查看已連結的資料集,請按照下列步驟操作:
Logs Configuration Writer (
確認 BigQuery 版本
如果您想使用預留的 BigQuery 時段,透過 Log Analytics 頁面查詢記錄資料,且您使用的是含有虛擬私有雲 (VPC) 服務控管功能的專案,請務必使用 BigQuery 企業版。詳情請參閱「瞭解 BigQuery 版本」。
建立 BigQuery 連結資料集
如要使用 BigQuery 的功能分析記錄資料,請升級記錄檔 bucket 以使用 Log Analytics,然後建立連結資料集。在這種設定下,Logging 會儲存記錄資料,但 BigQuery 可以讀取記錄資料。
Google Cloud 控制台
如要為現有記錄檔值區建立 BigQuery 資料集連結,請按照下列步驟操作:
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
找出記錄資料集,並確認「可用 Log Analytics」欄顯示「Open」。
如果這個欄位顯示「Upgrade」,表示記錄檔值區尚未升級,無法使用 Log Analytics。設定 Log Analytics:
- 按一下「升級」。
- 在對話方塊中按一下「確認」。
升級完成後,請繼續執行下一個步驟。
在記錄值區中,按一下「更多」more_vert,然後點選「編輯值區」。
「Edit log bucket」對話方塊隨即開啟。
選取「建立連至這個值區的新 BigQuery 資料集」,然後輸入新資料集的名稱。
每個 Google Cloud 專案的資料集名稱皆不得重複。如果您輸入現有資料集的名稱,系統會傳回下列錯誤:
Dataset name must be unique in the selected region.
依序按一下「完成」和「更新 bucket」。
記錄在「Logs Storage」頁面上顯示已連結的資料集名稱後,可能需要幾分鐘,BigQuery 才會辨識該資料集。
gcloud
如要為已升級為使用 Log Analytics 的記錄檔值區建立連結資料集,請執行 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 執行查詢
如果您有使用 Log Analytics 和已連結資料集的記錄檔集區,可以使用 BigQuery Studio 頁面查看及查詢已連結的資料集。有了這項設定,您就能使用 BigQuery Studio 專屬的指令、工作流程和資料集來分析資料集。
如要從 Log Analytics 開啟 BigQuery,然後查詢已連結的資料集,請按照下列步驟操作:
請確認日誌值區 (其中包含要查詢的日誌檢視畫面) 已連結資料集:
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
找出記錄檔值區,並確認「BigQuery 連結資料集」欄位顯示網址。如果項目為空白,則必須建立連結資料集。如要瞭解這些步驟,請參閱「建立連結的 BigQuery 資料集」
-
-
在 Google Cloud 控制台中,前往「Log Analytics」(記錄檔分析) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
在「Log views」清單中,找出並選取記錄檢視畫面。
在「Schema」窗格中,選取「Query」。
「Query」窗格會填入預設查詢。您也可以在「Query」窗格中輸入查詢,或編輯顯示的查詢。
在工具列中展開「Run query」或「Run on BigQuery」按鈕,然後選取「Open in BigQuery」。
「BigQuery Studio」頁面隨即開啟。修改查詢的
FROM
陳述式,使用 BigQuery 資料表路徑語法指定連結資料集中記錄檢視畫面的路徑。您也可以編輯顯示的查詢。
在「BigQuery Studio」頁面上,按一下「執行查詢」。
在預留的 BigQuery 時段中執行記錄檔分析查詢
如要盡量縮短 Log Analytics 查詢的執行時間,請在預留的 BigQuery 時段中執行查詢。「Log Analytics」頁面預先設定為使用預設的 Log Analytics 服務,這表示您的查詢必須與其他查詢競爭有限的空格空間。如果沒有可用的運算單元,查詢執行作業會延遲。您可以在預留的 BigQuery 運算單元上執行查詢,即可消除這些延遲。
如要對記錄檢視表發出 SQL 查詢,請執行下列操作:
請確認日誌值區 (其中包含要查詢的日誌檢視畫面) 已連結資料集:
-
在 Google Cloud 控制台中,前往「Logs Storage」(記錄檔儲存空間) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
找出記錄檔值區,並確認「BigQuery 連結資料集」欄位顯示網址。如果項目為空白,則必須建立連結資料集。如要瞭解這些步驟,請參閱「建立連結的 BigQuery 資料集」
-
請確認您已設定保留的 BigQuery 運算單元:
設定 記錄檔分析,以便在預留的 BigQuery 運算單元上執行查詢:
-
在 Google Cloud 控制台中,前往「Log Analytics」(記錄檔分析) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
在「記錄檔檢視表」清單中找出所需檢視表,然後選取「查詢」或輸入查詢。
如果查詢窗格顯示參照
FROM
陳述式的錯誤訊息,則無法將資料表解析為特定記錄檢視畫面。如要瞭解如何解決這項失敗問題,請參閱「錯誤FROM clause must contain exactly one log view
」。前往工具列,確認畫面上顯示「Run on BigQuery」按鈕。
如果工具列顯示「Run Query」,請按一下 settings「Settings」,然後選取「BigQuery」。
如果「在 BigQuery 中執行」按鈕已停用,您就需要建立已連結的資料集。
執行查詢。
您可以使用工具列選項設定查詢格式、清除查詢,以及開啟 BigQuery SQL 參考文件。
-