本文說明 Google Kubernetes Engine (GKE) 的可觀測性功能,可用於監控應用程式健康狀態和可用性。
為確保 GKE 上的應用程式可用性和可靠性,您需要監控應用程式的健康狀態和效能。GKE 提供指標和資訊主頁等可觀測性功能,可深入瞭解容器化工作負載,協助您及早偵測問題並提升效能。這些功能特別適合 AI/機器學習應用程式等要求嚴苛的工作負載,因為這類工作負載非常重視控制權和效能。
本文適用於想監控工作負載的 IT 管理員、開發人員和營運人員。如要進一步瞭解 Google Cloud 內容中提及的常見角色和工作範例,請參閱「常見的 GKE 使用者角色和工作」。
預設可觀測性功能
根據預設,GKE 叢集會執行下列操作:
- 將系統記錄、稽核記錄和應用程式記錄傳送至 Cloud Logging。
- 將系統指標傳送至 Cloud Monitoring。
- 使用 Google Cloud Managed Service for Prometheus 收集設定的第三方和使用者定義指標,然後傳送至 Cloud Monitoring。Google Cloud Managed Service for Prometheus 可讓您使用 Prometheus 監控工作負載並接收快訊,無須大規模管理及操作 Prometheus。
自訂及強化資料收集
根據預設,GKE 會為每個叢集建立 Logging 存放區,用於儲存記錄檔。您可以控管要從 GKE 叢集傳送哪些記錄和指標 (如有) 至 Cloud Logging 和 Cloud Monitoring。
您也可以控管是否要啟用 Google Cloud Managed Service for Prometheus。
對於 GKE Autopilot 叢集,您無法停用 Cloud Monitoring 和 Cloud Logging 整合功能。
其他觀測能力指標
您可以使用下列方法等方式,收集其他可觀測性指標:
啟用一或多個可觀測性指標套件,例如:
- 控制層指標: 收集 Kubernetes API 伺服器、排程器和控制器管理工具的指標,監控 Kubernetes 元件的健康狀態。這些指標是定義服務水準目標 (SLO) 時,判斷 Service Health 的實用信號。
- Kube 狀態指標: 監控 Kubernetes 物件的健康狀態,例如部署、節點和 Pod。
- cAdvisor/Kubelet 指標:監控容器和
kubelet的健康狀態。
設定 Google Cloud Managed Service for Prometheus,從 Kubernetes 元件收集特定指標。如果您想收集的指標不屬於指標套件,或是只想收集指標套件中的部分指標,這個方法就很有用。
第三方和使用者定義的指標
如要監控叢集上執行的第三方應用程式 (例如 Postgres、MongoDB 和 Redis),請搭配使用 Prometheus 匯出工具和 Google Cloud Managed Service for Prometheus。
您也可以編寫自訂匯出工具,監控健康狀態和效能的其他信號。
使用收集到的資料
在開發、部署及維護應用程式時,您可以使用收集到的資料分析應用程式健康狀態、偵錯、排解問題及測試。
GKE 提供內建的觀測能力功能,可協助您快速入門:
在 GKE 可觀測性資訊主頁上,查看叢集和工作負載的收集資料。您可以自訂提供的資訊主頁,以達到下列目的:
- 查看重要的叢集指標,例如 CPU 使用率、記憶體使用率和待處理事件數量。
- 依據基礎架構、工作負載或服務查看叢集。
- 檢查命名空間、節點、工作負載、服務、Pod 和容器。
- 查看 Pod 和容器的指標隨時間的變化,以及記錄項目。
您也可以視需求建立自己的資訊主頁,或匯入 Grafana 資訊主頁。
在 Google Cloud 控制台中查看 AI/機器學習工作負載的詳細資料,包括 JobSet、RayJob、PyTorchJob 等資源,以及用於推論服務的部署作業。
在「觀測能力」分頁中,您可以建立建議的警告政策,以便在發生問題時收到通知。如要進一步瞭解快訊,請參閱「快訊總覽」。
建立 SLO,使用收集到的 GKE 指標監控服務成效目標。
使用 GKE 應對手冊排解常見問題,例如無法排程的 Pod,以及在重新啟動後不斷當機的容器。
使用「Logs Explorer」、「Metrics Explorer」和「Error Reporting」等工具,探索及分析資料。
查看 GKE 稽核記錄,這些記錄會記錄管理活動和存取權,屬於 Cloud 稽核記錄的一部分。稽核記錄政策會決定要記錄哪些事件,以及記錄項目屬於管理員活動記錄還是資料存取記錄。
其他功能
GKE 與其他 Google Cloud 服務整合,協助您監控及管理叢集和工作負載。
使用資安態勢資訊主頁,根據我們的標準和業界最佳做法找出安全疑慮。
查看洞察資料和建議,最佳化叢集。
使用網路政策記錄,協助排解 Kubernetes 網路政策問題。如果您使用 GKE Dataplane V2,系統會內建網路政策記錄功能。
定價
與 Cloud Logging (包括 Cloud 稽核記錄)、Cloud Monitoring 和 Google Cloud Managed Service for Prometheus 整合的定價,取決於收集的記錄和指標數量。詳情請參閱「定價」頁面。
「其他功能」中列出的其他服務提供的功能,價格另計。 Google Cloud 詳情請參閱這些說明文件頁面的「定價」部分。
後續步驟
觀察叢集。 瞭解如何查看資訊主頁、整理叢集資訊,以及查看警告詳細資料。
在 GKE 叢集節點上啟用詳細的 OS 層級稽核記錄,以及如何將記錄匯出至 Cloud Logging。
如要進一步瞭解如何使用可觀測性功能排解 GKE 問題,請參閱「使用 Cloud Logging 進行歷史分析」和「使用 Cloud Monitoring 執行主動監控」。