設定可觀察性範圍

本文說明如何設定一個 Google Cloud 專案,監控或顯示多個 Google Cloud 專案的遙測資料。如果您只想監控或查看儲存在單一Google Cloud 專案中的資料,則不需要進行任何設定,因為視覺化和分析工具已設定為使用專案挑選器選取的 Google Cloud 專案中儲存的資料。不過,如果您想查看或分析多個專案的遙測資料,就必須執行一些設定活動,才能取得這些資料的匯總檢視畫面。

關於觀測範圍

Google Cloud Observability 分析和視覺化工具會根據特定資料類型的範圍,判斷要顯示或分析哪些資料。範圍會定義要搜尋特定類型資料的資源。除了指標資料外,系統會根據您在搜尋專案和記錄檢視畫面中的身分與存取權管理 (IAM) 角色,決定要顯示哪些資料。

本節的其餘部分說明您可以查看及設定的範圍。

觀測範圍

這個範圍會控管探索和資訊主頁頁面搜尋要顯示資料的方式。每個 Google Cloud 專案都包含單一可觀測性範圍,其中列出預設記錄範圍、指標範圍和預設追蹤範圍。

建議您在下列情境中,設定可觀測範圍的元件:

  • 您可以使用 App Hub 註冊應用程式。這些應用程式可能是您自行註冊,也可能是使用 Application Design Center 部署的應用程式。
  • 您想統一查看儲存在不同 Google Cloud 專案中的遙測資料。

您不必為專案設定可觀測範圍的元件。如果您依賴系統預設值,就會發生下列情況:

  • 「記錄檔探索工具」頁面會顯示專案的記錄檔資料。
  • 「指標探索器」和「追蹤記錄探索器」頁面會顯示專案中儲存的指標和追蹤記錄資料。
  • 快訊政策會監控專案中儲存的指標資料。

記錄範圍

設定專案的預設記錄範圍,這樣開啟 Logs Explorer 頁面時,系統就會顯示您通常想查看的資料。記錄範圍可以列出專案、資料夾、機構和記錄檢視。舉例來說,您可以將預設記錄範圍設為列出記錄檢視畫面,查詢時會傳回 App Hub 應用程式的記錄資料。

您可以建立多個記錄範圍。使用 Logs Explorer 頁面時,您可以選取其他記錄範圍,頁面會搜尋所選範圍中列出的資源,然後重新整理顯示畫面。

建議您在下列情況中設定預設記錄範圍:

  • 將記錄資料轉送至集中式記錄值區
  • 將記錄資料轉送至其他專案,或轉送至其他專案儲存的記錄檔值區。
  • 您使用記錄檢視畫面。

詳情請參閱「建立及管理記錄範圍」。

指標範圍

設定指標範圍,列出所有儲存指標資料的專案,以便圖表和快訊政策顯示或監控指標資料的匯總檢視畫面。

每個 Google Cloud 專案都包含單一指標範圍,且這個範圍預設只會列出專案。

如果符合下列任一情況,建議您設定指標範圍:

  • 您想繪製儲存在不同專案中的資料圖表。
  • 您希望快訊政策監控儲存在不同專案中的資料。
  • 您可以使用 App Hub 註冊應用程式。如要瞭解這個情境,請參閱「管理專案的指標範圍」。

詳情請參閱「指標範圍總覽」。

追蹤記錄範圍

設定預設追蹤記錄範圍,列出儲存追蹤記錄資料的所有專案,這樣開啟「追蹤記錄探索工具」頁面時,就能查看追蹤記錄資料的匯總檢視畫面。

您可以建立多個追蹤範圍。使用「Trace 探索工具」頁面時,您可以選取其他追蹤記錄範圍,讓頁面搜尋所選範圍中列出的專案,然後重新整理顯示畫面。

如要統一查看不同專案中儲存的追蹤資料,建議您設定追蹤範圍。

詳情請參閱「建立及管理追蹤範圍」。

設定可觀測範圍

本節不適用於資料夾或機構。

對於記錄和追蹤資料,您在所查看專案、任何搜尋專案和記錄檢視畫面中的 Identity and Access Management (IAM) 角色,會影響查詢傳回的資料。如果您發出查詢,要求查看您無權查看的記錄資料,查詢不會傳回任何記錄資料。

