設定 Google Cloud Observability,監控應用程式

部署 App Hub 應用程式時,該應用程式可能會將遙測資料傳送至多個 Google Cloud 專案。如要透過單一介面 (例如 Application Monitoring 提供的現成 (OOTB) 資訊主頁) 查看應用程式產生的所有遙測資料,請設定 Google Cloud Observability。本文說明必要設定。

如果您部署應用程式,然後向 App Hub 註冊,或是使用 Application Design Center 部署應用程式,本文就適用於您。

除了設定 Google Cloud Observability,您可能還想執行下列操作:

  1. 將應用程式專屬標籤附加至快訊政策。新增這些標籤後,與應用程式相關的事件就會顯示在 OOTB 資訊主頁上。如需這個步驟的相關資訊,請參閱本文的「將警報政策與 App Hub 應用程式建立關聯」一節。

  2. 如果您在 Google Kubernetes Engine 上部署工作負載,並希望在 OOTB 資訊主頁上顯示流量、延遲和錯誤率黃金信號,請使用 OpenTelemetry 檢測應用程式。詳情請參閱「為應用程式監控功能進行檢測」。

事前準備

  • 找出要設定可觀測範圍的專案。這個專案是您的 App Hub 主專案,或是已啟用應用程式的資料夾的管理專案。舉例來說,如果資料夾的顯示名稱是 My Folder,管理專案的顯示名稱就是 My Folder-mp

  • 請確認您具備設定可觀測範圍所需的 Identity and Access Management (IAM) 角色。您需要哪些 IAM 角色,取決於是否要建立匯總接收器,集中儲存記錄資料。

    設定接收器和範圍

    如要取得設定可觀測範圍及建立匯總記錄接收器所需的權限,請要求管理員為您授予機構的機構管理員 (roles/resourcemanager.organizationAdmin) 身分與存取權管理角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。

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

    僅設定範圍

    如要取得設定可觀測範圍所需的權限,請要求管理員授予下列 IAM 角色:

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

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

設定可觀測範圍

觀測範圍會控管探索工具和資訊主頁頁面搜尋要顯示資料的方式。每個 Google Cloud 專案都包含單一可觀測性範圍。您無法直接設定專案的可觀測性範圍,而是為專案設定下列項目:

  • 預設記錄範圍

    設定這個範圍後,當您開啟 Logs Explorer 頁面或查看資訊主頁時,系統就會顯示應用程式的記錄檔資料。請確認這個範圍列出儲存應用程式記錄資料的專案和記錄檢視畫面。

  • 指標範圍

    設定這個範圍,讓圖表 (例如使用 Metrics Explorer 頁面建立的圖表) 和快訊政策可以顯示或監控應用程式的指標資料。確認這個範圍列出儲存應用程式指標資料的專案。

  • 預設追蹤記錄範圍

    設定這個範圍,以便開啟「追蹤記錄探索工具」頁面時,系統會顯示應用程式的追蹤記錄資料。請確認這個範圍列出儲存應用程式追蹤資料的專案。

本節的其餘部分將說明如何設定這些範圍。

設定及設定預設記錄範圍

執行下列其中一個步驟:

  • 如果您有機構層級的匯總接收器,可將機構中的所有記錄資料轉送至中央記錄值區,建議採取下列做法:

    1. 在應用程式記錄的集中式記錄 bucket 中建立記錄檢視區塊

    2. 應用程式中心主機專案或啟用應用程式的資料夾管理專案中,建立記錄範圍,然後新增記錄檢視畫面,並將這個範圍設為預設記錄範圍。

  • 如果您使用啟用應用程式的資料夾,且沒有組織層級的匯總接收器或巢狀資料夾,建議採取下列做法:

    1. 為已啟用應用程式的資料夾建立攔截匯總接收器,並將這些記錄檔轉送至管理專案的 _Default 記錄檔儲存空間。

    2. 在已啟用應用程式的資料夾管理專案中,請確認名為 _Default 的記錄範圍已設為預設記錄範圍。名為 _Default 的範圍會列出專案 _Default 記錄值區的 _AllLogs 檢視畫面,這是應用程式的集中式儲存位置。

  • 如果您未使用匯總接收器,請為 App Hub 主機專案或啟用應用程式的資料夾管理專案,設定預設記錄範圍,列出應用程式記錄資料的儲存位置。建議您在儲存記錄資料的記錄檔 bucket 中新增記錄檔檢視區塊。

舉例來說,假設您已設定啟用應用程式的資料夾,但未使用匯總接收器。接著,您可能會執行下列操作:

  1. 在管理專案中,建立記錄範圍。
  2. 為資料夾中的每個專案 (包括管理專案) 各新增一個記錄檢視區塊,加入記錄範圍。

    您新增的檢視區塊是專案_Default記錄檔值區的 _AllLogs 檢視區塊。這個檢視畫面會顯示 _Default 記錄檔 bucket 中的所有記錄檔,而 _Default 記錄檔 bucket 會儲存應用程式記錄檔資料。

    完成這個步驟後,記錄範圍可能會有類似下列的項目:

    _Default/_AllLogs     my-folder-mp
    _Default/_AllLogs     project-in-my-folder
    _Default/_AllLogs     another-project-in-my-folder
    
  3. 儲存記錄範圍並設為預設記錄範圍。

