本文說明如何在可觀測性資料集上建立連結的 BigQuery 資料集。接著,您可以使用 BigQuery Studio 和 BigQuery API 等 BigQuery 服務,查詢連結的資料集。
如要開始使用 Observability Analytics,請參閱「查詢及分析追蹤記錄」。
需要連結的資料集時
如要查詢追蹤資料,或查詢追蹤和記錄資料,您不需要連結 BigQuery 資料集。在這些情況下,您可以使用「可觀測性分析」頁面。如要瞭解如何查詢記錄資料,請參閱「使用 Observability Analytics 查詢及分析記錄」。
如要執行下列任一操作,您必須連結 BigQuery 資料集:
- 將追蹤資料與其他 BigQuery 資料集連結。
- 從其他服務 (例如 BigQuery Studio 或數據分析) 查詢追蹤資料。
- 在 BigQuery 引擎上,從「可觀測性分析」頁面執行查詢。
- 使用警告政策監控 SQL 查詢結果。
建立連結的 BigQuery 資料集
本節說明如何建立連結的 BigQuery 資料集,讓 BigQuery 服務查詢追蹤資料。您可以在可觀測性資料集上建立一個連結的 BigQuery 資料集。
建立連結的資料集時,系統會啟動長時間執行的作業。 這項作業會執行下列動作:
- 稽核記錄會記錄建立連結的要求和作業完成情況。
如果監控服務帳戶不存在,Google Cloud Observability 會建立該帳戶。
必須先啟用 Cloud Monitoring API,才能建立這個服務帳戶。
Google Cloud Observability 必須先有服務帳戶,才能建立連結的資料集。 系統會在必要時建立服務帳戶:
Cloud Observability 服務帳戶: 這是連結可觀測性資料集時的必要條件。
Cloud Logging 服務帳戶: 連結記錄檔 bucket 時必須提供。
事前準備
- 登入 Google Cloud 帳戶。如果您是 Google Cloud新手,歡迎 建立帳戶,親自評估產品在實際工作環境中的成效。新客戶還能獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Monitoring and Observability APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Monitoring and Observability APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
如要取得在可觀測性資料集上建立連結所需的權限,請要求管理員授予您專案的「可觀測性編輯者」 (
roles/observability.editor) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
建立資料集
gcloud
使用下方的任何指令資料之前,請先替換以下項目:
- LINK_ID:BigQuery 資料集的名稱。
- DATASET_ID:資料集 ID。您的追蹤資料會儲存在名為
Spans的資料集中。 - BUCKET_ID:可觀測性 Bucket 的 ID。舉例來說,這個 ID 可能是
_Trace。 - LOCATION:可觀測性 bucket 的位置。
- PROJECT_ID:專案的 ID。
執行
gcloud beta observability buckets datasets links create
指令:
Linux、macOS 或 Cloud Shell
gcloud beta observability buckets datasets links create \ projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID/links/LINK_ID \ --dataset=DATASET_ID\ --bucket=BUCKET_ID \ --location=LOCATION \ --project=PROJECT_ID
Windows (PowerShell)
gcloud beta observability buckets datasets links create ` projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID/links/LINK_ID ` --dataset=DATASET_ID` --bucket=BUCKET_ID ` --location=LOCATION ` --project=PROJECT_ID
Windows (cmd.exe)
gcloud beta observability buckets datasets links create ^ projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID/links/LINK_ID ^ --dataset=DATASET_ID^ --bucket=BUCKET_ID ^ --location=LOCATION ^ --project=PROJECT_ID
create 指令會啟動長時間執行的作業。以下是指令成功時的回應範例:
Create request issued for: [mydataset] Waiting for operation [projects/my-project/locations/us/operations/operation-1775164903749-64e80c9817833-9ff804b6-c3e9cbe7] to complete...done. Created link [mydataset].
REST
如要建立 BigQuery 資料集的連結,請將要求傳送至 projects.locations.buckets.datasets.links.create 端點。
您必須指定父項參數,格式如下:
projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID
上述運算式中的欄位具有下列意義:
- PROJECT_ID:專案的 ID。
- LOCATION:可觀測性 bucket 的位置。
- BUCKET_ID:可觀測性 Bucket 的 ID。舉例來說,這個 ID 可能是
_Trace。 - DATASET_ID:要查詢的資料集 ID。舉例來說,這個 ID 可能是
Spans。
這項指令需要查詢參數和要求主體:
您必須指定查詢參數
linkId,並將其設為 BigQuery 資料集的名稱。例如,linkId="my_link"。BigQuery 資料集名稱在 Google Cloud 專案中必須是唯一的,且長度不得超過 100 個半形字元,只能包含英文字母、數字和底線。要求主體是
Link物件。name欄位的值採用以下格式:projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/dataset/DATASET_ID/links/LINK_ID您為
name欄位提供的值,必須與查詢參數參照的連結 BigQuery 資料集相符。LINK_ID 欄位是 BigQuery 資料集的名稱。
回應為 Operation 物件。
這個物件包含方法進度的相關資訊。方法完成後,Operation 物件會包含狀態資料。
如需 Observability API 端點的完整清單,請參閱 Observability API 參考說明文件。
如果在建立連結資料集時發生權限錯誤,請參閱「排解權限錯誤」。