為工作負載設定自動應用程式監控功能

只要為支援的工作負載啟用自動應用程式監控功能,就能節省設定及維護 Google Kubernetes Engine (GKE) 監控應用程式的時間和精力。

自動監控應用程式的運作方式

啟用自動應用程式監控功能後,GKE 會偵測支援的工作負載部署執行個體,並為每個偵測到的工作負載執行個體部署 PodMonitoring 資源。

自動監控應用程式功能也會安裝立即可用的資訊主頁,方便您監控應用程式。指標是由 Google Cloud Managed Service for Prometheus 收集。

支援的工作負載

自動監控應用程式支援下列工作負載:

AI 模型伺服器的指標抓取間隔為 15 秒。非 AI 工作負載的抓取間隔為 30 秒。

如要進一步瞭解其他可手動設定的現成觀測能力解決方案,請參閱 Google Cloud Observability 說明文件中的「匯出工具設定簡介」。

事前準備

開始之前,請確認您已執行下列工作:

  • 啟用 Google Kubernetes Engine API。
  • 啟用 Google Kubernetes Engine API
  • 如要使用 Google Cloud CLI 執行這項工作,請安裝並初始化 gcloud CLI。如果您先前已安裝 gcloud CLI,請執行 gcloud components update 指令,取得最新版本。較舊的 gcloud CLI 版本可能不支援執行本文件中的指令。

自動監控應用程式功能規定

如要啟用自動監控應用程式功能,GKE 叢集必須符合下列需求:

啟用自動監控應用程式功能

您可以使用 Google Cloud 控制台、Google Cloud CLI 或 GKE API,為新的或現有的 GKE 叢集啟用自動應用程式監控功能。

部署新的工作負載或為叢集啟用自動應用程式監控功能後,系統最多需要 10 分鐘,才會開始抓取支援工作負載的指標。

控制台

如要為新叢集啟用自動監控應用程式功能,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Google Kubernetes Engine」頁面。

    前往「Google Kubernetes Engine」

  2. 按一下「建立」,然後在「標準」或「Autopilot」部分中,按一下「設定」。

  3. 在導覽窗格中,按一下「Advanced settings」(進階設定),然後執行下列任一操作:

    • Autopilot:在「Operations」(作業) 區段中,選取「Enable Automatic Application Monitoring」(啟用自動監控應用程式功能)。
    • 標準:在「Google Cloud Managed Service for Prometheus」列中,按一下 「Edit configuration」(編輯設定),選取「Enable Automatic Application Monitoring」(啟用 Automatic Application Monitoring),然後按一下「Save」(儲存)。
  4. 點選「建立」。

您也可以更新「Cluster Details」(叢集詳細資料) 分頁中「Operations」(作業) 區段的「Enable automatic application monitoring」(啟用自動監控應用程式功能) 欄位,為現有叢集啟用自動監控應用程式功能。

gcloud

如要為新叢集啟用自動監控應用程式功能,請使用 --auto-monitoring-scope=ALL 選項:

gcloud container clusters create-auto CLUSTER_NAME \
    --location=COMPUTE_LOCATION \
    --auto-monitoring-scope=ALL

更改下列內容:

您也可以使用 gcloud container clusters update 指令更新現有叢集。

API

如要為新叢集啟用自動監控應用程式功能,請向方法 clusters.create 發出 POST 要求:

POST https://container.googleapis.com/v1/projects/PROJECT_ID/locations/COMPUTE_LOCATION/clusters

{
  "cluster": {
    "name": "CLUSTER_NAME",
    "initialNodeCount": 1,
    "monitoringConfig": {
      "managedPrometheusConfig": {
        "enabled": true,
        "autoMonitoringConfig": {
          "scope": "ALL"
        }
      }
    }
  }
}

更改下列內容:

  • PROJECT_ID:您的 Google Cloud 專案 ID。
  • CLUSTER_NAME:新叢集的名稱。
  • COMPUTE_LOCATION:叢集的 Compute Engine 位置。

判斷是否已啟用自動監控應用程式功能

您可以使用 Google Cloud 控制台、gcloud CLI 或 GKE API,判斷叢集是否已啟用自動應用程式監控功能。

控制台

請執行下列步驟:

  1. 前往 Google Cloud 控制台的「Google Kubernetes Engine」頁面:

    前往「Google Kubernetes Engine」

  2. 在叢集清單中,按一下叢集名稱。

  3. 在「Features」(功能) 專區中,「Automatic application monitoring」(自動監控應用程式) 欄位會指出是否已啟用自動監控應用程式功能。

