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

設定 Google Cloud Observability 進行應用程式監控後,您就能在單一介面中查看及分析 App Hub 應用程式的記錄、指標和追蹤記錄,即使遙測資料儲存在多個 Google Cloud 專案中也沒問題。如要設定 Google Cloud Observability,請設定觀測範圍 (包括預設記錄範圍、指標範圍和預設追蹤範圍),並授予 IAM 角色。無論您是透過 App Hub 註冊現有應用程式,還是使用 App Design Center 部署應用程式,都適用這項設定。

如要在應用程式監控資訊主頁上顯示與應用程式相關聯的快訊,您也可以將快訊政策與 App Hub 應用程式建立關聯。如果您在 Google Kubernetes Engine 上執行工作負載,並希望應用程式監控資訊主頁顯示 HTTP 流量、延遲和錯誤率黃金訊號,請參閱「為應用程式監控功能設定應用程式」。

事前準備

  • 找出要設定可觀測性範圍的專案。 這個專案屬於下列其中一種:

    • App Hub 主專案。
    • 單一專案界線的 App Hub 管理專案。
    • 已啟用應用程式的資料夾的 App Hub 管理專案。

    本文中,如未指定管理專案類型,設定工作會套用至所有管理專案。

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

    設定接收器和範圍

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

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

    僅設定範圍

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

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

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

設定可觀測範圍

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

  • 預設記錄範圍

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

  • 指標範圍

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

  • 預設追蹤記錄範圍

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

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

設定及設定預設記錄範圍

執行下列其中一個步驟:

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

    1. 在應用程式記錄的集中式記錄檔 bucket 中建立記錄檢視畫面。

    2. 在 App Hub 主專案或管理專案中,建立記錄範圍並新增記錄檢視畫面,然後將這個範圍設為預設記錄範圍。

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

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

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

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

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

  1. 在已啟用應用程式管理功能的資料夾管理專案中,建立記錄範圍。
  2. 為資料夾中的每個專案 (包括管理專案) 新增一個記錄檢視畫面,加入記錄範圍。

    您新增的檢視畫面是專案的 _Default記錄檔 bucket 中的 _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. 建議您為每個要儲存應用程式追蹤資料的專案啟用 Observability API:

    啟用 API 時所需的角色

    如要啟用 API,您必須具備 serviceusage.services.enable 權限。如果您建立了專案,可能已透過「擁有者」角色 (roles/owner) 取得這項權限。否則,您可以透過「服務使用管理員」角色 (roles/serviceusage.serviceUsageAdmin) 取得這項權限。瞭解如何授予角色。

    啟用 API

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

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

    拓撲圖只能顯示與主專案或管理專案位於相同機構的專案追蹤資料。

將警告政策與 App Hub 應用程式建立關聯

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

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

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

    前往「Alerting」(警告)

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

  2. 在Google Cloud 控制台的工具列中,選取應用程式中樞主專案或管理專案。
  3. 找到警告政策,按一下 查看更多,選取 編輯,然後前往 通知與名稱部分。
  4. 在「應用程式標籤」部分,選取應用程式,然後選取服務或工作負載:

    警告政策頁面,顯示如何將警告政策與 App Hub 標籤建立關聯。

  5. 按一下 [Save Policy] (儲存政策)。

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

  • apphub_application_location
  • apphub_application_id
  • apphub_service_id或apphub_workload_id

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

授予存取權

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

  • 在 App Hub 主機專案或管理專案的預設記錄範圍中,點選列出的記錄檢視畫面上的「記錄檢視存取者」(roles/logging.viewAccessor)。如要進一步瞭解如何授予記錄檢視畫面存取權,請參閱「控管記錄檢視畫面存取權」。

  • 記錄檢視者 (roles/logging.viewer) App Hub 主專案或管理專案,以及預設記錄範圍中列出的任何其他專案。這個角色可授予 _Default 記錄檔 bucket 中大多數記錄項目的存取權。詳情請參閱「記錄角色」。

  • 監控編輯者角色 (roles/monitoring.editor) 位於 App Hub 主專案或管理專案。如果主體不需要建立快訊政策,請考慮授予「Monitoring 檢視者」角色 (roles/monitoring.viewer)。

  • Cloud Trace 使用者 (roles/cloudtrace.user) 必須是App Hub 主專案或管理專案的成員,且是預設追蹤範圍內所列專案的成員。

  • App Hub 檢視者 (roles/apphub.viewer) 在 App Hub 主機專案或管理專案中。

後續步驟