SGLang

Questo documento descrive come configurare il deployment di Google Kubernetes Engine in modo da poter utilizzare Google Cloud Managed Service per Prometheus per raccogliere metriche da SGLang. Questo documento mostra come eseguire le seguenti operazioni:

Queste istruzioni si applicano solo se utilizzi la raccolta gestita con Managed Service per Prometheus. Se utilizzi la raccolta con deployment automatico, consulta la documentazione di SGLang per informazioni sull'installazione.

Queste istruzioni sono fornite come esempio e dovrebbero funzionare nella maggior parte degli ambienti Kubernetes. Se hai difficoltà a installare un'applicazione o un esportatore a causa di criteri di sicurezza o policy dell'organizzazione restrittivi, ti consigliamo di consultare la documentazione open source per ricevere assistenza.

Per informazioni su SGLang, vedi SGLang.

Prerequisiti

Per raccogliere le metriche da SGLang utilizzando Managed Service per Prometheus e la raccolta gestita, il deployment deve soddisfare i seguenti requisiti:

  • Il cluster deve eseguire Google Kubernetes Engine versione 1.28.15-gke.2475000 o successive.
  • Devi eseguire Managed Service per Prometheus con la raccolta gestita abilitata. Per maggiori informazioni, consulta la guida introduttiva alla raccolta gestita.

SGLang espone le metriche in formato Prometheus quando viene avviato con il --enable-metrics flag; non è necessario installare un esportatore separatamente. Per verificare che SGLang stia emettendo metriche sugli endpoint previsti:

  1. Configura il port forwarding utilizzando il seguente comando:
    kubectl -n NAMESPACE_NAME port-forward POD_NAME 30000
    
  2. Accedi all'endpoint localhost:30000/metrics utilizzando il browser o l'utilità curl in un'altra sessione del terminale.

Utilizzare il monitoraggio automatico delle applicazioni

SGLang supporta l'utilizzo del monitoraggio automatico delle applicazioni. Quando utilizzi il monitoraggio automatico delle applicazioni, Google Kubernetes Engine esegue le seguenti operazioni:

  • Rileva le istanze di deployment dei workload SGLang.
  • Esegue il deployment di una risorsa PodMonitoring per ogni istanza di workload rilevata.
  • Installa le dashboard di Cloud Monitoring per le metriche SGLang.

Per utilizzare il monitoraggio automatico delle applicazioni, devi abilitare la funzionalità nel cluster GKE. Puoi utilizzare la Google Cloud console, Google Cloud CLI (versione 492.0.0 o successive) o l' API GKE. Per maggiori informazioni, vedi Abilitare il monitoraggio automatico delle applicazioni.

Definire una risorsa PodMonitoring

Per il rilevamento delle destinazioni, l'operatore Managed Service per Prometheus richiede una risorsa PodMonitoring che corrisponda a SGLang nello stesso spazio dei nomi.

Puoi utilizzare la seguente configurazione 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

Assicurati che i valori dei campi port e matchLabels corrispondano a quelli dei pod SGLang che vuoi monitorare.

Per applicare le modifiche alla configurazione da un file locale, esegui il seguente comando:

kubectl apply -n NAMESPACE_NAME -f FILE_NAME

Puoi anche utilizzare Terraform per gestire le configurazioni.

Verificare la configurazione

Puoi utilizzare Metrics Explorer per verificare di aver configurato correttamente SGLang. Cloud Monitoring potrebbe richiedere uno o due minuti per importare le metriche.

Per verificare che le metriche siano state importate:

  1. Nella Google Cloud console, vai alla  Esplora metriche pagina:

    Vai a Esplora metriche

    Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoraggio.

  2. Nella barra degli strumenti del riquadro del generatore di query, seleziona il pulsante il cui nome è  PromQL.
  3. Inserisci ed esegui la seguente query:
    up{job=~"sglang|gke-ac-.*", cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}

Risoluzione dei problemi

Per informazioni sulla risoluzione dei problemi di importazione delle metriche, vedi Problemi con la raccolta dagli esportatori in Risoluzione dei problemi relativi all'importazione.