設定可觀察性範圍

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

關於觀測範圍

Google Cloud 可觀測性分析和視覺化工具會依據資料類型的特定範圍,決定要顯示或分析哪些資料。範圍可用來定義搜尋特定類型資料的資源。除了指標資料外,搜尋專案和記錄檢視畫面上的身分與存取權管理 (IAM) 角色會決定要顯示哪些資料。

您可以設定下列範圍:

觀測範圍

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

建議您在下列情況下設定可觀察性範圍的元件:

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

如果您未為專案設定可觀察性範圍的元件,則「Logs Explorer」頁面會顯示來自專案的記錄資料。「Metrics Explorer」和「Trace Explorer」頁面只能顯示儲存在專案中的資料。此外,快訊政策只能監控儲存在專案中的資料。

記錄範圍

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

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

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

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

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

指標範圍

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

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

建議您在下列任一情況下設定指標範圍:

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

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

追蹤記錄範圍

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

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

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

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

事前準備

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

  • 如要建立及查看記錄範圍,以及取得預設的記錄範圍: Logs Configuration Writer (roles/logging.configWriter) 在專案中
  • 如要修改指標範圍,請按照下列步驟操作: Monitoring 管理員 (roles/monitoring.admin) 在您要新增至指標範圍的專案中執行上述步驟
  • 如要建立及查看追蹤記錄範圍,以及取得預設的追蹤記錄範圍,請按照下列步驟操作: Cloud Trace 使用者 (roles/cloudtrace.user) 在專案中
  • 如要取得及設定預設範圍: Observability Editor (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}

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

設定可觀察性範圍

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

如果您未為專案設定可觀察性範圍的元件,則「Logs Explorer」頁面會顯示來自專案的記錄資料。「Metrics Explorer」和「Trace Explorer」頁面只能顯示儲存在專案中的資料。此外,警示政策只能監控儲存在專案中的資料。

對於記錄和追蹤資料,您所查看專案上的身分與存取權管理 (IAM) 角色,以及任何搜尋的專案和記錄檢視畫面,都會決定要顯示哪些資料。您在查看的專案中所具備的 IAM 角色,會決定您是否可以查看指標資料。

控制台

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

  1. Enable the Observability API.

    Enable the API

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

  2. 在 Google Cloud 控制台中,前往 「Settings」頁面:

    前往「設定」

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

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

  4. 設定預設記錄範圍:

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

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

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

  5. 設定指標範圍:

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

    1. 選取「Trace Scopes」分頁標籤,然後執行下列操作:

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

    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 取得或設定預設記錄範圍,請按照下列步驟操作:

  1. 確認已啟用可觀察性 API:

    1. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. 設定 Google Cloud CLI 的預設專案:

      gcloud config set project PROJECT_ID
      

      執行上述指令前,請先取代以下內容:

      • PROJECT_ID:專案的 ID。如要設定 App Hub,請選取 App Hub 主機專案或已啟用應用程式的資料夾管理專案。
    3. Enable the Observability API:

      gcloud services enable observability.googleapis.com
  2. 執行下列其中一個步驟:

    • 如要取得專案的預設記錄範圍,請向 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。名稱為 _DefaultScope 物件會儲存預設記錄範圍的相關資訊,並自動建立。

    如要將指令傳送至 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"
      }