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

啟用支援工作負載的自動應用程式監控功能,即可節省設定及維護 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 控制台中,前往「建立 Autopilot 叢集」頁面。

    前往「Create an Autopilot cluster」(建立 Autopilot 叢集) 頁面

    您也可以建立標準叢集來完成這項工作。

  2. 如果是 Autopilot 模式叢集,請按一下「進階設定」。 如果是 Standard 模式叢集,請按一下「Features」(功能)

  3. 在「Operations」(作業) 區段中,選取「Enable automatic application monitoring」(啟用自動應用程式監控)

  4. 點選「建立」

您也可以更新「叢集詳細資料」分頁的「作業」部分中「啟用自動監控應用程式功能」欄位,為現有叢集啟用自動監控應用程式功能。

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. 在「功能」部分,「自動監控應用程式功能」欄位會指出自動監控應用程式功能是否已啟用。

gcloud

描述叢集:

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

更改下列內容:

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

autoMonitoringConfig.scope: ALL

在輸出內容中,如果 autoMonitoringConfig.scope 欄位的值為 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 位置

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

autoMonitoringConfig.scope: ALL

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

查看資訊主頁

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

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

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

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

    前往「Google Kubernetes Engine」

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

  3. 按一下「可觀測性」分頁標籤。 「整合」部分會顯示叢集上執行的支援工作負載的已設定資訊主頁。

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

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

    前往資訊主頁

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

  3. 選取「整合」類別。

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

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

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

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

    前往「已部署的模型」

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

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

    • 「基礎架構用量」資訊主頁會顯示使用率指標。
    • DCGM 資訊主頁會顯示 NVIDIA Data Center GPU Manager (DCGM) 指標。
    • 如果部署作業使用 vLLM,則 模型效能資訊主頁會顯示 vLLM 模型效能指標。

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

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

您可以使用Google Cloud console、gcloud CLI 或 GKE API,為叢集停用自動應用程式監控功能。

主控台

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

    前往「Google Kubernetes Engine」

  2. 按一下叢集名稱。

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

  4. 按一下「編輯」

  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. 前往「物件瀏覽器」頁面。

    前往物件瀏覽器

  2. 在「叢集」欄位中輸入叢集名稱。

  3. 在「命名空間」欄位中輸入命名空間名稱。

  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_NAMEPodMonitoring 資源的名稱。
    • NAMESPACEPodMonitoring資源的命名空間。

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

  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 擷取的指標收費。

後續步驟