이 문서에서는 Google Cloud Managed Service for Prometheus를 사용하여 SGLang에서 측정항목을 수집할 수 있도록 Google Kubernetes Engine 배포를 구성하는 방법을 설명합니다. 이 문서에서는 다음을 수행하는 방법을 보여줍니다.
- SGLang에 자동 애플리케이션 모니터링을 사용 설정하거나 측정항목을 보고하도록 SGLang을 수동으로 설정합니다.
이 안내는 관리형 컬렉션 을 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를 실행 중이어야 합니다. 자세한 내용은 관리형 컬렉션 시작하기를 참조하세요.
--enable-metrics 플래그로 실행될 때 노출하므로, 사용자가 내보내기 도구를 별도로 설치할 필요가 없습니다.
SGLang이 예상
엔드포인트에서 측정항목을 내보내는지 확인하려면 다음을 수행하세요.
- 다음 명령어를 사용하여 포트 전달을 설정합니다.
kubectl -n NAMESPACE_NAME port-forward POD_NAME 30000
- 다른 터미널 세션에서 브라우저 또는
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분 정도 걸릴 수 있습니다.
측정항목이 수집되었는지 확인하려면 다음을 수행하세요.
-
Google Cloud 콘솔에서 leaderboard 측정항목 탐색기 페이지로 이동합니다.
검색창을 사용하여 이 페이지를 찾은 경우 부제목이 Monitoring 인 결과를 선택합니다.
- 쿼리 빌더 창의 툴바에서 이름이 code PromQL인 버튼을 선택합니다.
- 다음 쿼리를 입력하고 실행합니다.
up{job=~"sglang|gke-ac-.*", cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}
문제 해결
측정항목 수집 문제 해결에 대한 자세한 내용은 수집 측 문제 해결에서 내보내기 도구의 수집 관련 문제를 참조하세요.