SGLang

本文說明如何設定 Google Kubernetes Engine 部署作業,以便使用 Google Cloud Managed Service for Prometheus 收集 SGLang 的指標。本文說明如何執行下列操作:

只有在搭配 Managed Service for Prometheus 使用 代管收集時,才適用這些操作說明。如果您使用自行部署的集合,請參閱 SGLang 說明文件,瞭解安裝資訊。

這些操作說明僅供參考,適用於大多數 Kubernetes 環境。 如果因安全性或組織政策限制而無法安裝應用程式或匯出工具,建議您參閱開放原始碼文件尋求支援。

如要瞭解 SGLang,請參閱 SGLang。

必要條件

如要使用 Managed Service for Prometheus 和代管收集功能,從 SGLang 收集指標,部署作業必須符合下列規定:

  • 叢集必須執行 Google Kubernetes Engine 1.28.15-gke.2475000 以上版本。
  • 您必須執行 Managed Service for Prometheus,並啟用代管收集功能。詳情請參閱「 開始使用代管集合」一文。

使用 --enable-metrics 標記啟動時,SGLang 會公開 Prometheus 格式的指標,您不必另外安裝匯出工具。如要確認 SGLang 是否在預期的端點發出指標,請按照下列步驟操作:

  1. 使用下列指令設定通訊埠轉送:
    kubectl -n NAMESPACE_NAME port-forward POD_NAME 30000
    
  2. 使用瀏覽器或另一個終端機工作階段中的 curl 公用程式,存取 localhost:30000/metrics 端點。

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

SGLang 支援使用自動監控應用程式功能。使用自動應用程式監控功能時,Google Kubernetes Engine 會執行下列操作:

  • 偵測已部署的 SGLang 工作負載執行個體。
  • 為偵測到的每個工作負載執行個體部署 PodMonitoring 資源。
  • 安裝 SGLang 指標的 Cloud Monitoring 資訊主頁。

如要使用自動應用程式監控功能,必須在 GKE 叢集上啟用這項功能。您可以使用 Google Cloud 控制台、Google Cloud CLI (492.0.0 以上版本) 或 GKE API。詳情請參閱「啟用自動應用程式監控功能」。

定義 PodMonitoring 資源

如要探索目標,Managed Service for Prometheus 運算子需要與同一命名空間中 SGLang 對應的 PodMonitoring 資源。

您可以使用下列 PodMonitoring 設定:


apiVersion: monitoring.googleapis.com/v1
kind: PodMonitoring
metadata:
  name: sglang
  labels:
    app.kubernetes.io/name: sglang
    app.kubernetes.io/part-of: google-cloud-managed-prometheus
spec:
  endpoints:
  - port: 30000
    scheme: http
    interval: 15s
    path: /metrics
  selector:
    matchLabels:
      app: sglang-server

確認 port 和 matchLabels 欄位的值與要監控的 SGLang Pod 相符。

如要從本機檔案套用設定變更,請執行下列指令:

kubectl apply -n NAMESPACE_NAME -f FILE_NAME

您也可以使用 Terraform 管理設定。

驗證設定

您可以使用 Metrics Explorer,確認 SGLang 設定正確無誤。Cloud Monitoring 可能需要一兩分鐘才能擷取指標。

如要確認指標已擷取,請按照下列步驟操作:

  1. 前往 Google Cloud 控制台的「Metrics Explorer」頁面:

    前往 Metrics Explorer

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。

  2. 在查詢建立工具窗格的工具列中,選取名稱為 「PromQL」PromQL的按鈕。
  3. 輸入並執行下列查詢:
    up{job=~"sglang|gke-ac-.*", cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}

疑難排解

如要瞭解如何排解指標擷取問題,請參閱「 排解擷取端問題」中的「 從匯出工具收集資料時發生問題」。