監控 Distributed Cloud connected

瞭解如何監控 Google Distributed Cloud 連結網路方案工作負載的健康狀態、正常運作時間和升級情況。如要進一步瞭解如何設定監控功能及可用指標,請參閱「記錄和指標」。

監控工作負載健康狀態和正常運作時間

您負責監控在 Distributed Cloud Connected 上執行的工作負載 (容器和虛擬機器) 的健康狀態和正常運作時間。

容器工作負載

如要監控部署的容器化工作負載健康狀態和正常運作時間,建議使用 Prometheus 指標解決方案。您可以設定 Prometheus,從 Pod 和服務抓取指標。Google 會自動監控及管理 Google 代管的系統服務。如要進一步瞭解如何設定 Prometheus,請參閱使用 Prometheus 收集指標

請使用下列重要指標監控容器工作負載。如果您使用 Prometheus,則須負責部署及管理 Kube State Metrics,才能為工作負載公開下列特定指標:

  • kube_pod_status_phase:在 FailedUnknown 階段監控 Pod。
  • kube_pod_container_status_waiting_reason:找出停滯在 CrashLoopBackOffImagePullBackOff 狀態的 Pod。
  • container_cpu_usage_seconds_totalcontainer_memory_working_set_bytes (來自 cAdvisor):監控資源耗用量,避免發生記憶體不足 (OOM) 問題。

虛擬機器工作負載

在 Distributed Cloud Connected 中,虛擬機器 (VM) 會在標準 Kubernetes Pod 內執行,通常會加上 virt-launcher- 前置字元。監控 VM 健康狀態和狀態的主要方式,是檢查 VirtualMachine 自訂資源狀態,或監控 VM 內的應用程式指標。

使用基礎 virt-launcher Pod 指標做為次要指標,瞭解下列詳細資料:

  • 資源用量:監控啟動器 Pod 的 CPU 和記憶體用量,確保 VM 有足夠的資源。
  • Pod 階段:追蹤啟動器 Pod 階段,找出無法啟動或當機的 VM。

如要調整指派給 VM 的資源,請修改 VM 自訂資源規格。請勿直接修改基礎 virt-launcher Pod YAML,因為這些是由平台管理。任何直接變更都會遭到覆寫,或導致對帳錯誤。

如要排解 VM 停滯在待處理狀態的問題,請參閱「排解停滯在待處理狀態的虛擬機器」。

監控 Distributed Cloud connected 升級作業

使用 Cloud Monitoring 指標和 gcloud 指令,監控 Distributed Cloud connected 軟體升級的進度和狀態。升級作業由 Google 安排及執行。監控功能僅用於瞭解情況,以及規劃工作負載遷移作業。

如需如何檢查升級作業是否正在進行、監控升級狀態,以及排解升級失敗問題的詳細操作說明,請參閱「排解軟體升級問題」。

多叢集監控

如果您管理許多 Distributed Cloud connected 叢集,建議使用 Cloud Monitoring 匯總及篩選指標。

  • 使用資源標籤:匯出至 Cloud Monitoring 的指標包含可識別來源的標籤。可用的標籤會因資源類型而異:

    • 如果是叢集和容器指標 (例如 k8s_container),主要標籤包含下列值:

      • project_id:代管叢集的 Google Cloud 專案。
      • location:叢集註冊的 Google Cloud 區域。
      • cluster_name:叢集名稱。
    • 如果是硬體指標 (例如 edgecontainer.googleapis.com/machine),主要標籤包括下列值:

      • resource_container:與硬體相關聯的 Google Cloud 專案。
      • location:Distributed Cloud 連線區域的註冊 Google Cloud 區域。
      • machine_id:機器的 ID。

      硬體指標不會直接包含 cluster_name 標籤。

  • 建立自訂資訊主頁:建立資訊主頁,顯示整個機群的主要健康指標。主要健康狀態指標包括連線、VM 狀態和資源用量。如要在單一圖表中顯示多個叢集的資料,請使用萬用字元或分組依據作業。

  • 設定多叢集快訊:設定適用於多個叢集的快訊政策。舉例來說,您可以建立快訊,在任何叢集中的任何機器失去連線時觸發。

快訊策略

監控及維護 Distributed Cloud connected 是共同責任。本節說明 Google 會發出哪些快訊,以及如何設定自己的快訊政策。

Google 警報的內容

Google 會持續監控基礎架構,在下列情況中,系統會採取行動,並視需要通知你:

  • 硬體故障:電源供應器故障、風扇故障、過熱或磁碟故障,例如磁碟達到備用閾值或使用壽命終止。
  • 連線問題:Distributed Cloud connected 區域與 Google Cloud完全中斷連線。
  • 控制層健康狀態:Kubernetes 控制層或 Google 代管系統服務發生故障。
  • 升級失敗:自動升級程序停滯或失敗。

設定警告

在 Cloud Monitoring 或 Prometheus 中設定自己的快訊政策,以瞭解影響工作負載或本機環境的問題。

您可以針對下列問題設定快訊:

問題 說明 監控系統 詳細資料
工作負載停機時間 Pod 或 VM 無法啟動或進入當機迴圈 Prometheus 如果是容器工作負載,請在 kube_pod_status_phase 上建立快訊,偵測處於 FailedUnknown 階段的 Pod。您也可以在 kube_pod_container_status_waiting_reason 等於 CrashLoopBackOffImagePullBackOff 時發出快訊。
Cloud Monitoring 如要追蹤 virt-launcher Pod 的狀態,請使用 Cloud Monitoring 中的標準 Kubernetes 容器指標,為在 Pod 中執行的 VM 工作負載設定快訊。
工作負載資源耗盡 磁碟用量即將達到上限,或工作負載的記憶體或 CPU 使用率偏高 Prometheus 如果是容器工作負載,請在 container_cpu_usage_seconds_totalcontainer_memory_working_set_bytes (來自 cAdvisor) 上設定閾值快訊,找出即將達到資源限制的 Pod。
Cloud Monitoring 如要瞭解機器儲存空間,請監控機器磁碟使用率指標 edgecontainer.googleapis.com/machine/disk/utilization,偵測節點儲存空間何時即將達到容量上限。
區域網路問題 電腦上的網路介面中斷連線 Cloud Monitoring 監控機器網路連線正常指標 edgecontainer.googleapis.com/machine/network/up 是否為 false
網際網路連線中斷 Cloud Monitoring 監控網路連線指標 edgecontainer.googleapis.com/machine/network/connectivity 是否為 false
重新啟動電腦 電腦無預警重新啟動或關機 Cloud Monitoring 使用 edgecontainer.googleapis.com/machine/uptimeedgecontainer.googleapis.com/machine/restart_count 指標設定快訊。詳情請參閱「排解電腦重新啟動問題」。

Distributed Cloud connected 硬體由 Google 管理。您無法透過 SSH 存取機器,也無法控管主機作業系統。如果系統根據機器層級指標 (例如網路連線或重新啟動) 觸發快訊,您只能檢查實體電源、纜線、本機網路和防火牆設定,或是將問題提報給 Google 支援團隊。