SGLang

Neste documento, descrevemos como configurar a implantação do Google Kubernetes Engine para usar o Google Cloud Managed Service para Prometheus a fim de coletar métricas do SGLang. Esta página mostra como fazer o seguinte:

Estas instruções se aplicam somente ao usar a coleção gerenciada com o Serviço Gerenciado para Prometheus. Se você estiver usando a coleção autoimplantada, consulte a documentação do SGLang para ver informações da instalação.

Estas instruções são um exemplo e devem funcionar na maioria dos ambientes do Kubernetes. Se você estiver com problemas para instalar um aplicativo ou exportador devido a políticas restritivas de segurança ou da organização, recomendamos consultar a documentação de código aberto para receber suporte.

Para mais informações sobre o SGLang, consulte SGLang.

Pré-requisitos

Para coletar métricas do SGLang usando o Serviço Gerenciado para Prometheus e a coleção gerenciada, sua implantação precisa atender aos seguintes requisitos:

  • Seu cluster precisa executar a versão 1.28.15-gke.2475000 ou posterior do Google Kubernetes Engine.
  • É necessário executar o Serviço Gerenciado para Prometheus com a coleta gerenciada ativada. Para mais informações, consulte Começar a usar a coleta gerenciada.

O SGLang expõe métricas no formato do Prometheus quando iniciado com a --enable-metrics flag. Não é necessário instalar um exportador separadamente. Para verificar se o SGLang está emitindo métricas nos endpoints esperados, faça o seguinte:

  1. Configure o encaminhamento de portas usando o seguinte comando:
    kubectl -n NAMESPACE_NAME port-forward POD_NAME 30000
    
  2. Acesse o endpoint localhost:30000/metrics usando o navegador ou o utilitário curl em outra sessão do terminal.

Usar o monitoramento automático de aplicativos

O SGLang oferece suporte ao uso do monitoramento automático de aplicativos. Ao usar o monitoramento automático de aplicativos, o Google Kubernetes Engine faz o seguinte:

  • Detecta instâncias implantadas de cargas de trabalho do SGLang.
  • Implanta um recurso PodMonitoring para cada instância de carga de trabalho detectada.
  • Instala painéis do Cloud Monitoring para as métricas do SGLang

Para usar o monitoramento automático de aplicativos, ative o recurso no cluster do GKE. Use o Google Cloud console, a Google Cloud CLI (versão 492.0.0 ou mais recente) ou a API GKE. Para mais informações, consulte Ativar o monitoramento automático de aplicativos.

Definir um recurso do PodMonitoring

Para descobrir o destino, o operador do Serviço Gerenciado para Prometheus requer um recurso PodMonitoring que corresponde ao SGLang no mesmo namespace.

É possível usar a seguinte configuração do 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

Verifique se os valores dos campos port e matchLabels correspondem aos dos pods do SGLang que você quer monitorar.

Para aplicar as alterações de configuração de um arquivo local, execute o seguinte comando:

kubectl apply -n NAMESPACE_NAME -f FILE_NAME

Também é possível usar o Terraform para gerenciar as configurações.

Verificar a configuração

Use o Metrics Explorer para verificar se você configurou corretamente o SGLang. Pode levar um ou dois minutos para que o Cloud Monitoring ingira as métricas.

Para verificar se as métricas foram ingeridas, faça o seguinte:

  1. No Google Cloud console, acesse a  página Metrics Explorer:

    Acesse o Metrics Explorer

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.

  2. Na barra de ferramentas do painel do criador de consultas, selecione o botão cujo nome é  PromQL.
  3. Insira e execute a seguinte consulta:
    up{job=~"sglang|gke-ac-.*", cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}

Solução de problemas

Para resolver problemas de transferências de métricas, consulte Problemas com a coleta de exportadores em Resolver problemas no processamento.