瞭解如何監控 Google Distributed Cloud 連結網路方案工作負載的健康狀態、正常運作時間和升級情況。如要進一步瞭解如何設定監控功能及可用指標,請參閱「記錄和指標」。
監控工作負載健康狀態和正常運作時間
您負責監控在 Distributed Cloud Connected 上執行的工作負載 (容器和虛擬機器) 的健康狀態和正常運作時間。
容器工作負載
如要監控部署的容器化工作負載健康狀態和正常運作時間,建議使用 Prometheus 指標解決方案。您可以設定 Prometheus,從 Pod 和服務抓取指標。Google 會自動監控及管理 Google 代管的系統服務。如要進一步瞭解如何設定 Prometheus,請參閱使用 Prometheus 收集指標。
請使用下列重要指標監控容器工作負載。如果您使用 Prometheus,則須負責部署及管理 Kube State Metrics,才能為工作負載公開下列特定指標:
kube_pod_status_phase:在Failed或Unknown階段監控 Pod。kube_pod_container_status_waiting_reason:找出停滯在CrashLoopBackOff或ImagePullBackOff狀態的 Pod。container_cpu_usage_seconds_total和container_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 中設定自己的快訊政策,以瞭解影響工作負載或本機環境的問題。
如要在 Cloud Monitoring 中設定快訊,請使用 Google Cloud 控制台或 Cloud Monitoring API。如需詳細操作說明,請參閱「建立快訊政策」。您可以根據「記錄檔和指標」中記錄的指標建立快訊政策。
如果您使用 Prometheus 收集指標,請在 Prometheus 設定中定義標準 Prometheus 警報規則。
您可以針對下列問題設定快訊:
| 問題 | 說明 | 監控系統 | 詳細資料 |
|---|---|---|---|
| 工作負載停機時間 | Pod 或 VM 無法啟動或進入當機迴圈 | Prometheus | 如果是容器工作負載,請在 kube_pod_status_phase 上建立快訊,偵測處於 Failed 或 Unknown 階段的 Pod。您也可以在 kube_pod_container_status_waiting_reason 等於 CrashLoopBackOff 或 ImagePullBackOff 時發出快訊。 |
| Cloud Monitoring | 如要追蹤 virt-launcher Pod 的狀態,請使用 Cloud Monitoring 中的標準 Kubernetes 容器指標,為在 Pod 中執行的 VM 工作負載設定快訊。 |
||
| 工作負載資源耗盡 | 磁碟用量即將達到上限,或工作負載的記憶體或 CPU 使用率偏高 | Prometheus | 如果是容器工作負載,請在 container_cpu_usage_seconds_total 和 container_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/uptime 和 edgecontainer.googleapis.com/machine/restart_count 指標設定快訊。詳情請參閱「排解電腦重新啟動問題」。 |
Distributed Cloud connected 硬體由 Google 管理。您無法透過 SSH 存取機器,也無法控管主機作業系統。如果系統根據機器層級指標 (例如網路連線或重新啟動) 觸發快訊,您只能檢查實體電源、纜線、本機網路和防火牆設定,或是將問題提報給 Google 支援團隊。