遷移至 Observability Analytics

如果您使用接收器將追蹤資料匯出至 BigQuery,則適用本文。我們不再建議使用接收器匯出追蹤資料。建議改用 Observability Analytics,該服務支援與 BigQuery 相同的 SQL 查詢語言。本文說明如何從以接收器為基礎的解決方案,遷移至使用可觀測性分析的解決方案。本文也說明如何使用 BigQuery 服務查詢追蹤資料。

如要開始使用 Observability Analytics,請參閱「查詢及分析追蹤記錄」。

事前準備

  1. 登入 Google Cloud 帳戶。如果您是 Google Cloud新手,歡迎 建立帳戶,親自評估產品在實際工作環境中的成效。新客戶還能獲得價值 $300 美元的免費抵免額,可用於執行、測試及部署工作負載。
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Observability API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Observability API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  8. 如要取得載入「可觀測性分析」頁面、執行查詢及建立連結資料集所需的權限,請要求管理員授予您專案的下列 IAM 角色:

    如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和組織的存取權」。

    您或許也能透過自訂角色或其他預先定義的角色,取得必要權限。

  9. 在 Google Cloud 控制台中啟用 Cloud Shell。

    啟用 Cloud Shell

    Google Cloud 主控台底部會開啟一個 Cloud Shell 工作階段,並顯示指令列提示。Cloud Shell 是已安裝 Google Cloud CLI 的殼層環境,並已針對您目前的專案設定好相關值。工作階段可能要幾秒鐘的時間才能初始化。

遷移至 Observability Analytics

  1. 完成本文件「事前準備」一節所列動作。包括啟用 Observability API。

  2. 使用可觀測性分析功能,確認您有權存取追蹤記錄資料:

    1. 在 Google Cloud 控制台中,前往 「Log Analytics」(記錄檔分析) 頁面:

      前往「Log Analytics」(記錄檔分析)

      如果您是使用搜尋列尋找這個頁面,請選取子標題為「Logging」的結果

    2. 在「Views」(檢視畫面) 選單中,前往「Traces」(追蹤) 專區,然後選取 _Trace.Spans._AllSpans

      「結構定義」窗格會更新並顯示結構定義。

      如果沒有名為 _Trace.Spans._AllSpans 的檢視畫面,表示您的Google Cloud 專案不含名為 _Trace 的可觀測性 bucket。如要瞭解如何解決這個問題,請參閱「追蹤儲存空間初始化失敗」。

    3. 在「結構定義」窗格中,選取「查詢」

      查詢編輯器欄位隨即更新。FROM 子句會列出類似下列項目的項目:

      `PROJECT_ID.us._Trace.Spans._AllSpans`
      
    4. 在工具列中選取「執行查詢」

      如果工具列顯示 在 BigQuery 中執行,請按一下 設定,然後選取 Analytics (預設)

    您已確認可以使用「Observability Analytics」頁面查詢追蹤記錄資料。

  3. 選用:如要將追蹤記錄資料與 BigQuery 提供的其他業務資料彙整,請建立連結的 BigQuery 資料集。詳情請參閱查詢連結的 BigQuery 資料集

  4. 刪除追蹤接收器和不必要的資料集:

    1. 如要列出現有的追蹤記錄接收器,請執行 gcloud alpha trace sinks list 指令:

      gcloud alpha trace sinks list
      
    2. 針對每個接收器執行 gcloud alpha trace sinks delete 指令:

      gcloud alpha trace sinks delete SINK_NAME
      
    3. 選用:刪除任何不必要的 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 資料類型。範例:

  • attributes["somekey"]
  • resource.attributes["somekey"]
  • instrumentation_scope.attributes["somekey"]

所有屬性都使用相同格式: span.attributes.attributeMap.ATTRIBUTE_KEY

範例:

  • span.attributes.attributeMap._http_method
  • span.attributes.attributeMap.g_co_agent
  • span.attributes.attributeMap.rpc_service
  • span.attributes.attributeMap.rpc_method

後續步驟