gcloud

描述叢集:

gcloud container clusters describe CLUSTER_NAME \
    --location=COMPUTE_LOCATION \
    --format='value(monitoringConfig.managedPrometheusConfig.autoMonitoringConfig.scope)'

更改下列內容:

輸出結果會與下列內容相似:

ALL

在輸出內容中,如果傳回的值為 ALL,表示自動監控應用程式功能已啟用。否則系統會停用自動監控應用程式功能。

API

向 clusters.get 方法傳送 GET 要求:

GET https://container.googleapis.com/v1/projects/PROJECT_ID/locations/COMPUTE_LOCATION/clusters/CLUSTER_NAME

更改下列內容:

  • PROJECT_ID:您的 Google Cloud 專案 ID。
  • CLUSTER_NAME:叢集名稱。
  • COMPUTE_LOCATION:叢集的 Compute Engine 位置。

輸出結果會與下列內容相似:

{
  "monitoringConfig": {
    "managedPrometheusConfig": {
      "autoMonitoringConfig": {
        "scope": "ALL"
      }
    }
  }
}

在 JSON 輸出內容中,如果 autoMonitoringConfig 內的 scope 欄位值為 "ALL",表示已啟用自動應用程式監控功能。否則,系統會停用自動監控應用程式功能。

查看資訊主頁

啟用自動應用程式監控功能後,GKE 會安裝立即可用的資訊主頁,用於監控部署至叢集的支援工作負載。如果叢集從未執行支援的工作負載,您就不會看到相關資訊主頁。

資訊主頁,顯示自動監控工作負載的遙測資料

如要在 Google Kubernetes Engine 頁面中查看自動監控工作負載的遙測資料,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Google Kubernetes Engine」頁面:

    前往「Google Kubernetes Engine」

  2. 按一下叢集名稱,查看自動監控工作負載的資訊主頁。

  3. 點選「觀測能力」分頁標籤。「整合」部分會顯示叢集上執行的支援工作負載的已設定資訊主頁。

如要在 Cloud Monitoring 頁面中,查看自動監控工作負載的遙測資訊主頁,請按照下列步驟操作:

  1. 前往「Dashboards」(資訊主頁) 頁面。

    前往資訊主頁

  2. 按一下「Dashboard List」(資訊主頁清單) 分頁標籤。

  3. 選取「整合」類別。

  4. 按一下資訊主頁名稱。例如:RabbitMQ Prometheus 總覽。

AI/機器學習觀測能力指標的資訊主頁

如要查看 AI/ML 觀測指標的資訊主頁,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Deployed Models」(已部署模型) 頁面:

    前往「Deployed Models」(已部署的模型)

  2. 如要查看特定部署作業的詳細資料,包括指標、記錄和資訊主頁,請按一下清單中的模型名稱。

  3. 如要查看觀測能力資訊主頁,請點選「Observability」(觀測能力) 分頁標籤。如果出現提示,請點選「啟用」,啟用叢集的指標收集功能。

    • 「基礎架構使用情形」資訊主頁會顯示使用率指標。
    • DCGM 資訊主頁會顯示 NVIDIA 資料中心 GPU Manager (DCGM) 指標。
    • 如果部署作業使用 vLLM,則可使用「Model performance」(模型效能) 資訊主頁,查看 vLLM 模型效能指標。

停用自動監控應用程式功能

如果停用叢集的自動應用程式監控功能,GKE 建立的 PodMonitoring 資源會保持不變,且 GKE 會繼續監控現有的支援工作負載。GKE 會停止自動監控您部署至叢集的支援工作負載新執行個體。如要停止監控現有支援的工作負載,您必須刪除 GKE 建立的PodMonitoring資源。如果重新啟用叢集的自動應用程式監控功能,GKE 會偵測並協調先前建立的 PodMonitoring 資源。

如要停用叢集的自動應用程式監控功能,可以使用Google Cloud 控制台、gcloud CLI 或 GKE API。

控制台

  1. 前往 Google Cloud 控制台的「Google Kubernetes Engine」頁面:

    前往「Google Kubernetes Engine」

  2. 按一下叢集名稱。

  3. 在「功能」清單中,找出「自動應用程式監控」欄位。

  4. 點選「Edit」(編輯)。

  5. 取消選取「啟用自動監控應用程式功能」。

  6. 按一下 [儲存]。

gcloud

使用 --auto-monitoring-scope=NONE 選項更新叢集:

