您可以在專案收到追蹤資料前,手動建立 _Trace 可觀測性 bucket,自訂儲存位置和客戶管理的加密金鑰 (CMEK) 設定。如果 Google Cloud 專案
在值區存在前就擷取追蹤資料,Google Cloud Observability 會自動使用專案的可觀測性值區預設設定佈建值區。
如要瞭解 Google Cloud Observability 如何儲存資料,請參閱「儲存空間總覽」。
與機構政策互動
建立可觀測性 bucket 的要求會驗證指令參數是否符合機構政策。舉例來說,如果機構政策限制資源位置,則指定受限位置時,建立 bucket 的作業會失敗。
與可觀測性值區的預設設定互動
如果 Google Cloud Observability 因擷取資料而自動建立可觀測性 bucket,系統會使用適用於 bucket 父項資源的可觀測性 bucket 預設設定。這些預設設定可能是在父項或父項的階層式祖系中定義,並指定下列項目:
- 儲存位置。
- 用於儲存資料的 Cloud KMS 金鑰。
建立可觀測性值區時,必須指定位置。 除非您在建立要求中明確指定其他金鑰,否則 Google Cloud Observability 會套用預設設定中定義的 Cloud KMS 金鑰。
如果適用的預設設定指定 Cloud KMS 金鑰,您就無法使用 Google 預設加密方式建立值區。如要使用 Google 預設加密,請確認預設設定中未設定任何 Cloud KMS 金鑰。
如要瞭解可觀測性值區的預設設定,請參閱「設定可觀測性值區的預設值」。
限制
相關限制如下:
- 您必須指定支援的收件地點。
- BUCKET_ID 必須為
_Trace。 - 顯示名稱不得超過 100 個編碼位元組。
- 說明不得超過 1000 個編碼位元組。
- 資料會保存 30 天。您必須省略保留期限或設為
30。 - 如果您提供 Cloud KMS 金鑰,金鑰位置必須與可觀測性值區的父項位置完全相符。
- 您只能在 Google Cloud 專案中建立可觀測性值區。
- 一個 Google Cloud 專案最多只能有一個名為
_Trace的可觀測性儲存空間。
事前準備
設定專案和 IAM 角色,然後選取要使用的介面。
設定專案和角色
-
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 Observability API.
Roles required to enable APIs
To enable APIs, you need the
serviceusage.services.enablepermission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.-
如要取得建立可觀測性 bucket 所需的權限,請要求管理員授予您專案的「可觀測性編輯者」 (
roles/observability.editor) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
設定介面
gcloud
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。登入後,執行下列指令來初始化 Google Cloud CLI:
gcloud initREST
如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。
安裝 Google Cloud CLI,然後 使用聯合身分登入 gcloud CLI。
詳情請參閱 Google Cloud 驗證說明文件中的「使用 REST 進行驗證」。
設定 Cloud KMS 金鑰
選用。如要建立觀測資料 bucket 並指定 Cloud KMS 金鑰,請按照下列步驟操作:
-
啟用 Cloud Key Management Service API。
啟用 API 時所需的角色
如要啟用 API,您必須具備
serviceusage.services.enable權限。如果您建立了專案,可能已透過「擁有者」角色 (roles/owner) 取得這項權限。否則,您可以透過「服務使用情形管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色。 -
可觀測性 bucket 的位置必須與金鑰位置相符。
將 PROJECT_ID 替換為專案 ID,然後執行下列指令:
gcloud beta observability settings describe \ --location=global --project=PROJECT_ID上述指令會檢查您是否已設定預設儲存位置。如果 Google Cloud Observability 服務帳戶不存在,系統也會建立該帳戶。該指令會輸出服務帳戶 ID。
將 Cloud KMS CryptoKey Encrypter/Decrypter 角色授予 Google Cloud Observability 服務帳戶。
gcloud kms keys add-iam-policy-binding \ --project=KMS_PROJECT_ID \ --member=serviceAccount:service-PROJECT_NUMBER@gcp-sa-observability. \ --role=roles/cloudkms.cryptoKeyEncrypterDecrypter \ --location=KMS_KEY_LOCATION \ --keyring=KMS_KEY_RING \ KMS_KEY_NAME執行上述指令前,請先進行下列替換:
- KMS_PROJECT_ID:由專案名稱和隨機指派的數字組成的唯一英數字元 ID,用於執行 Cloud KMS 的專案。 Google Cloud Google Cloud 如要瞭解如何取得這個 ID,請參閱「識別專案」。
- service-PROJECT_NUMBER:上一個步驟的回應中列出的 Observability 服務帳戶名稱。
- KMS_KEY_LOCATION:Cloud KMS 金鑰的區域。
- KMS_KEY_RING:Cloud KMS 金鑰環的名稱。
- KMS_KEY_NAME:
Cloud KMS 金鑰的名稱。格式如下:
projects/KMS_PROJECT_ID/locations/LOCATION/keyRings/KMS_KEY_RING/cryptoKeys/KEY。
建立可觀測性 bucket
REST
如要建立可觀測的 bucket,請傳送要求至 projects.locations.buckets.create。
您必須指定父項參數,格式如下:
projects/PROJECT_ID/locations/LOCATION
上述運算式中的欄位具有下列意義:
- PROJECT_ID:專案的 ID。
- LOCATION:可觀測性 bucket 的位置。
要求主體是 Bucket 物件。填寫下列欄位:
name:將這個欄位設為下列值:projects/PROJECT_ID/locations/LOCATION/buckets/_Trace選用:提供
displayName和description欄位的值。選填:提供 CMEK。如果指定了這項金鑰,系統就會使用這項金鑰加密儲存的資料。
如果您未提供 CMEK,則適用於值區父項資源的預設設定會決定加密金鑰。如果預設設定指定了 Cloud KMS 金鑰,該金鑰就會加密儲存的資料。否則會使用 Google 預設加密機制。
回應為 Operation 物件。輪詢 projects.locations.operations.get 方法,直到 Operation.done 欄位設為 true 為止。Operation 結構中的其他欄位會提供要求成功或失敗的相關資訊。
列出可觀測性 bucket
您可以列出可觀測性 bucket,確認建立要求是否順利完成。
gcloud
使用下方的任何指令資料之前,請先替換以下項目:
- LOCATION:可觀測性 bucket 的位置。如要列出所有可觀測性值區,不論位置為何,請將位置設為連字號 (
-)。 - PROJECT_ID:專案的 ID。
執行
gcloud beta observability buckets list
指令:
Linux、macOS 或 Cloud Shell
gcloud beta observability buckets list \ --location=LOCATION --project=PROJECT_ID
Windows (PowerShell)
gcloud beta observability buckets list ` --location=LOCATION --project=PROJECT_ID
Windows (cmd.exe)
gcloud beta observability buckets list ^ --location=LOCATION --project=PROJECT_ID
回應會列出每個可觀測性 bucket 的名稱、說明和建立時間。以下是指令成功時的回應範例:
--- createTime: '2026-01-21T21:39:22.381083860Z' description: Bucket for storing spans from Cloud Trace. name: projects/my-project/locations/us/buckets/_Trace
REST
如要列出專案和特定位置中的可觀測性值區,請將要求傳送至 projects.locations.buckets.list 端點。
您必須指定父項參數,格式如下:
projects/PROJECT_ID/locations/LOCATION
上一個運算式中的欄位具有下列意義:
- PROJECT_ID:專案的 ID。
- LOCATION:可觀測性 bucket 的位置。
如果將 LOCATION 設為連字號
(-),系統會列出專案中的所有可觀測性值區。
回應是 Bucket 物件的陣列。每個物件的 name 欄位值格式如下:
projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID
舉例來說,如果向 buckets.list 端點發出指令,並將父項參數設為 projects/my-project/locations/us,則回應如下:
{
"buckets": [
{
"name": "projects/my-project/locations/us/buckets/_Trace",
"description": "Trace Bucket",
"createTime": "2025-01-01T15:42:30.988919645Z",
"updateTime": "2025-02-04T15:42:30.988919645Z",
"retentionDays": 30
}
]
}
您可以對其他 Observability API 端點發出指令,進一步瞭解 ID 為 BUCKET_ID 的值區。舉例來說,您可以列出該值區中的資料集,以及每個資料集的檢視畫面和連結。如需 Observability API 端點的完整清單,請參閱 Observability API 參考文件。
後續步驟
設定可觀測性 bucket 的預設值:為可觀測性 bucket 設定預設儲存位置和預設客戶自行管理的加密金鑰 (CMEK)。