如果您使用接收器將追蹤資料匯出至 BigQuery,則適用本文。不建議再使用接收器匯出追蹤資料。建議改用 Observability Analytics,該服務支援與 BigQuery 相同的 SQL 查詢語言。本文說明如何從以接收器為基礎的解決方案,遷移至使用可觀測性分析的解決方案。本文也說明如何使用 BigQuery 服務查詢追蹤資料。
BigQuery 提供複製資料表或匯出資料的服務。建立連結的 BigQuery 資料集後,您可以使用這些服務複製及匯出追蹤資料。這是選用步驟,詳情請參閱本文。詳情請參閱「管理資料表」和「資料匯出簡介」。
如要開始使用 Observability Analytics,請參閱「查詢及分析追蹤記錄」。
事前準備
- 登入 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 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.-
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.-
如要取得載入「可觀測性分析」頁面、執行查詢及建立連結的 BigQuery 資料集所需的權限,請要求管理員授予您專案的下列 IAM 角色:
- Cloud Trace 管理員 (
roles/cloudtrace.admin) - 可觀測性編輯者 (
roles/observability.editor) - BigQuery 使用者 (
roles/bigquery.user)
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。
- Cloud Trace 管理員 (
-
在 Google Cloud 控制台中啟用 Cloud Shell。
控制台底部會開啟 Cloud Shell 工作階段,並顯示指令列提示。 Google Cloud Cloud Shell 是已安裝 Google Cloud CLI 的殼層環境,並已針對您目前的專案設定好相關值。工作階段可能要幾秒鐘的時間才能初始化。
遷移至 Observability Analytics
完成本文件「事前準備」一節中列出的動作。包括啟用 Observability API。
使用 Observability Analytics 驗證您是否可以存取追蹤記錄資料:
-
在 Google Cloud 控制台中,前往 manage_search「Observability Analytics」(觀測能力分析) 頁面:
前往「Observability Analytics」(觀測能力分析) 頁面
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果。
在「Views」(檢視畫面) 選單中,前往「Traces」(追蹤)
專區,然後選取 _Trace.Spans._AllSpans。「結構定義」窗格會更新並顯示結構定義。
如果沒有名為
_Trace.Spans._AllSpans的檢視區塊,表示Google Cloud 專案不含名為_Trace的可觀測性值區。如要瞭解如何解決這個問題,請參閱「追蹤儲存空間初始化失敗」。在「結構定義」窗格中,選取「查詢」。
查詢編輯器欄位隨即更新。
FROM子句會列出類似下列的項目:`PROJECT_ID.us._Trace.Spans._AllSpans`在工具列中選取「執行查詢」。
如果工具列顯示「在 BigQuery 中執行」,請按一下 settings「設定」,然後選取「Analytics (預設)」。
您已使用「Observability Analytics」頁面,確認可以查詢追蹤記錄資料。
-
選用:如要將追蹤資料與 BigQuery 提供的其他業務資料合併,請建立連結的 BigQuery 資料集。詳情請參閱查詢連結的 BigQuery 資料集。
刪除追蹤接收器和不必要的資料集:
如要列出現有的追蹤記錄接收器,請執行
gcloud alpha trace sinks list指令:gcloud alpha trace sinks list針對每個接收器執行
gcloud alpha trace sinks delete指令:gcloud alpha trace sinks delete SINK_NAME選用:刪除任何不必要的 BigQuery 資料集。 如要瞭解如何刪除 BigQuery 資料集,請參閱「刪除資料集」。
結構定義比較
本節說明可觀測性分析與以接收器為準的匯出結構定義之間的差異。
| 名稱 | 數據分析 | 舊版 |
|---|---|---|
| 追蹤記錄 ID | trace_id |
extendedFields.traceId |
| 時距 ID | span_id |
span.spanId |
| 父項時距 ID | parent_span_id |
span.parentSpanId |
| 時距名稱 | name |
span.displayName.value |
| 時距種類 | kind如需值,請參閱 OpenTelemetry: SpanKind。
|
span.spanKind如需值,請參閱 Cloud Trace API 參考資料 SpanKind 頁面。 |
| 時距開始時間 | start_time |
span.startTime |
| 時距結束時間 | end_time |
span.endTime |
| 屬性 | 跨度、資源和檢測屬性各有獨特格式。這些欄位具有 BigQuery JSON 資料類型。範例:
|
所有屬性都使用相同格式:
範例:
|