SGLang

このドキュメントでは、Google Cloud Managed Service for Prometheus を使用して SGLang から指標を収集できるように、Google Kubernetes Engine の Deployment を構成する方法について説明します。このドキュメントでは、次の方法について説明します。

以下の手順は、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 を実行する必要があります。詳細については、マネージド コレクションを使ってみるをご覧ください。

SGLang は、--enable-metrics フラグを指定して起動すると、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 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 分かかる場合があります。

指標が取り込まれていることを確認します。

  1. Google Cloud コンソールで Metrics explorer のページに移動します。

    [Metrics Explorer] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが [Monitoring] である結果を選択します。

  2. クエリビルダー ペインのツールバーで、[ PromQL] という名前のボタンを選択します。
  3. 次のクエリを入力して実行します。
    up{job=~"sglang|gke-ac-.*", cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}

トラブルシューティング

指標の取り込みに関する問題のトラブルシューティングについては、取り込み側の問題のトラブルシューティングのエクスポータからの収集に関する問題をご覧ください。