본문 바로가기
문서 목차
ORKESTRIXAI 플랫폼

ai_service_metrics

정보 — 요건 표준 포맷(Prometheus exposition 등)으로 노출된 워크로드 메트릭을 발견(discovery)·수집(scrape)하는 모니터링 시스템을 제공한다.

QUANTUM C&S

정보 — 요건

표준 포맷(Prometheus exposition 등)으로 노출된 워크로드 메트릭을 발견(discovery) · 수집(scrape)하는 모니터링 시스템을 제공한다.

카테고리: 관측성 (Observability) · 수준: MUST · 상태: Implemented

적용 솔루션

QKS는 Prometheus(kube-prometheus-stack) 기반 모니터링을 제공하며, ServiceMonitor/PodMonitor로 워크로드 메트릭을 자동 발견 · 수집합니다. KServe 위에서 서빙 중인 vLLM 추론 서버들의 /metrics가 실제 수집되고 있음을 아래에서 증명합니다.

증명 (명령어 + 출력)

1. Prometheus 운영 확인

$ kubectl get pods -n qks-monitoring -l app.kubernetes.io/name=prometheus -o wide
NAME                                     READY   STATUS    RESTARTS   AGE   IP              NODE    NOMINATED NODE   READINESS GATES
prometheus-qks-monitoring-prometheus-0   2/2     Running   3          85d   10.244.29.220   qcs06   <none>           <none>

# captured: 2026-07-02T01:50:29Z

2. 수집 대상 discovery 설정 (ServiceMonitor/PodMonitor)

$ kubectl get servicemonitor,podmonitor -A
NAMESPACE              NAME                                                          AGE
gpu-operator           servicemonitor.monitoring.coreos.com/gpu-operator             126d
gpu-operator           servicemonitor.monitoring.coreos.com/nvidia-dcgm-exporter     106d
qks-monitoring         servicemonitor.monitoring.coreos.com/qks-monitoring-…         394d
…(전체 30여 개 중 일부, AI 서버용 PodMonitor는 아래 targets에서 확인)

# captured: 2026-07-02T01:50:29Z

3. 실제 수집 중인 AI 서버 타겟 (health=up)

$ curl -s 'http://localhost:9090/api/v1/targets?state=active' | grep -oE '"job":"[^"]+"|"health":"[^"]+"' | head -60
"job":"podMonitor/qks-monitoring/KosmosAI-kserve-mlserver-ai-KosmosAI/0"
"health":"up"
"job":"podMonitor/qks-monitoring/KosmosAI-kserve-mlserver/0"
"health":"up"
"job":"podMonitor/qks-monitoring/KosmosAI-kserve-vllm/0"
"health":"up"
…(이하 생략)

# captured: 2026-07-02T01:50:29Z

→ KServe mlserver · vLLM 워크로드 전용 PodMonitor 타겟들이 health=up 상태로 수집 중.

4. AI 서버(vLLM) 워크로드 메트릭 쿼리

$ curl -s 'http://localhost:9090/api/v1/query?query=vllm:e2e_request_latency_seconds_count'
{"status":"success","data":{"resultType":"vector","result":[
  {"metric":{"__name__":"vllm:e2e_request_latency_seconds_count","container":"kserve-container","isvc":"qwen3-qwen3-embedding-0-6b","job":"qks-monitoring/KosmosAI-kserve-vllm","model_name":"Qwen3-Embedding-0.6B","namespace":"ai-KosmosAI","runtime":"kserve-vllm"},"value":[1782957031.343,"1004750"]},
  {"metric":{…,"isvc":"qwen-qwen3-reranker-8b-serving","model_name":"Qwen3-Reranker-8B",…},"value":[1782957031.343,"525"]},
  {"metric":{…,"isvc":"qwen-qwen3-6-27b-fp8-serving","model_name":"SAMANDA-V1",…},"value":[1782957031.343,"30909"]},
  {"metric":{…,"isvc":"opendatalab-mineru2-5-pro-2604-1-2b-serving","model_name":"MinerU2.5-Pro-2604-1.2B",…},"value":[1782957031.343,"882"]}]}}

# captured: 2026-07-02T01:50:29Z

→ 운영 중인 vLLM 추론 서비스 4개의 표준 메트릭이 별도 작업 없이 수집됨 (라벨 일부 축약).

관련 링크

  • 재현 스크립트: conformance/10-ai-service-metrics/ai-service-metrics-verify.sh