設定指標範圍

請確認應用程式中樞主機專案或啟用應用程式的資料夾管理專案的指標範圍,列出所有儲存應用程式指標資料的專案:

  • 如果是已啟用應用程式的資料夾,Google Cloud Observability 會嘗試將已啟用應用程式的資料夾中的專案清單,與指標範圍中的專案清單同步。舉例來說,如果您將專案新增至已啟用應用程式的資料夾,系統就會發出指令,將該專案新增至指標範圍。

    如果啟用應用程式的資料夾中專案數量未超過指標範圍配額 (預設為每個指標範圍 375 個專案),Google Cloud Observability 就能讓指標範圍中的專案清單與啟用應用程式的資料夾中專案清單保持同步。舉例來說,假設每個指標範圍的配額為 375 個專案。如果已啟用應用程式的資料夾包含 100 個專案,指標範圍就會列出已啟用應用程式的資料夾中的所有專案。如果您將專案新增至已啟用應用程式的資料夾,這些專案也會新增至指標範圍。

    如果已啟用應用程式的資料夾中專案數量超過指標範圍配額,指標範圍中的專案清單就不會包含已啟用應用程式的資料夾中所有專案。舉例來說,假設每個指標範圍的配額為 375 個專案,而已啟用應用程式的資料夾包含 380 個專案。將 375 個專案新增至指標範圍後,配額就會用盡,因此嘗試新增其餘 5 個專案時會失敗。因此,管理專案無法使用部分應用程式資料。

    建議您檢查指標範圍配額用量,判斷是否需要申請更新配額或手動修改指標範圍。如要瞭解這些步驟,請參閱「已啟用應用程式的資料夾的指標範圍」。

  • 如果是 App Hub 主專案,您必須設定主專案的指標範圍

    如果變更儲存指標資料的專案集,您也必須更新主機專案的指標範圍。

設定及設定預設追蹤記錄範圍

請執行下列步驟:

  1. App Hub 主機專案或啟用應用程式的資料夾的管理專案中,建立追蹤範圍,並新增儲存應用程式追蹤資料的專案。如果您使用已啟用應用程式管理功能的資料夾,請在該資料夾中新增專案。

  2. 將自訂追蹤記錄範圍設為預設追蹤記錄範圍。

將快訊政策與 App Hub 應用程式建立關聯

如要從應用程式監控的脈絡中查看快訊政策,您必須將快訊政策與服務或工作負載建立關聯,方法是在快訊政策中加入應用程式專屬標籤。這些使用者定義的標籤也會納入為政策建立的任何事件。如要進一步瞭解標籤,請參閱「使用標籤註解事件」。如需 App Hub 標籤清單,請參閱「查看應用程式遙測資料」。

如要使用 Google Cloud 控制台將快訊政策與工作負載或服務建立關聯,請按照下列指示操作:

  1. 前往 Google Cloud 控制台的 「Alerting」(警告) 頁面

    前往「Alerting」(快訊)

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

  2. 在Google Cloud 控制台的工具列中,選取您的 App Hub 主專案,或是已啟用應用程式的資料夾管理專案。
  3. 找到快訊政策,按一下「查看更多」,選取「編輯」,然後前往「通知和名稱」部分。
  4. 在「應用程式標籤」部分,選取應用程式,然後選取工作負載或服務。
  5. 按一下 [Save Policy] (儲存政策)。

完成這些步驟後,系統會將具有下列鍵的標籤附加至您的警報政策。這些標籤可識別您的應用程式和服務/工作負載:

  • apphub_application_location
  • apphub_application_id
  • apphub_service_idapphub_workload_id

您也可以使用 Google Cloud CLI、Terraform 或 Cloud Monitoring API,在快訊政策中加入使用者標籤。不過,您必須使用上一個範例中顯示的標籤鍵。 如要瞭解詳情,請參考下列資源:

授予存取權

IAM 可管理記錄、指標和追蹤資料的存取權。本節概述您可能想授予主體的角色:

  • 記錄檢視畫面存取者 (roles/logging.viewAccessor) 位於您應用程式中樞主專案的預設記錄範圍,或已啟用應用程式的資料夾管理專案中列出的記錄檢視畫面。 如要進一步瞭解如何授予記錄檢視畫面存取權,請參閱「控管記錄檢視畫面存取權」。

  • 記錄檢視器 (roles/logging.viewer) 位於應用程式中樞主機專案,或已啟用應用程式的資料夾管理專案,以及預設記錄範圍中列出的任何其他專案。這個角色可授予 _Default 記錄檔儲存空間中大部分記錄項目的存取權。詳情請參閱「記錄角色」。

  • 監控編輯者角色 (roles/monitoring.editor) 在您的App Hub 主專案或已啟用應用程式的資料夾管理專案中。 如果主體不需要建立快訊政策,請考慮授予 Monitoring 檢視者角色 (roles/monitoring.viewer)。

  • Cloud Trace 使用者 (roles/cloudtrace.user) 必須是 App Hub 主專案,或是已啟用應用程式的資料夾管理專案,以及預設追蹤範圍中列出的專案。

  • App Hub 檢視者 (roles/apphub.view) 位於App Hub 主機專案,或應用程式啟用資料夾的管理專案。

後續步驟