機群資源使用率指標

本頁面將深入探討機群和團隊資源使用率指標,說明這些指標的計算方式,並提供相關訣竅,協助您運用這些指標來提高資源使用率。

您可以在下列資訊主頁中查看這些指標:

這些指標說明叢集使用實體可用資源 (您付費的資源) 或您在內部部署硬體上分配的資源時,效率如何。您可以運用這項資訊,瞭解車隊或團隊範圍的資源使用效率。這有助於您在叢集和命名空間之間,最佳化叢集大小和資源分配,或最佳化應用程式團隊要求和預留資源的方式。

使用資源使用率指標

您可以參考下列提示,運用控制台中的指標找出並解決問題:

  • 如果車隊的「CPU/記憶體/磁碟總用量」在過去七天內出現異常高或低的用量,請務必查看對應的「車隊 CPU/記憶體/磁碟用量」圖表,評估異常用量是否為常態,或是否由用量尖峰所致。
  • 如果「各個叢集的最高 CPU/記憶體/磁碟使用率」顯示個別叢集的行為與其他叢集不同,請考慮進一步調查這些特定叢集。如果可以,請考慮調整叢集大小。
  • 如果「依命名空間列出 CPU/記憶體/磁碟用量最高的項目」顯示過去七天內出現異常尖峰,請考慮調查是否為特定工作負載造成尖峰。可能的解決方案是跨資源重新分配工作負載。
  • 「依機群劃分的 CPU/記憶體/磁碟使用率」可讓您觀察已用資源與要求資源之間的比例。如果兩者差異很大,可能表示應用程式團隊要求和預留的資源過多。

瞭解資源使用率指標

GKE、機群和團隊範圍總覽資訊主頁會提供下列指標,這些指標是根據機群叢集的 Cloud Monitoring 資訊計算得出。

您可以在 GKE 和車隊總覽資訊主頁中查看車隊層級指標。您可以在 GKE 和團隊總覽資訊主頁中查看團隊層級指標。

CPU 指標

  • CPU 總使用率
    • 就機群層級指標而言,時間點是已註冊至機群的所有叢集,可分配資源與已用資源的比率。特定時間範圍內所有時間點的平均值,就是機群層級指標。
      • 可分配:分配給註冊至機群的所有叢集節點的 CPU 數量。根據「node/cpu/allocatable_cores」指標計算而得。
      • 已用:所有叢集中所有容器使用的 CPU 數量,這些叢集已向機群註冊。根據「container/cpu/core_usage_time」指標計算而得。
    • 在團隊「監控」資訊主頁中,系統會計算指定時間範圍內所有時間點的平均值,而時間點是與團隊範圍相關聯的所有命名空間中,要求和使用的資源比例。
      • 要求:與團隊範圍相關聯的所有命名空間中,所有容器要求的 CPU 數量。根據「container/cpu/request_cores」指標計算而得。
      • 已用:與團隊範圍相關聯的所有命名空間中,所有容器使用的 CPU 數量。根據container/cpu/core_usage_time指標計算。
  • 車隊/團隊的 CPU 使用率
    • 機群層級:已使用、要求和分配的資源之間的關係。
      • 已用:所有叢集中所有容器使用的 CPU 數量,這些叢集已向機群註冊。根據「container/cpu/core_usage_time」指標計算而得。
      • 要求:向註冊至機群的所有叢集,要求的所有容器 CPU 數量。根據container/cpu/request_cores指標計算。
      • 可分配:分配給註冊至機群的所有叢集節點的 CPU 數量。根據「node/cpu/allocatable_cores」指標計算而得。
    • 團隊層級:資源限制與已使用和要求的資源之間的關係。
      • 已用:與團隊範圍相關聯的所有命名空間中,所有容器使用的 CPU 數量。根據container/cpu/core_usage_time指標計算。
      • 要求:與團隊範圍相關聯的所有命名空間中,所有容器要求的 CPU 數量。根據「container/cpu/request_cores」指標計算而得。
      • 限制:與團隊範圍相關聯的所有命名空間中,所有容器可用的 CPU 數量上限。根據「container/cpu/limit_cores」指標計算而得。
  • 各個叢集的最高 CPU 使用率:叢集清單會依據特定時間範圍內所有時間點的平均值排序,而時間點是特定叢集的可分配資源與已用資源比率。
  • 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」指標計算而得。
  • 各個叢集的最高記憶體使用率:叢集清單會依據特定時間範圍內所有時間點的平均值排序,而時間點是特定叢集的可分配資源與已用資源比率。
  • 記憶體使用率最高的命名空間:命名空間清單會依指定時間範圍內所有時間點的平均值排序,而時間點是特定命名空間已用資源與要求資源的比率。

磁碟指標

  • 磁碟總用量
    • 如果是機群層級指標,則是指特定時間範圍內所有時間點的平均值,其中時間點是指機群中所有叢集的可分配資源與已用資源比率。
    • 就團隊層級指標而言,這是指特定時間範圍內所有時間點的平均值,而時間點是指屬於團隊範圍的所有命名空間中,要求資源與使用資源的比率。
  • 機群/團隊的磁碟使用率
    • 機群層級:已使用、要求和分配的資源之間的關係。
    • 團隊層級:資源限制與已使用和要求的資源之間的關係。
  • 各個叢集的最高磁碟使用率:叢集清單會依據特定時間範圍內所有時間點的平均值排序,而時間點是特定叢集的可分配資源與已用資源比率。
  • 磁碟使用率最高的命名空間:命名空間清單會依特定時間範圍內所有時間點的平均值排序,而時間點是特定命名空間已用資源與要求資源的比率。

不同命名空間之間的錯誤分布 (僅限團隊層級)

命名空間清單會依指定時間範圍內錯誤記錄數量排序,記錄檔是從 Cloud Logging 收集。

各命名空間的重新啟動次數分布 (僅限團隊層級)

命名空間清單會依據指定時間範圍內容器重新啟動次數排序。根據「container/restart_count」指標計算而得。

疑難排解

無法載入新叢集的指標

如果您已建立新叢集,根據所選時間範圍,您可能會在「監控」資訊主頁中看到 No Data,也可能會看到指標。舉例來說,如果您在過去一小時內建立叢集,並選取「1 小時」或「6 小時」的時間範圍,資訊主頁可能會傳回工作負載的部分指標。不過,如果選取的時間範圍為 1 天以上,資訊主頁中可能會顯示 No data

這是因為 Cloud Monitoring 會在不同時間範圍內,以不同時間間隔收集資料。如果是 1 小時6 小時的時間範圍,資料會以 1 分鐘為週期收集。因此,如果叢集已存在幾分鐘,您就會看到這些時間範圍的指標。

如果是 1 天1 週的時間範圍,Cloud Monitoring 會以 1 小時為週期收集資料。如果叢集存在時間不到一小時,您可能不會看到這些時間範圍的資料。

如果發生這個錯誤,請在建立新叢集一段時間後,再檢查資訊主頁。