本文說明如何設定 Google Kubernetes Engine 部署作業,以便使用 Google Cloud Managed Service for Prometheus 收集 SGLang 的指標。本文說明如何執行下列操作:
- 啟用 SGLang 的自動應用程式監控,或手動設定 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 是否在預期的端點發出指標,請按照下列步驟操作:
- 使用下列指令設定通訊埠轉送:
kubectl -n NAMESPACE_NAME port-forward POD_NAME 30000
- 使用瀏覽器或另一個終端機工作階段中的
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 可能需要一兩分鐘才能擷取指標。
如要確認指標已擷取,請按照下列步驟操作:
-
前往 Google Cloud 控制台的leaderboard「Metrics Explorer」頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
- 在查詢建立工具窗格的工具列中,選取名稱為 code「PromQL」PromQL的按鈕。
- 輸入並執行下列查詢:
up{job=~"sglang|gke-ac-.*", cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}
疑難排解
如要瞭解如何排解指標擷取問題,請參閱「 排解擷取端問題」中的「 從匯出工具收集資料時發生問題」。