DOCS/journey/plans/251225_admin_dashboard_navigation_structure_refactoring.md

2.2 KiB

Admin Dashboard 네비게이션 구조 리팩토링 계획

날짜: 2025-12-25 상태: 부분 완료


계획 요약

시스템 메뉴 하위 구조 도입으로 정보 계층 명확화 및 서버별 관리 구조 개선

주요 변경사항

  • 시스템 메뉴 하위 4개 메뉴 추가 (51123 서버, 51124 서버, 전체 컨테이너, 전체 서비스)
  • 기존 컨테이너/51124 모니터 메뉴 제거 및 통합
  • 포트 사용 현황, 컨테이너 재시작 기능 추가

완료된 작업

→ 상세: troubleshooting/251225_admin_dashboard_navigation_structure_refactoring.md


남은 작업

백엔드 API 서버 구분 지원

  • get_services_status()에 서버 필터 파라미터 추가 (server: Optional[str] = None)
  • 51123 서버 서비스 목록과 51124 서버 서비스 목록 분리
  • 프론트엔드 loadSystem51123(), loadSystem51124()가 서버별 API 호출하도록 수정

즉시 해결 필요 (우선순위: 높음)

1. 서버별 서비스 상태 구분 API 구현

파일: admin-dashboard/backend/services/system_service.py

  • get_services_status()server: Optional[str] = None 파라미터 추가
  • 51123 서버: nginx, gitea, backend, postgresql, neo4j, auth-server
  • 51124 서버: rb8001, skill-email, robeing-monitor, ChromaDB
  • 프론트엔드 loadSystem51123(), loadSystem51124()가 서버별 API 호출하도록 수정

2. PostgreSQL/Neo4j 헬스체크 방식 변경

파일: admin-dashboard/backend/services/system_service.py:28-29

  • HTTP 체크 → TCP 소켓 체크로 변경
  • PostgreSQL: socket.connect_ex(('172.17.0.1', 5432)) 사용
  • Neo4j: socket.connect_ex(('172.17.0.1', 7474)) 사용
  • 참고: troubleshooting/251228_admin_서비스_헬스체크_개선.md

3. Nginx 상태 API 개선

파일: admin-dashboard/backend/routers/system.py:97-133

  • get_nginx_status() 응답에 config_valid 필드 추가
  • 프론트엔드에서 nginxStatusResponse.config_valid 참조 중 (app.js:1104)
  • sudo nginx -t 결과를 config_valid에 반영

참고

  • 251204_admin_dashboard_business_integration.md: 비즈니스 통합 계획
  • 310_전체_시스템_구조_컨테이너와_마이크로서비스.md: 서버 구성 정보