SGLang

이 문서에서는 Google Cloud Managed Service for Prometheus를 사용하여 SGLang에서 측정항목을 수집할 수 있도록 Google Kubernetes Engine 배포를 구성하는 방법을 설명합니다. 이 문서에서는 다음을 수행하는 방법을 보여줍니다.

이 안내는 관리형 컬렉션 을 Managed Service for Prometheus와 함께 사용하는 경우에만 적용됩니다. 자체 배포 컬렉션을 사용하는 경우 SGLang 문서 에서 설치 정보를 참조하세요.

이 안내는 예시로서 제공되며 대부분의 Kubernetes 환경에서 작동합니다. 제한적인 보안 또는 조직 정책으로 인해 애플리케이션 또는 내보내기 도구를 설치하는 데 문제가 있으면 지원을 위한 오픈소스 문서를 참조하는 것이 좋습니다.

SGLang에 대한 자세한 내용은 SGLang을 참조하세요.

기본 요건

Managed Service for Prometheus 및 관리형 컬렉션을 사용하여 SGLang 에서 측정항목을 수집하려면 배포가 다음 요구사항을 충족해야 합니다.

  • 클러스터가 Google Kubernetes Engine 버전 1.28.15-gke.2475000 이상을 실행 중이어야 합니다.
  • 관리형 컬렉션이 사용 설정된 상태에서 Managed Service for Prometheus를 실행 중이어야 합니다. 자세한 내용은 관리형 컬렉션 시작하기를 참조하세요.

SGLang은 Prometheus 형식의 측정항목을 --enable-metrics 플래그로 실행될 때 노출하므로, 사용자가 내보내기 도구를 별도로 설치할 필요가 없습니다. SGLang이 예상 엔드포인트에서 측정항목을 내보내는지 확인하려면 다음을 수행하세요.

  1. 다음 명령어를 사용하여 포트 전달을 설정합니다.
    kubectl -n NAMESPACE_NAME port-forward POD_NAME 30000
    
  2. 다른 터미널 세션에서 브라우저 또는 curl 유틸리티를 사용하여 localhost:30000/metrics 엔드포인트에 액세스합니다.

자동 애플리케이션 모니터링 사용

SGLang은 자동 애플리케이션 모니터링 사용을 지원합니다. 자동 애플리케이션 모니터링을 사용하면 Google Kubernetes Engine에서 다음을 수행합니다.

  • SGLang 워크로드의 배포된 인스턴스를 감지합니다.
  • 감지된 각 워크로드 인스턴스에 PodMonitoring 리소스를 배포합니다.
  • SGLang 측정항목에 Cloud Monitoring 대시보드를 설치합니다.

자동 애플리케이션 모니터링을 사용하려면 GKE 클러스터에서 이 기능을 사용 설정해야 합니다. Google Cloud 콘솔, Google Cloud CLI (버전 492.0.0 이상) 또는 GKE API를 사용할 수 있습니다. 자세한 내용은 자동 애플리케이션 모니터링 사용 설정을 참조하세요.

PodMonitoring 리소스 정의

대상 검색을 위해 Managed Service for Prometheus 연산자에는 동일한 네임스페이스의 SGLang에 해당하는 PodMonitoring 리소스가 필요합니다.

다음 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 및 matchLabels 필드의 값이 모니터링하려는 SGLang 포드의 값과 일치하는지 확인합니다.

로컬 파일에서 구성 변경사항을 적용하려면 다음 명령어를 실행합니다.

kubectl apply -n NAMESPACE_NAME -f FILE_NAME

Terraform을 사용하여 구성을 관리할 수도 있습니다.

구성 확인

측정항목 탐색기를 사용하여 SGLang을 올바르게 구성했는지 확인할 수 있습니다. Cloud Monitoring이 측정항목을 수집하는 데 1~2분 정도 걸릴 수 있습니다.

측정항목이 수집되었는지 확인하려면 다음을 수행하세요.

  1. Google Cloud 콘솔에서  측정항목 탐색기 페이지로 이동합니다.

    측정항목 탐색기로 이동

    검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Monitoring 인 결과를 선택합니다.

  2. 쿼리 빌더 창의 툴바에서 이름이  PromQL인 버튼을 선택합니다.
  3. 다음 쿼리를 입력하고 실행합니다.
    up{job=~"sglang|gke-ac-.*", cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}

문제 해결

측정항목 수집 문제 해결에 대한 자세한 내용은 수집 측 문제 해결에서 내보내기 도구의 수집 관련 문제를 참조하세요.