SGLang

Ce document explique comment configurer le déploiement de Google Kubernetes Engine afin de pouvoir collecter des métriques à partir de SGLang à l'aide de Google Cloud Managed Service pour Prometheus. Ce document vous explique comment :

Ces instructions ne s'appliquent que si vous utilisez une collecte gérée avec Managed Service pour Prometheus. Si vous utilisez une collecte auto-déployée, consultez la documentation de SGLang pour obtenir des informations sur l'installation.

Ces instructions sont fournies à titre d'exemple et devraient fonctionner dans la plupart des environnements Kubernetes. Si vous rencontrez des difficultés pour installer une application ou un exportateur en raison de règles de sécurité ou de règles d'administration restrictives, nous vous recommandons de consulter la documentation Open Source pour obtenir de l'aide.

Pour en savoir plus sur SGLang, consultez SGLang.

Prérequis

Pour collecter des métriques à partir de SGLang en utilisant Managed Service pour Prometheus et la collecte gérée, votre déploiement doit répondre aux exigences suivantes :

  • Votre cluster doit exécuter Google Kubernetes Engine version 1.28.15-gke.2475000 ou ultérieure.
  • Vous devez exécuter Managed Service pour Prometheus en ayant activé la collecte gérée. Pour en savoir plus, consultez la page Premiers pas avec la collecte gérée.

SGLang expose les métriques au format Prometheus lorsqu'il est lancé avec l' --enable-metrics indicateur. Vous n'avez pas besoin d'installer un exportateur séparément. Pour vérifier que SGLang émet des métriques sur les points de terminaison attendus, procédez comme suit :

  1. Configurez le transfert de port à l'aide de la commande suivante :
    kubectl -n NAMESPACE_NAME port-forward POD_NAME 30000
    
  2. Accédez au point de terminaison localhost:30000/metrics à l'aide du navigateur ou de l'utilitaire curl dans une autre session de terminal.

Utiliser la surveillance automatique des applications

SGLang est compatible avec la surveillance automatique des applications. Lorsque vous utilisez la surveillance automatique des applications, Google Kubernetes Engine effectue les opérations suivantes :

  • Détecte les instances déployées des charges de travail SGLang.
  • Déploie une ressource PodMonitoring pour chaque instance de charge de travail détectée.
  • Installe des tableaux de bord Cloud Monitoring pour les métriques SGLang.

Pour utiliser la surveillance automatique des applications, vous devez activer la fonctionnalité sur votre cluster GKE. Vous pouvez utiliser la Google Cloud console, Google Cloud CLI (version 492.0.0 ou ultérieure) ou l' API GKE. Pour en savoir plus, consultez Activer la surveillance automatique des applications.

Définir une ressource PodMonitoring

Pour la découverte des cibles, l'opérateur Managed Service pour Prometheus doit disposer d'une ressource PodMonitoring correspondant à SGLang dans le même espace de noms.

Vous pouvez utiliser la configuration PodMonitoring suivante :


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

Vérifiez que les valeurs des champs port et matchLabels correspondent à celles des pods SGLang que vous souhaitez surveiller.

Pour appliquer les modifications de configuration à partir d'un fichier local, exécutez la commande suivante :

kubectl apply -n NAMESPACE_NAME -f FILE_NAME

Vous pouvez également utiliser Terraform pour gérer vos configurations.

Vérifier la configuration

Vous pouvez utiliser l'explorateur de métriques pour vérifier que vous avez correctement configuré SGLang. L'ingestion de vos métriques par Cloud Monitoring peut prendre une ou deux minutes.

Pour vérifier que les métriques sont ingérées, procédez comme suit :

  1. Dans la Google Cloud console, accédez à la  page Explorateur de métriques :

    Accéder à l'Explorateur de métriques

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Dans la barre d'outils du volet de création de requêtes, sélectionnez le bouton nommé  PromQL.
  3. Saisissez et exécutez la requête suivante :
    up{job=~"sglang|gke-ac-.*", cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}

Dépannage

Pour en savoir plus sur la résolution des problèmes d'ingestion de métriques, consultez la section Problèmes liés à la collecte par les exportateurs dans la section Résoudre les problèmes côté ingestion.