SGLang

In diesem Dokument wird beschrieben, wie Sie Ihr Google Kubernetes Engine-Deployment so konfigurieren, dass Sie Google Cloud Managed Service for Prometheus verwenden können, um Messwerte aus SGLang zu erfassen. Dieses Dokument enthält Anleitungen für folgende Aufgaben:

Diese Anleitung gilt nur, wenn Sie die verwaltete Sammlung mit Managed Service for Prometheus verwenden. Wenn Sie eine selbst bereitgestellte Sammlung verwenden, finden Sie Informationen zur Installation in der SGLang-Dokumentation.

Diese Anleitung dient als Beispiel und sollte in den meisten Kubernetes-Umgebungen funktionieren. Wenn Sie aufgrund von restriktiven Sicherheits- oder Organisationsrichtlinien Probleme beim Installieren einer Anwendung oder eines Exporters haben, empfehlen wir Ihnen, die Open Source-Dokumentation für Support zu nutzen.

Informationen zu SGLang finden Sie unter SGLang.

Vorbereitung

Zum Erfassen von Messwerten aus SGLang mithilfe von Managed Service for Prometheus und einer verwalteten Erfassung muss Ihr Deployment die folgenden Anforderungen erfüllen:

  • Ihr Cluster muss Google Kubernetes Engine Version 1.28.15-gke.2475000 oder höher ausführen.
  • Sie müssen Managed Service for Prometheus mit aktivierter verwalteter Sammlung ausführen. Weitere Informationen finden Sie unter Erste Schritte mit verwalteter Sammlung.

SGLang stellt Messwerte im Prometheus-Format bereit, wenn es mit dem --enable-metrics Flag gestartet wird. Sie müssen keinen Exporter separat installieren. So prüfen Sie, ob SGLang Messwerte an den erwarteten Endpunkten ausgibt:

  1. Richten Sie mit dem folgenden Befehl die Portweiterleitung ein:
    kubectl -n NAMESPACE_NAME port-forward POD_NAME 30000
    
  2. Greifen Sie über den Browser oder das Dienstprogramm curl in einer anderen Terminalsitzung auf den Endpunkt localhost:30000/metrics zu.

Automatisches Anwendungsmonitoring verwenden

SGLang unterstützt die Verwendung des automatischen Anwendungsmonitorings. Wenn Sie das automatische Anwendungsmonitoring verwenden, führt Google Kubernetes Engine folgende Schritte aus:

  • Stellt bereitgestellte Instanzen von SGLang-Arbeitslasten fest.
  • Stellt für jede erkannte Arbeitslastinstanz eine PodMonitoring-Ressource bereit.
  • Installiert Cloud Monitoring-Dashboards für die SGLang Messwerte.

Wenn Sie das automatische Anwendungsmonitoring verwenden möchten, müssen Sie die Funktion in Ihrem GKE-Cluster aktivieren. Sie können die Google Cloud Console, die Google Cloud CLI (Version 492.0.0 oder höher) oder die GKE API verwenden. Weitere Informationen finden Sie unter Automatisches Anwendungsmonitoring aktivieren.

PodMonitoring-Ressource definieren

Für die Zielerkennung benötigt der Managed Service for Prometheus-Operator eine PodMonitoring-Ressource, die SGLang im selben Namespace entspricht.

Sie können die folgende PodMonitoring-Konfiguration verwenden:


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

Achten Sie darauf, dass die Werte der Felder port und matchLabels mit den SGLang-Pods übereinstimmen, die Sie beobachten möchten.

Führen Sie den folgenden Befehl aus, um Konfigurationsänderungen aus einer lokalen Datei anzuwenden:

kubectl apply -n NAMESPACE_NAME -f FILE_NAME

Sie können Ihre Konfigurationen auch mit Terraform verwalten.

Konfiguration prüfen

Mit dem Metrics Explorer können Sie prüfen, ob SGLang richtig konfiguriert ist. Es kann ein oder zwei Minuten dauern, bis Cloud Monitoring Ihre Messwerte aufgenommen hat.

So prüfen Sie, ob die Messwerte aufgenommen wurden:

  1. Rufen Sie in der Google Cloud Console die  Metrics Explorer Seite auf:

    Zu Metrics Explorer

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.

  2. Klicken Sie in der Symbolleiste des Bereichs „Query Builder“ auf die Schaltfläche mit dem Namen  PromQL.
  3. Geben Sie die folgende Abfrage ein und führen Sie sie aus:
    up{job=~"sglang|gke-ac-.*", cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}

Fehlerbehebung

Informationen zur Fehlerbehebung bei Problemen mit der Messwertaufnahme finden Sie unter Probleme mit der Erfassung über Exporter unter Fehlerbehebung bei Problemen mit der Aufnahme.