배경
USE method Saturation 축 점검 중 발견. CPU/메모리는 "측정 자체는 되는데 볼 방법이 없는" 상태다.
현재 상태
monitoring/prometheus.yml:53-66이 shadowfit-ai:8000/8001/8002를 worker="0"/"1"/"2" 라벨로 각각 스크레이프한다.
ai-server/app/observability/metrics.py:37-42 주석("프로세스 지표는 공짜로 따라온다")대로 prometheus_client 기본 컬렉터가 워커별 process_cpu_seconds_total·process_resident_memory_bytes를 이미 노출한다.
- 그런데
monitoring/grafana/dashboards/엔 shadowfit-backend.json(백엔드)·cadvisor.json(컨테이너)·node-exporter-full.json(호스트) 3개뿐이고, AI 워커 전용 대시보드가 아예 없다. 워커별로 CPU/메모리가 어떻게 갈리는지(예: 3개 워커 중 하나만 튀는지) 볼 방법이 없다.
- 관련 배경:
docs/decisions/observability-overhead-under-ai-load.md:27-31이 AI가 GIL로 CPU를 거의 포화시킨다는 사실(별도 실험, rho≥0.939)을 인용하지만, 이는 일회성 실험 결과지 상시 관측이 아니다.
참고
monitoring/prometheus.yml:53-66
ai-server/app/observability/metrics.py:37-42
monitoring/grafana/dashboards/ (backend/cadvisor/node-exporter 3개뿐, AI 없음)
배경
USE method Saturation 축 점검 중 발견. CPU/메모리는 "측정 자체는 되는데 볼 방법이 없는" 상태다.
현재 상태
monitoring/prometheus.yml:53-66이shadowfit-ai:8000/8001/8002를worker="0"/"1"/"2"라벨로 각각 스크레이프한다.ai-server/app/observability/metrics.py:37-42주석("프로세스 지표는 공짜로 따라온다")대로prometheus_client기본 컬렉터가 워커별process_cpu_seconds_total·process_resident_memory_bytes를 이미 노출한다.monitoring/grafana/dashboards/엔shadowfit-backend.json(백엔드)·cadvisor.json(컨테이너)·node-exporter-full.json(호스트) 3개뿐이고, AI 워커 전용 대시보드가 아예 없다. 워커별로 CPU/메모리가 어떻게 갈리는지(예: 3개 워커 중 하나만 튀는지) 볼 방법이 없다.docs/decisions/observability-overhead-under-ai-load.md:27-31이 AI가 GIL로 CPU를 거의 포화시킨다는 사실(별도 실험, rho≥0.939)을 인용하지만, 이는 일회성 실험 결과지 상시 관측이 아니다.참고
monitoring/prometheus.yml:53-66ai-server/app/observability/metrics.py:37-42monitoring/grafana/dashboards/(backend/cadvisor/node-exporter 3개뿐, AI 없음)