如果是指標資料,設定專案的指標範圍後,專案就會獲得讀取權,可存取指標範圍內專案儲存的指標資料。如果使用者獲派的身分與存取權管理角色允許查看專案中的指標資料,他們就能查看專案可用的指標資料。

事前準備

  1. Enable the Observability API.

    Enable the API

    啟用 API 前,請確認已選取正確的專案。如要進行 App Hub 設定,請選取 App Hub 主專案或已啟用應用程式的資料夾管理專案。

  2. 如要取得建立及查看範圍所需的權限,請要求管理員授予下列 IAM 角色:

    • 如要建立及查看記錄範圍,並取得預設記錄範圍,請執行下列操作: 記錄設定寫入者 (roles/logging.configWriter) 專案
    • 如要修改指標範圍,請在專案和要新增至指標範圍的每個專案中,監控管理員 (roles/monitoring.admin)
    • 如要建立及查看追蹤範圍,並取得預設追蹤範圍,請在專案中指派 Cloud Trace 使用者 (roles/cloudtrace.user) 角色。
    • 如要取得及設定預設範圍: 專案的可觀測性編輯者 (roles/observability.editor)

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

    這些預先定義的角色具備建立及查看範圍所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:

    所需權限

    如要建立及查看範圍,必須具備下列權限:

    • 如何設定記錄範圍: logging.logScopes.{create, delete, get, list, update}
    • 如要設定指標範圍,請按照下列步驟操作: monitoring.metricsscopes.{link, get, list}
    • 如何設定追蹤範圍: cloudtrace.traceScopes.{create, delete, get, list, update}
    • 如要取得及設定預設範圍,請執行下列操作: observability.scopes.{get, update}

    您或許還可透過自訂角色或其他預先定義的角色取得這些權限。

  3. Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

    REST

    如要在本機開發環境中使用本頁的 REST API 範例,請使用您提供給 gcloud CLI 的憑證。

      安裝 Google Cloud CLI。 安裝完成後,執行下列指令初始化 Google Cloud CLI:

      gcloud init

      如果您使用外部識別資訊提供者 (IdP),請先 使用聯合身分登入 gcloud CLI

    詳情請參閱 Google Cloud 驗證說明文件中的「Authenticate for using REST」。

    查看及設定預設範圍

    控制台

    如要設定可觀測性範圍,請設定其元件,也就是預設記錄範圍、指標範圍和預設追蹤範圍:

    1. 前往 Google Cloud 控制台的 「Settings」(設定) 頁面

      前往「設定」

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

    2. 在 Google Cloud 控制台的工具列中,選取您的 Google Cloud 專案。如要進行 App Hub 設定,請選取 App Hub 主專案或已啟用應用程式的資料夾管理專案。
    3. 設定預設記錄範圍:

      1. 選取「記錄範圍」分頁標籤。

        系統會列出現有的記錄範圍。標有「預設」圖示 的項目是預設記錄範圍。如要建立記錄範圍,請按一下「建立記錄範圍」,然後完成對話方塊。詳情請參閱「建立及管理記錄範圍」。

      2. 找出要設為預設值的項目,按一下「更多」圖示 ,然後選取「設為預設值」

    4. 設定指標範圍:

      1. 選取「指標範圍」分頁標籤。
      2. 在「Google Cloud Projects」窗格中,按一下「Add Projects」,然後完成對話方塊。詳情請參閱「設定指標範圍」。
    5. 設定預設追蹤記錄範圍:

      1. 選取「追蹤範圍」分頁標籤,然後執行下列操作:

        系統會列出現有的追蹤範圍。標有「預設」圖示 的項目是預設追蹤範圍。如要建立追蹤範圍,請按一下「建立記錄範圍」,然後完成對話方塊。詳情請參閱「建立及管理追蹤範圍」。

      2. 找出要設為預設值的項目,按一下「更多」圖示 ,然後選取「設為預設值」

    gcloud

    如要查看及設定預設觀測範圍,請按照下列步驟操作:

    1. 如要查看預設範圍的設定,請執行 gcloud observability scopes describe 指令。

      使用下列任何指令資料之前,請先替換以下項目:

      • OBSERVABILITY_SCOPE_IDScope 物件的名稱。這個值必須設為 _Default
      • LOCATION:位置欄位必須設為 global
      • PROJECT_ID:專案的 ID。

      執行 gcloud observability scopes describe 指令:

      Linux、macOS 或 Cloud Shell

      gcloud observability scopes describe OBSERVABILITY_SCOPE_ID \
         --location=LOCATION\
         --project=PROJECT_ID

      Windows (PowerShell)

      gcloud observability scopes describe OBSERVABILITY_SCOPE_ID `
         --location=LOCATION`
         --project=PROJECT_ID

      Windows (cmd.exe)

      gcloud observability scopes describe OBSERVABILITY_SCOPE_ID ^
         --location=LOCATION^
         --project=PROJECT_ID

      指令的回應如下所示:

      logScope: logging.googleapis.com/projects/my-project/locations/global/logScopes/_Default
      name: projects/my-project/locations/global/scopes/_Default
      

    2. 如要更新預設範圍,請執行 gcloud observability scopes update 指令。

      使用下列任何指令資料之前,請先替換以下項目:

      • OBSERVABILITY_SCOPE_IDScope 物件的名稱。這個值必須設為 _Default
      • LOG_SCOPE_FQN_ID:記錄範圍的完整 ID。這個欄位的格式如下:
        logging.googleapis.com/projects/PROJECT_ID/locations/LOCATION/logScopes/LOG_SCOPE_ID

        在上述運算式中,LOG_SCOPE_ID 是記錄範圍的 ID。例如:my-scope

      • LOCATION:位置欄位必須設為 global
      • PROJECT_ID:專案的 ID。

      執行 gcloud observability scopes update 指令:

      Linux、macOS 或 Cloud Shell

      gcloud observability scopes update OBSERVABILITY_SCOPE_ID \
         --log-scope=LOG_SCOPE_FQN_ID\
         --location=LOCATION\
         --project=PROJECT_ID

      Windows (PowerShell)

      gcloud observability scopes update OBSERVABILITY_SCOPE_ID `
         --log-scope=LOG_SCOPE_FQN_ID`
         --location=LOCATION`
         --project=PROJECT_ID

      Windows (cmd.exe)

      gcloud observability scopes update OBSERVABILITY_SCOPE_ID ^
         --log-scope=LOG_SCOPE_FQN_ID^
         --location=LOCATION^
         --project=PROJECT_ID

      舉例來說,如果 LOG_SCOPE_ID 的值為 my-scope,則回應會類似於下列內容:

      Updated scope [_Default].
      logScope: logging.googleapis.com/projects/my-project/locations/global/logScopes/my-scope
      name: projects/my-project/locations/global/scopes/_Default
      

    REST

    如要使用 Observability API 取得或設定預設記錄範圍,請執行下列任一操作:

    • 如要取得專案的預設記錄範圍,請向 projects.locations.scopes.get 端點傳送要求。您必須指定路徑參數。回應為 Scope 物件,其中列出預設記錄範圍。

    • 如要更新專案的預設記錄範圍,請將要求傳送至 projects.locations.scopes.patch 端點。您必須指定路徑參數、查詢參數,並提供 Scope 物件。查詢參數會指出變更的欄位。回應為 Scope 物件。

    兩個端點的路徑參數格式如下:

    projects/PROJECT_ID/locations/LOCATION/scopes/OBSERVABILITY_SCOPE_ID
    

    上一個運算式中的欄位具有下列意義:

    • PROJECT_ID:專案的 ID。如要進行 App Hub 設定,請選取 App Hub 主專案或已啟用應用程式的資料夾管理專案。
    • LOCATION:位置欄位必須設為 global
    • OBSERVABILITY_SCOPE_IDScope 物件的名稱。這個欄位必須設為 _Default。名稱為 Scope 的物件會儲存預設記錄範圍的相關資訊,並自動建立。_Default

    如要將指令傳送至 API 端點,可以使用 APIs Explorer,從參考頁面發出指令。舉例來說,如要取得目前的預設範圍,可以執行下列操作:

    1. 按一下 [projects.locations.scopes.get]
    2. 在「Try this method」(試試這個方法) 小工具的「name」(名稱) 欄位中,輸入下列內容:

      projects/PROJECT_ID/locations/global/scopes/_Default
      

      複製上一個欄位之前,請先將 PROJECT_ID 換成專案名稱。

    3. 選取「執行」

    4. 在授權對話方塊中,完成必要步驟。

      回應類似以下內容:

      {
      "name": "projects/my-project/locations/global/scopes/_Default",
      "logScope": "logging.googleapis.com/projects/my-project/locations/global/logScopes/_Default"
      }