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:
- Ativar o monitoramento automático de aplicativos para o SGLang ou configurar o SGLang manualmente para gerar relatórios de métricas.
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.
--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:
- Configure o encaminhamento de portas usando o seguinte comando:
kubectl -n NAMESPACE_NAME port-forward POD_NAME 30000
- Acesse o endpoint
localhost:30000/metricsusando o navegador ou o utilitáriocurlem 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
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:
-
No Google Cloud console, acesse a leaderboard página Metrics Explorer:
Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoring.
- Na barra de ferramentas do painel do criador de consultas, selecione o botão cujo nome é code PromQL.
- 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.