本文說明如何設定 Google Cloud Observability,以便查看已向 App Hub 註冊的應用程式遙測資料。您可以先部署應用程式,然後向 App Hub 註冊,也可以使用 Application Design Center 部署應用程式。Application Monitoring 可協助您瞭解應用程式、服務和工作負載的效能。
事前準備
找出要設定可觀測範圍的專案。這個專案是您的 App Hub 主專案,或是已啟用應用程式的資料夾的管理專案。舉例來說,如果資料夾的顯示名稱是
My Folder
,管理專案的顯示名稱就是My Folder-mp
。請確認您具備設定可觀測範圍所需的 Identity and Access Management (IAM) 角色。您必須具備的 IAM 角色取決於是否要建立匯總接收器,集中儲存記錄資料。
設定接收器和範圍
如要取得設定可觀測範圍及建立匯總記錄接收器所需的權限,請要求管理員為您授予機構的機構管理員 (
roles/resourcemanager.organizationAdmin
) 身分與存取權管理角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。僅設定範圍
如要取得設定可觀測範圍所需的權限,請要求管理員授予下列 IAM 角色:
-
可觀測性編輯者 (
roles/observability.editor
) 在App Hub 主專案或已啟用應用程式的資料夾管理專案中 -
記錄檔設定寫入者 (
roles/logging.configWriter
) 在應用程式中心主機專案或啟用應用程式的資料夾管理專案中 -
監控管理員 (
roles/monitoring.admin
) 在 App Hub 主機專案或啟用應用程式的資料夾管理專案中,以及您要新增至指標範圍的每個專案中 -
Cloud Trace 使用者 (
roles/cloudtrace.user
) 在 App Hub 主機專案或啟用應用程式的資料夾管理專案中 -
App Hub 檢視者 (
roles/apphub.viewer
) 在 App Hub 主機專案或已啟用應用程式的資料夾管理專案中
如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
-
可觀測性編輯者 (
設定可觀測範圍
觀測範圍會控管探索工具和資訊主頁頁面搜尋要顯示資料的方式。每個 Google Cloud 專案都包含單一可觀測性範圍。您無法直接設定專案的可觀測範圍,而是為專案設定下列項目:
預設記錄範圍
設定這個範圍後,當您開啟 Logs Explorer 頁面或查看資訊主頁時,系統就會顯示應用程式的記錄檔資料。請確認這個範圍列出儲存應用程式記錄資料的專案和記錄檢視畫面。
指標範圍
設定這個範圍,讓圖表 (例如使用 Metrics Explorer 頁面建立的圖表) 和快訊政策可以顯示或監控應用程式的指標資料。確認這個範圍列出儲存應用程式指標資料的專案。
預設追蹤記錄範圍
設定這個範圍,以便開啟「追蹤記錄探索工具」頁面時,系統會顯示應用程式的追蹤記錄資料。請確認這個範圍列出儲存應用程式追蹤資料的專案。
本節的其餘部分將說明如何設定這些範圍。
設定及預設記錄範圍
執行下列其中一個步驟:
如果您有機構層級的匯總接收器,可將機構中的所有記錄資料轉送至中央記錄值區,建議採取下列做法:
如果您使用啟用應用程式的資料夾,且沒有組織層級的匯總接收器或巢狀資料夾,建議採取下列做法:
如果您未使用匯總接收器,請為 App Hub 主機專案或啟用應用程式的資料夾管理專案,設定預設記錄範圍,列出應用程式記錄資料的儲存位置。建議您在儲存記錄資料的記錄檔 bucket 中新增記錄檔檢視區塊。
舉例來說,假設您已設定啟用應用程式的資料夾,但未使用匯總接收器。接著,您可能會執行下列操作:
- 在管理專案中,建立記錄範圍。
為資料夾中的每個專案 (包括管理專案) 各新增一個記錄檢視區塊,加入記錄範圍。
您新增的檢視區塊是專案
_Default
記錄檔值區的_AllLogs
檢視區塊。這個檢視畫面會顯示_Default
記錄檔 bucket 中的所有記錄檔,而_Default
記錄檔 bucket 會儲存應用程式記錄檔資料。完成這個步驟後,記錄範圍可能會有類似下列的項目:
_Default/_AllLogs my-folder-mp _Default/_AllLogs project-in-my-folder _Default/_AllLogs another-project-in-my-folder
儲存記錄範圍並設為預設記錄範圍。
設定指標範圍
請確認應用程式中樞主機專案或啟用應用程式的資料夾管理專案的指標範圍,列出所有儲存應用程式指標資料的專案:
如果是已啟用應用程式的資料夾,Google Cloud Observability 會嘗試將已啟用應用程式的資料夾中的專案清單,與指標範圍中的專案清單同步。舉例來說,如果您將專案新增至已啟用應用程式的資料夾,然後發出指令將該專案新增至指標範圍。
如果啟用應用程式的資料夾中專案數量未超過指標範圍配額 (預設為每個指標範圍 375 個專案),Google Cloud Observability 就能讓指標範圍中的專案清單與啟用應用程式的資料夾中專案清單保持同步。舉例來說,假設每個指標範圍的配額為 375 個專案。如果已啟用應用程式的資料夾包含 100 個專案,指標範圍就會列出已啟用應用程式的資料夾中的所有專案。如果您將專案新增至已啟用應用程式的資料夾,這些專案也會新增至指標範圍。
如果已啟用應用程式的資料夾中專案數量超過指標範圍配額,指標範圍中的專案清單就不會包含已啟用應用程式的資料夾中的所有專案。舉例來說,假設每個指標範圍的配額為 375 個專案,而您已啟用應用程式的資料夾包含 380 個專案。將 375 個專案新增至指標範圍後,配額就會用盡,因此嘗試新增其餘 5 個專案時會失敗。因此,管理專案無法使用部分應用程式資料。
建議您檢查指標範圍配額用量,判斷是否需要申請更新配額或手動修改指標範圍。如要瞭解這些步驟,請參閱「已啟用應用程式的資料夾的指標範圍」。
如果是 App Hub 主專案,您必須設定主專案的指標範圍。
如果變更儲存指標資料的專案集,您也必須更新主機專案的指標範圍。
設定及設定預設追蹤記錄範圍
請執行下列步驟:
在 App Hub 主機專案或啟用應用程式的資料夾的管理專案中,建立追蹤範圍,並新增儲存應用程式追蹤資料的專案。如果您使用已啟用應用程式的資料夾,請在該資料夾中新增專案。
將自訂追蹤記錄範圍設為預設追蹤記錄範圍。
將快訊政策與 App Hub 應用程式建立關聯
如要從應用程式監控的脈絡中查看快訊政策,您必須將快訊政策與服務或工作負載建立關聯,方法是在快訊政策中加入應用程式專屬標籤。這些使用者定義的標籤也會納入為政策建立的任何事件。如要進一步瞭解標籤,請參閱使用標籤註解事件。如需 App Hub 標籤清單,請參閱「查看應用程式遙測資料」。
如要使用 Google Cloud 控制台將快訊政策與工作負載或服務建立關聯,請按照下列指示操作:
-
前往 Google Cloud 控制台的 notifications「Alerting」(警告) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
- 在Google Cloud 控制台的工具列中,選取您的 App Hub 主專案,或是已啟用應用程式的資料夾管理專案。
- 找到快訊政策,按一下「查看更多」more_vert,選取「編輯」,然後前往「通知和名稱」部分。
- 在「應用程式標籤」部分,選取應用程式,然後選取工作負載或服務。
- 按一下 [Save Policy] (儲存政策)。
完成這些步驟後,系統會將具有下列鍵的標籤附加至警報政策。這些標籤可識別您的應用程式和服務/工作負載:
apphub_application_location
apphub_application_id
apphub_service_id
或apphub_workload_id
您也可以使用 Google Cloud CLI、Terraform 或 Cloud Monitoring API,在快訊政策中加入使用者標籤。不過,您必須使用上一個範例中顯示的標籤鍵。 如要瞭解詳情,請參考下列資源:
授予存取權
IAM 可管理記錄、指標和追蹤記錄資料的存取權。本節概述您可能想授予主體的角色:
記錄檢視畫面存取者 (
roles/logging.viewAccessor
) 位於您應用程式中樞主專案的預設記錄範圍,或已啟用應用程式的資料夾管理專案中列出的記錄檢視畫面。 如要進一步瞭解如何授予記錄檢視畫面存取權,請參閱「控管記錄檢視畫面存取權」。記錄檢視器 (
roles/logging.viewer
) 位於App Hub 主機專案,或已啟用應用程式的資料夾管理專案,以及預設記錄範圍中列出的任何其他專案。這個角色可授予_Default
記錄檔儲存空間中大部分記錄項目的存取權。詳情請參閱「記錄角色」。監控編輯者角色 (
roles/monitoring.editor
) 位於App Hub 主專案,或是已啟用應用程式的資料夾管理專案。 如果主體不需要建立快訊政策,請考慮授予 Monitoring 檢視者角色 (roles/monitoring.viewer
)。Cloud Trace 使用者 (
roles/cloudtrace.user
) 必須位於 App Hub 主專案,或是已啟用應用程式的資料夾管理專案,以及預設追蹤範圍中列出的專案。App Hub 檢視者 (
roles/apphub.view
) 位於App Hub 主機專案,或應用程式啟用資料夾的管理專案。