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:
- Abilitare il monitoraggio automatico delle applicazioni per SGLang o configurare manualmente SGLang per segnalare le metriche.
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.
--enable-metrics flag; non è necessario installare un esportatore separatamente.
Per verificare che SGLang stia emettendo metriche sugli endpoint previsti:
- Configura il port forwarding utilizzando il seguente comando:
kubectl -n NAMESPACE_NAME port-forward POD_NAME 30000
- Accedi all'endpoint
localhost:30000/metricsutilizzando il browser o l'utilitàcurlin 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
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:
-
Nella Google Cloud console, vai alla leaderboard Esplora metriche pagina:
Se utilizzi la barra di ricerca per trovare questa pagina, seleziona il risultato con il sottotitolo Monitoraggio.
- Nella barra degli strumenti del riquadro del generatore di query, seleziona il pulsante il cui nome è code PromQL.
- 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.