# PostgreSQL/Neo4j TCP 소켓 헬스체크 구현

**날짜**: 2026-01-15
**작성자**: Auto
**관련 파일**: 
- `admin-dashboard/backend/services/system_service.py:32-33, 346-384, 421-423`

---

## 문제 상황

PostgreSQL/Neo4j가 HTTP 체크로 실패하여 Admin Dashboard에서 오류 표시 (실제로는 정상 작동 중)

---

## 해결 방안

- `system_service.py:32-33`: PostgreSQL/Neo4j HTTP URL 제거, `check_method: "tcp"` 추가
- `system_service.py:346-384`: `check_tcp_service()` 함수 추가, 여러 호스트 시도 (`172.17.0.1` → `localhost` → `127.0.0.1`)
- `system_service.py:421-423`: `check_method == "tcp"`인 경우 TCP 체크로 분기 처리

---

## 구현 완료

- Git 커밋: `4c9f227`
- API 테스트: PostgreSQL/Neo4j 모두 `check_method: "tcp"`, `status: "healthy"` 확인

---

## 교훈

### 데이터베이스 서비스는 TCP 소켓 체크 사용
- HTTP 프로토콜이 아닌 서비스는 TCP 소켓 체크 필수
- Docker 컨테이너에서 호스트 접근 시 여러 호스트 시도로 네트워크 격리 문제 완화

### 브라우저 테스트 시 docs 확인 필수
- 로그인 비밀번호, API 엔드포인트 등 접근 정보는 코드 또는 docs에서 확인 (추측 금지)

---

## 참고

- `plans/251225_admin_dashboard_navigation_structure_refactoring.md`
- `troubleshooting/251228_admin_서비스_헬스체크_개선.md`
