# 사이트 점검 이슈 목록 (2026-05-26)
점검 URL: https://galaxis.ayuriel.duckdns.org/
점검 일시: 2026-05-26
---
## 🔴 심각 (즉시 처리)
### [ISSUE-1] ETFPriceCollector 좀비 프로세스 + 오늘 배치 미실행
- **증상**: `ETFPriceCollector`가 2026-05-25 오전 9:00:32부터 `running` 상태로 24시간 이상 멈혀 있음
- **영향**:
- 오늘(2026-05-26) 오전 9시 수집 배치 전체 미실행 (StockCollector, PriceCollector, ValuationCollector, SectorCollector, ETFCollector, ETFPriceCollector)
- KJB 스크리닝 오늘 신호 0건
- **확인 위치**: 데이터 수집 페이지 → 최근 작업 이력
- **처리 방법**:
1. 좀비 프로세스 강제 종료 (DB job 레코드 상태를 `failed`로 업데이트 또는 프로세스 kill)
2. 오늘 수집 배치 수동 실행 (데이터 수집 페이지 각 항목 "실행" 버튼 또는 백엔드 직접 호출)
3. 원인 분석: 왜 ETFPriceCollector가 멈췄는지 로그 확인
### [ISSUE-2] 데이터 탐색 메뉴 → 404
- **증상**: 사이드바 "데이터 탐색" 클릭 시 `/admin/data/explorer` → 404 오류
- **처리 방법**: 해당 라우트/페이지가 미구현이거나 경로 변경된 것 — 프론트엔드 라우트 확인 및 복구
---
## 🟠 UI 버그
### [ISSUE-3] 상단 헤더 제목이 모든 서브 페이지에서 "대시보드"로 고정
- **증상**: 헤더 `
` 또는 상단 텍스트가 페이지에 무관하게 "대시보드"로 표시됨
- **영향 페이지**: KJB 스크리닝, 매매 신호, AI 에이전트, 트레이딩 저널, 퇴직연금, 포지션 사이징, 설정
- **정상 페이지**: 대시보드, 전략, 백테스트, 데이터 수집
- **처리 방법**: 레이아웃 컴포넌트에서 현재 경로에 따라 헤더 제목을 동적으로 설정하는 로직 수정
### [ISSUE-4] 대시보드 자산 배분 파이 차트 미렌더링
- **증상**: 자산 배분 섹션에 범례(KODEX 200미국채혼합 45.4% 등)만 표시, 파이 차트가 빈 공간
- **처리 방법**: 차트 라이브러리 렌더링 오류 또는 데이터 형식 문제 확인 (콘솔 에러 확인 필요)
---
## 🟡 경미 (확인 필요)
### [ISSUE-5] `daily_snapshots` 건수 항상 0
- **증상**: 매일 `success` 상태로 실행되지만 건수가 항상 0
- **처리 방법**: 정상 동작인지(스냅샷 쿼리 결과가 0인 게 맞는지) 또는 실제 버그인지 로직 확인
---
## 처리 현황
| ID | 항목 | 우선순위 | 상태 |
|----|------|----------|------|
| ISSUE-1 | ETFPriceCollector 좀비 + 배치 미실행 | 🔴 즉시 | ✅ 코드 수정 완료 (운영 DB 조치 별도 필요) |
| ISSUE-2 | 데이터 탐색 404 | 🔴 높음 | ✅ 코드 정상 확인 (배포 재빌드로 해결) |
| ISSUE-3 | 헤더 제목 "대시보드" 고정 버그 | 🟠 중간 | ✅ new-header.tsx pageTitles 추가 |
| ISSUE-4 | 대시보드 파이 차트 미렌더링 | 🟠 중간 | ✅ DonutChart Legend 분리 수정 |
| ISSUE-5 | daily_snapshots 건수 0 | 🟡 낮음 | ✅ PriceService ETFPrice fallback 추가 |
## ISSUE-1 운영 조치 (서버에서 직접 실행)
```sql
-- 좀비 ETFPriceCollector 레코드 강제 종료
UPDATE job_logs
SET status = 'failed', finished_at = NOW(),
error_msg = 'Manually killed: stuck for 24h+'
WHERE job_name = 'ETFPriceCollector' AND status = 'running';
```
또는 새 API: `POST /api/admin/collect/reset-stuck`
이후 데이터 수집 페이지에서 각 collector 수동 실행.