このドキュメントでは、Google Cloud Managed Service for Prometheus を使用して SGLang から指標を収集できるように、Google Kubernetes Engine の Deployment を構成する方法について説明します。このドキュメントでは、次の方法について説明します。
- SGLang の自動アプリケーション モニタリングを有効にするか、指標を報告するように SGLang を手動で設定します。
以下の手順は、Managed Service for Prometheus でマネージド コレクションを使用している場合にのみ適用されます。セルフデプロイ コレクションを使用している場合は、SGLang のドキュメントでインストール情報をご覧ください。
以下の手順は一例であり、ほとんどの Kubernetes 環境で機能します。セキュリティ ポリシーや組織のポリシーの制限により、アプリケーションやエクスポータのインストールに問題がある場合は、オープンソース ドキュメントでサポート情報を確認することをおすすめします。
SGLang については、SGLang をご覧ください。
前提条件
Managed Service for Prometheus とマネージド コレクションを使用して SGLang から指標を収集するには、Deployment が次の要件を満たしている必要があります。
- クラスタで Google Kubernetes Engine バージョン 1.28.15-gke.2475000 以降を実行している必要があります。
- マネージド コレクションを有効にして、Managed Service for Prometheus を実行する必要があります。詳細については、マネージド コレクションを使ってみるをご覧ください。
--enable-metrics フラグを指定して起動すると、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 Operator には、同じ Namespace にある 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~2 分かかる場合があります。
指標が取り込まれていることを確認します。
-
Google Cloud コンソールで leaderboard Metrics explorer のページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] である結果を選択します。
- クエリビルダー ペインのツールバーで、[code PromQL] という名前のボタンを選択します。
- 次のクエリを入力して実行します。
up{job=~"sglang|gke-ac-.*", cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}
トラブルシューティング
指標の取り込みに関する問題のトラブルシューティングについては、取り込み側の問題のトラブルシューティングのエクスポータからの収集に関する問題をご覧ください。