本文說明如何設定一個 Google Cloud 專案,以便監控或顯示來自多個 Google Cloud 專案的遙測資料。如果您只想監控或查看儲存在單一Google Cloud 專案中的資料,則無需執行任何設定,因為視覺化和分析工具已設定為使用專案挑選工具所選 Google Cloud 專案中儲存的資料。不過,如果您要查看或分析的遙測資料來自多個專案,則必須執行一些設定活動,才能取得該資料的匯總檢視畫面。
關於觀測範圍
Google Cloud 可觀測性分析和視覺化工具會依據資料類型的特定範圍,決定要顯示或分析哪些資料。範圍可用來定義搜尋特定類型資料的資源。除了指標資料外,搜尋專案和記錄檢視畫面上的身分與存取權管理 (IAM) 角色會決定要顯示哪些資料。
您可以設定下列範圍:
- 觀測範圍
這個範圍會控管探索器和資訊主頁如何搜尋要顯示的資料。每個 Google Cloud 專案都包含單一可觀察性範圍,其中列出預設記錄範圍、指標範圍和預設追蹤範圍。
建議您在下列情況下設定可觀察性範圍的元件:
如果您未為專案設定可觀察性範圍的元件,則「Logs Explorer」頁面會顯示來自專案的記錄資料。「Metrics Explorer」和「Trace Explorer」頁面只能顯示儲存在專案中的資料。此外,快訊政策只能監控儲存在專案中的資料。
- 記錄範圍
設定專案的預設記錄範圍,這樣一來,當您開啟「Logs Explorer」頁面時,系統就會顯示您通常想查看的資料。記錄範圍可列出專案、資料夾、機構和記錄檢視。舉例來說,您可以將預設記錄範圍設為列出記錄檢視畫面,這樣在查詢時,系統就會傳回 App Hub 應用程式的記錄資料。
您可以建立多個記錄範圍。使用「Logs Explorer」頁面時,您可以選取其他記錄範圍,讓頁面搜尋所選範圍中列出的資源,然後重新整理顯示畫面。
建議您在下列情況下設定預設記錄範圍:
- 將記錄資料轉送至集中式記錄檔值區。
- 將記錄資料轉送至其他專案,或轉送至其他專案儲存的記錄檔值區。
- 您使用記錄檢視畫面。
詳情請參閱「建立及管理記錄範圍」。
- 指標範圍
設定指標範圍,列出儲存指標資料的所有專案,讓圖表和快訊政策能夠顯示或監控指標資料的匯總檢視畫面。
每個 Google Cloud 專案都包含單一指標範圍,這個範圍預設只會列出專案。
建議您在下列任一情況下設定指標範圍:
詳情請參閱「指標範圍總覽」。
- 追蹤記錄範圍
設定預設的追蹤記錄範圍,列出儲存追蹤記錄資料的所有專案,這樣當您開啟「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 角色,會決定您是否可以查看指標資料。
控制台
如要設定可觀察性範圍,請設定其元件,也就是預設記錄範圍、指標範圍和預設追蹤範圍:
-
Enable the Observability API.
啟用 API 前,請確認已選取正確的專案。如要設定 App Hub,請選取 App Hub 主機專案或已啟用應用程式的資料夾管理專案。
-
在 Google Cloud 控制台中,前往 settings「Settings」頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
在 Google Cloud 控制台的工具列中,選取您的 Google Cloud 專案。如要設定 App Hub,請選取 App Hub 主機專案或已啟用應用程式的資料夾管理專案。
設定預設記錄範圍:
選取「記錄範圍」分頁標籤。
系統會列出現有的記錄範圍。標有「Default」圖示
的項目是預設記錄範圍。如要建立記錄範圍,請按一下「Create log scope」,然後完成對話方塊。詳情請參閱「建立及管理記錄範圍」。
找出要設為預設值的項目,然後按一下 more_vert「更多」,然後選取「設為預設值」。
設定指標範圍:
- 選取「指標範圍」分頁。
- 在「Google Cloud Projects」窗格中,按一下「Add Projects」,然後完成對話方塊。詳情請參閱「設定指標範圍」。
設定預設追蹤記錄範圍:
選取「Trace Scopes」分頁標籤,然後執行下列操作:
系統會列出現有的追蹤範圍。標有「Default」圖示 (
) 的項目是預設追蹤範圍。如要建立追蹤範圍,請按一下「Create log scope」,然後完成對話方塊。詳情請參閱「建立及管理追蹤範圍」。
找出要設為預設值的項目,然後按一下 more_vert「更多」,然後選取「設為預設值」。
gcloud
如要查看及設定預設的觀測範圍,請按照下列步驟操作:
如要查看預設範圍的設定,請執行
gcloud observability scopes describe
指令。使用下列任何指令資料之前,請先替換以下項目:
- OBSERVABILITY_SCOPE_ID:
Scope
物件的名稱。這個值必須設為_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
- OBSERVABILITY_SCOPE_ID:
如要更新預設範圍,請執行
gcloud observability scopes update
指令。使用下列任何指令資料之前,請先替換以下項目:
- OBSERVABILITY_SCOPE_ID:
Scope
物件的名稱。這個值必須設為_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
- OBSERVABILITY_SCOPE_ID:
REST
不支援設定預設追蹤記錄範圍。
如要使用 Observability API 取得或設定預設記錄範圍,請按照下列步驟操作:
確認已啟用可觀察性 API:
-
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.
設定 Google Cloud CLI 的預設專案:
gcloud config set project PROJECT_ID
執行上述指令前,請先取代以下內容:
- PROJECT_ID:專案的 ID。如要設定 App Hub,請選取 App Hub 主機專案或已啟用應用程式的資料夾管理專案。
-
Enable the Observability API:
gcloud services enable observability.googleapis.com
-
執行下列其中一個步驟:
如要取得專案的預設記錄範圍,請向
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_ID:
Scope
物件的名稱。這個欄位必須設為_Default
。名稱為_Default
的Scope
物件會儲存預設記錄範圍的相關資訊,並自動建立。
如要將指令傳送至 API 端點,您可以使用 APIs Explorer,透過參考資料頁面發出指令。舉例來說,如要取得目前的預設範圍,您可以執行下列操作:
- 按一下 [
projects.locations.scopes.get
]。 在「Try this method」小工具的「name」欄位中,輸入以下內容:
projects/PROJECT_ID/locations/global/scopes/_Default
複製前一個欄位之前,請將 PROJECT_ID 替換為專案名稱。
選取「執行」。
在授權對話方塊中,完成必要步驟。
回應如下所示:
{ "name": "projects/my-project/locations/global/scopes/_Default", "logScope": "logging.googleapis.com/projects/my-project/locations/global/logScopes/_Default" }