gcloud container clusters update CLUSTER_NAME \
    --location=COMPUTE_LOCATION \
    --auto-monitoring-scope=NONE

更改下列內容:

API

對 clusters.update 方法發出 PUT 要求:

PUT https://container.googleapis.com/v1/projects/PROJECT_ID/locations/COMPUTE_LOCATION/clusters/CLUSTER_NAME

{
  "update": {
    "desiredMonitoringConfig": {
      "managedPrometheusConfig": {
        "autoMonitoringConfig": {
          "scope": "NONE"
        }
      }
    }
  }
}

更改下列內容:

  • PROJECT_ID:您的 Google Cloud 專案 ID。
  • CLUSTER_NAME:叢集名稱。
  • COMPUTE_LOCATION:叢集的 Compute Engine 位置。

自訂支援工作負載的自動監控功能

您可以自訂支援工作負載個別執行個體的監控設定,或選擇不監控支援工作負載的個別執行個體。

如要為已部署的支援工作負載執行個體自訂 PodMonitoring 資源,而不影響其他工作負載的自動應用程式監控功能,您必須從自動應用程式監控功能中排除該執行個體,然後更新設定或取代與目標工作負載執行個體相關聯的 PodMonitoring 資源。

如果您更新或刪除 GKE 建立的 PodMonitoring 資源,但未排除相關聯的工作負載,GKE 會還原 PodMonitoring 資源,確保在監控其他支援的工作負載時能持續運作。

找出工作負載的 PodMonitoring 資源

您可以使用 Google Cloud 控制台,找出 GKE 為工作負載建立的PodMonitoring資源:

  1. 前往「Object browser」(物件瀏覽器) 頁面。

    前往「Object browser」(物件瀏覽器)

  2. 在「Cluster」(叢集) 欄位中,輸入叢集名稱。

  3. 在「Namespace」(命名空間) 欄位中,輸入命名空間的名稱。

  4. 在「Object Kinds」(物件種類) 篩選器中,選取「PodMonitoring」(Pod 監控)。

  5. 在 monitoring.googleapis.com 下方,選取「PodMonitoring」。

  6. 按一下物件名稱即可檢查物件。中繼資料標籤 source:gke-auto-monitoring 表示 GKE 建立了 PodMonitoring 資源。

從自動監控中排除已部署的執行個體

如果不想監控已部署的支援工作負載執行個體,或想自訂工作負載的監控設定,可以將工作負載排除在自動應用程式監控之外。

如要排除工作負載,請在目標工作負載設定中新增中繼資料標籤 allow-gke-auto-monitoring: false。舉例來說,下列資訊清單描述了不受自動應用程式監控功能監控的 RabbitMQ StatefulSet:

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: rabbitmq
  labels:
    allow-gke-auto-monitoring: "false"
spec:
  serviceName: rabbitmq
  replicas: 3

排除工作負載執行個體後,您可以刪除 GKE 為工作負載建立的PodMonitoring 資源。如果您刪除或修改 PodMonitoring 資源,GKE 不會嘗試還原該資源。如果您使用中繼資料標籤 allow-gke-auto-monitoring: false 部署新的工作負載,GKE 不會為該工作負載建立 PodMonitoring 資源。

刪除工作負載的監控設定

如要停止監控工作負載,或想為工作負載部署自訂 PodMonitoring 資源,可以刪除監控設定。

如要刪除個別工作負載的自動應用程式監控設定,請按照下列步驟操作:

  1. 將工作負載排除在自動應用程式監控範圍之外。
  2. 找出 GKE 為工作負載建立的 PodMonitoring 資源。
  3. 刪除 PodMonitoring 資源:

    kubectl delete podmonitoring POD_MONITORING_NAME -n NAMESPACE
    

    更改下列內容:

    • POD_MONITORING_NAME:PodMonitoring 資源的名稱。
    • NAMESPACE:PodMonitoring資源的命名空間。

如要刪除叢集中所有工作負載的自動應用程式監控設定,請按照下列步驟操作:

  1. 停用自動監控應用程式功能。
  2. 刪除叢集中所有具有中繼資料標籤 source:gke-auto-monitoring 的 PodMonitoring 資源:

    kubectl delete podmonitorings -l source=gke-auto-monitoring --all-namespaces
    

定價

自動應用程式監控功能可自動設定及安裝支援工作負載的現成資訊主頁,無須額外付費。不過,Monitoring 會根據 Monitoring 定價,針對 Google Cloud Managed Service for Prometheus 擷取的指標收費。

後續步驟