本頁面將深入探討機群和團隊資源使用率指標,說明這些指標的計算方式,並提供相關訣竅,協助您運用這些指標來提高資源使用率。
您可以在下列資訊主頁中查看這些指標:
這些指標會說明叢集使用付費實體可用資源或在內部部署硬體上分配資源的效率。您可以運用這項資訊,瞭解車隊或團隊範圍的資源使用效率。這有助於您在叢集和命名空間之間,最佳化叢集大小和資源分配,或最佳化應用程式團隊要求和預留資源的方式。
使用資源使用率指標
您可以參考下列提示,運用控制台中的指標找出並解決問題:
- 如果車隊的「CPU/記憶體/磁碟總用量」在過去七天內出現異常高或低的用量,請務必查看對應的「車隊 CPU/記憶體/磁碟用量」圖表,評估異常用量是否持續發生,或是否是由用量尖峰所致。
- 如果「各個叢集的最高 CPU/記憶體/磁碟使用率」顯示個別叢集的行為與其他叢集不同,請考慮進一步調查這些特定叢集。如果可以,請考慮調整叢集大小。
- 如果「依命名空間列出 CPU/記憶體/磁碟用量最高的項目」顯示過去七天內出現異常尖峰,請考慮調查是否為特定工作負載造成尖峰。可能的解決方案是跨資源重新分配工作負載。
- 「依機群劃分的 CPU/記憶體/磁碟使用率」可讓您觀察已用資源與要求資源之間的比例。如果兩者差異很大,可能表示應用程式團隊要求和預留的資源過多。
瞭解資源使用率指標
下列指標會顯示在 GKE Enterprise、機群和團隊範圍的總覽資訊主頁中,並根據機群叢集 Cloud Monitoring 的資訊計算得出。
您可以在 GKE Enterprise 和機群總覽資訊主頁中查看機群層級指標。您可以在 GKE Enterprise 和團隊總覽資訊主頁中查看團隊層級指標。
CPU 指標
- CPU 總使用率:
- 就機群層級指標而言,時間點是已分配資源與已用資源的比率,而時間視窗則是註冊至機群的所有叢集。
- 可分配:分配給註冊至機群的所有叢集內所有節點的 CPU 數量。根據「
node/cpu/allocatable_cores
」指標計算而得。 - 已用:所有註冊至機群的叢集中,所有容器使用的 CPU 數量。根據「
container/cpu/core_usage_time
」指標計算而得。
- 可分配:分配給註冊至機群的所有叢集內所有節點的 CPU 數量。根據「
- 在團隊「監控」資訊主頁中,系統會計算指定時間範圍內所有時間點的平均值,而時間點是與團隊範圍相關聯的所有命名空間中,要求資源與使用資源的比率。
- 要求:與團隊範圍相關聯的所有命名空間中,所有容器要求的 CPU 數量。根據「
container/cpu/request_cores
」指標計算而得。 - 已用:與團隊範圍相關聯的所有命名空間中,所有容器使用的 CPU 數量。根據
container/cpu/core_usage_time
指標計算。
- 要求:與團隊範圍相關聯的所有命名空間中,所有容器要求的 CPU 數量。根據「
- 就機群層級指標而言,時間點是已分配資源與已用資源的比率,而時間視窗則是註冊至機群的所有叢集。
- 車隊/團隊的 CPU 使用率:
- 機群層級:已使用、要求和分配的資源之間的關係。
- 已用:所有註冊至機群的叢集中,所有容器使用的 CPU 數量。根據「
container/cpu/core_usage_time
」指標計算而得。 - 要求:向註冊至機群的所有叢集,要求的所有容器 CPU 數量。根據
container/cpu/request_cores
指標計算得出。 - 可分配:分配給註冊至機群的所有叢集內所有節點的 CPU 數量。根據「
node/cpu/allocatable_cores
」指標計算而得。
- 已用:所有註冊至機群的叢集中,所有容器使用的 CPU 數量。根據「
- 團隊層級:資源限制與已使用和要求的資源之間的關係。
- 已用:與團隊範圍相關聯的所有命名空間中,所有容器使用的 CPU 數量。根據
container/cpu/core_usage_time
指標計算得出。 - 要求:與團隊範圍相關聯的所有命名空間中,所有容器要求的 CPU 數量。根據「
container/cpu/request_cores
」指標計算而得。 - 限制:與團隊範圍相關聯的所有命名空間中,所有容器可用的 CPU 數量上限。根據「
container/cpu/limit_cores
」指標計算而得。
- 已用:與團隊範圍相關聯的所有命名空間中,所有容器使用的 CPU 數量。根據
- 機群層級:已使用、要求和分配的資源之間的關係。
- 各個叢集的最高 CPU 使用率:叢集清單會依據特定時間範圍內所有時間點的平均值排序,而時間點是特定叢集的可分配資源與已用資源比率。
- 可分配:分配給叢集中所有節點的 CPU 數量。根據「
node/cpu/allocatable_cores
」指標計算而得。 - 已用:叢集中所有容器使用的 CPU 數量。
根據「
container/cpu/core_usage_time
」指標計算而得。
- 可分配:分配給叢集中所有節點的 CPU 數量。根據「
- CPU 使用率最高的命名空間:命名空間清單會根據特定時間範圍內所有時間點的平均值排序,而時間點是特定命名空間已使用和要求資源的比率。
- 已用:命名空間中所有容器使用的 CPU 數量。
根據「
container/cpu/core_usage_time
」指標計算而得。 - 要求:命名空間中所有容器要求的 CPU 數量。根據「
container/cpu/request_cores
」指標計算而得。
- 已用:命名空間中所有容器使用的 CPU 數量。
根據「
記憶體指標
- 記憶體總用量:
- 如果是機群層級指標,這項指標是指指定時間範圍內所有時間點的平均值,而時間點是指機群中所有叢集的可分配資源與已用資源比例。
- 可分配:分配給所有節點的記憶體容量,涵蓋註冊至機群的所有叢集。根據
node/memory/allocatable_byte
指標計算。 - 已用:註冊至機群的所有叢集內,所有容器使用的不可逐出記憶體容量。根據「
container/memory/used_bytes
」指標計算而得。
- 可分配:分配給所有節點的記憶體容量,涵蓋註冊至機群的所有叢集。根據
- 就團隊層級指標而言,這是指特定時間範圍內所有時間點的平均值,而時間點是指屬於團隊範圍的所有命名空間中,要求和使用的資源比例。
- 要求:與範圍相關聯的所有命名空間中,所有容器要求的記憶體量。根據「
container/memory/request_bytes
」指標計算而得。 - 已用:與範圍相關聯的所有命名空間中,所有容器使用的不可逐出記憶體容量。根據「
container/memory/used_bytes
」指標計算而得。
- 要求:與範圍相關聯的所有命名空間中,所有容器要求的記憶體量。根據「
- 如果是機群層級指標,這項指標是指指定時間範圍內所有時間點的平均值,而時間點是指機群中所有叢集的可分配資源與已用資源比例。
- 各機群/團隊的記憶體使用率:
- 機群層級:已使用、要求和分配的資源之間的關係。
- 已用:註冊至機群的所有叢集內,所有容器使用的不可逐出記憶體容量。根據「
container/memory/used_bytes
」指標計算而得。 - 要求:向註冊至機群的所有叢集內所有容器要求的記憶體量。根據
container/memory/request_bytes
指標計算得出。 - 可分配:分配給所有節點的記憶體容量,涵蓋註冊至機群的所有叢集。根據
node/memory/allocatable_byte
指標計算得出。
- 已用:註冊至機群的所有叢集內,所有容器使用的不可逐出記憶體容量。根據「
- 團隊層級:資源限制與已使用和要求的資源之間的關係。
- 已用:與範圍相關聯的所有命名空間中,所有容器使用的不可逐出記憶體容量。根據「
container/memory/used_bytes
」指標計算而得。 - 要求:與範圍相關聯的所有命名空間中,所有容器要求的記憶體量。根據「
container/memory/request_bytes
」指標計算而得。 - 限制:與範圍相關聯的所有命名空間中,所有容器可用的記憶體容量上限。根據「
container/memory/limit_bytes
」指標計算而得。
- 已用:與範圍相關聯的所有命名空間中,所有容器使用的不可逐出記憶體容量。根據「
- 機群層級:已使用、要求和分配的資源之間的關係。
- 各個叢集的最高記憶體使用率:叢集清單會依據特定時間範圍內所有時間點的平均值排序,而時間點是特定叢集的可分配資源與已用資源之間的比例。
- 可分配:分配給叢集中所有節點的記憶體容量。根據「
node/memory/allocatable_byte
」指標計算而得。 - 已用:叢集中所有容器使用的不可逐出記憶體量。根據「
container/memory/used_bytes
」指標計算而得。
- 可分配:分配給叢集中所有節點的記憶體容量。根據「
- 記憶體使用率最高的命名空間:命名空間清單會依據特定時間範圍內所有時間點的平均值排序,而時間點是特定命名空間所用資源與要求資源的比率。
- 已用:命名空間中所有容器使用的不可逐出記憶體量。根據「
container/memory/used_bytes
」指標計算而得。 - 要求:命名空間中所有容器要求的記憶體容量。根據「
container/memory/request_bytes
」指標計算而得。
- 已用:命名空間中所有容器使用的不可逐出記憶體量。根據「
磁碟指標
- 磁碟總用量:
- 如果是機群層級指標,則是指特定時間範圍內所有時間點的平均值,其中時間點是指屬於機群的所有叢集之間,可分配資源與已用資源的比率。
- 可分配:分配給註冊至機群的所有叢集中所有節點的本機暫存空間量。根據「
node/ephemeral_storage/allocatable_bytes
」指標計算而得。 - 已用:所有叢集內所有容器使用的本機暫時儲存空間量,這些叢集已向車隊註冊。根據「
container/ephemeral_storage/used_bytes
」指標計算而得。
- 可分配:分配給註冊至機群的所有叢集中所有節點的本機暫存空間量。根據「
- 就團隊層級指標而言,這是指特定時間範圍內所有時間點的平均值,而時間點是指屬於團隊範圍的所有命名空間中,要求和使用的資源比例。
- 要求:與範圍相關聯的所有命名空間中,所有容器要求的本機暫時性儲存空間量。根據「
container/ephemeral_storage/request_bytes
」指標計算而得。 - 已用:與範圍相關聯的所有命名空間中,所有容器使用的本機暫存空間量。根據「
container/ephemeral_storage/used_bytes
」指標計算而得。
- 要求:與範圍相關聯的所有命名空間中,所有容器要求的本機暫時性儲存空間量。根據「
- 如果是機群層級指標,則是指特定時間範圍內所有時間點的平均值,其中時間點是指屬於機群的所有叢集之間,可分配資源與已用資源的比率。
- 機群/團隊的磁碟使用率:
- 機群層級:已使用、要求和分配的資源之間的關係。
- 已用:所有叢集內所有容器使用的本機暫時儲存空間量,這些叢集已向車隊註冊。根據「
container/ephemeral_storage/used_bytes
」指標計算而得。 - 要求:向車隊註冊的所有叢集中,所有容器要求的本機暫時性儲存空間量。根據「
container/ephemeral_storage/request_bytes
」指標計算而得。 - 可分配:分配給註冊至機群的所有叢集中所有節點的本機暫存空間量。根據「
node/ephemeral_storage/allocatable_bytes
」指標計算而得。
- 已用:所有叢集內所有容器使用的本機暫時儲存空間量,這些叢集已向車隊註冊。根據「
- 團隊層級:資源限制與已使用和要求的資源之間的關係。
- 已用:與範圍相關聯的所有命名空間中,所有容器使用的本機暫存空間量。根據「
container/ephemeral_storage/used_bytes
」指標計算而得。 - 要求:與範圍相關聯的所有命名空間中,所有容器要求的本機暫時性儲存空間量。根據「
container/ephemeral_storage/request_bytes
」指標計算而得。 - 限制:與範圍相關聯的所有命名空間中,所有容器可用的本機臨時儲存空間上限。根據「
container/ephemeral_storage/limit_bytes
」指標計算而得。
- 已用:與範圍相關聯的所有命名空間中,所有容器使用的本機暫存空間量。根據「
- 機群層級:已使用、要求和分配的資源之間的關係。
- 各個叢集的最高磁碟使用率:叢集清單會依據特定時間範圍內所有時間點的平均值排序,而時間點是特定叢集的可分配資源與已用資源之間的比例。
- 可分配:分配給叢集中所有節點的本機暫存空間量。根據「
node/ephemeral_storage/allocatable_bytes
」指標計算而得。 - 已用:叢集中所有容器使用的本機暫存空間量。根據「
container/ephemeral_storage/used_bytes
」指標計算而得。
- 可分配:分配給叢集中所有節點的本機暫存空間量。根據「
- 磁碟使用率最高的命名空間:命名空間清單會依特定時間範圍內所有時間點的平均值排序,而時間點是特定命名空間所用資源與要求資源的比率。
- 已用:命名空間中所有容器使用的本機暫存空間量。根據「
container/ephemeral_storage/used_bytes
」指標計算而得。 - 要求:命名空間中所有容器要求的本機暫存空間量。根據「
container/ephemeral_storage/request_bytes
」指標計算而得。
- 已用:命名空間中所有容器使用的本機暫存空間量。根據「
不同命名空間之間的錯誤分布 (僅限團隊層級)
命名空間清單會依指定時間範圍內錯誤記錄數量排序,記錄檔是從 Cloud Logging 收集。
各命名空間的重新啟動次數分布 (僅限團隊層級)
命名空間清單會依據指定時間範圍內容器重新啟動次數排序。根據「container/restart_count」指標計算而得。
疑難排解
無法載入新叢集的指標
如果您已建立新叢集,根據所選時間範圍,您可能會在「監控」資訊主頁中看到 No Data
,也可能會看到指標。舉例來說,如果您在過去一小時內建立叢集,並選取「1 小時」或「6 小時」的時間範圍,資訊主頁可能會傳回工作負載的部分指標。不過,如果選取 1 天以上的時間範圍,資訊主頁中可能會顯示 No data
。
這是因為 Cloud Monitoring 會在不同時間範圍內,以不同時間間隔收集資料。如果是 1 小時和 6 小時的時間範圍,資料會以 1 分鐘為週期收集。因此,如果叢集存在幾分鐘,您就會看到這些時間範圍的指標。
如果時間範圍為 1 天和 1 週,Cloud Monitoring 會以 1 小時為週期收集資料。如果叢集存在時間不到一小時,您可能不會看到這些時間範圍的資料。
如果發生這個錯誤,請在建立新叢集一段時間後,再查看資訊主頁。