feat(nas,macmini): 수집기 코드 추가 및 DB 스키마 단순화\n\n- Mac Mini SSH 기반 원격 수집기 추가 (/api/mac-mini/*)\n- DS1525+ DSM API 기반 수집기 골격 추가 (로그인/코어/디스크 수집)\n- NAS/디스크 간소화 테이블 생성 (nas_data, nas_disk_data)\n- README 업데이트 (SSH 설정, 엔드포인트, 테이블 구성)\n- Docker 통합 후 동작 확인

This commit is contained in:
Hyungi Ahn
2025-08-13 06:51:45 +09:00
parent 5fc5a697f9
commit b47627e8f9
9 changed files with 1045 additions and 15 deletions

View File

@@ -77,7 +77,20 @@ docker-compose logs -f
docker-compose ps
```
### 4. Tapo 기기 설정
### 4. Mac Mini SSH 연결 설정 (집에서)
```bash
# SSH 키 생성 (없는 경우)
ssh-keygen -t rsa
# Mac Mini에 공개키 복사
ssh-copy-id hyungiahn@192.168.1.122
# SSH 연결 테스트
ssh hyungiahn@192.168.1.122 "echo 'SSH 연결 성공!'"
```
### 5. Tapo 기기 설정
```bash
# Tapo 기기 설정 파일 편집
@@ -147,6 +160,25 @@ PUT /api/devices/:id # 디바이스 업데이트
DELETE /api/devices/:id # 디바이스 삭제
```
### 🖥️ Mac Mini 시스템 모니터링
```bash
# 실시간 시스템 데이터 수집 (SSH 원격 실행)
GET /api/mac-mini/collect
# 최근 데이터 조회
GET /api/mac-mini/recent?limit=10
# 특정 기간 데이터 조회
GET /api/mac-mini/history?startDate=2025-01-01&endDate=2025-01-02
# 시스템 상태 요약
GET /api/mac-mini/summary
# SSH 연결 테스트
GET /api/mac-mini/test
```
### 💡 기본 사용 예제
```bash
@@ -172,6 +204,12 @@ curl -X POST http://localhost:9306/api/tapo/devices \
# 전력 소비 데이터 조회
curl http://localhost:9306/api/tapo/power
# Mac Mini 시스템 상태 확인
curl http://localhost:9306/api/mac-mini/summary
# Mac Mini 실시간 데이터 수집
curl http://localhost:9306/api/mac-mini/collect
```
## 🗄️ 데이터베이스
@@ -191,9 +229,11 @@ curl http://localhost:9306/api/tapo/power
```yaml
✅ devices # 디바이스 관리 (3개 기본 데이터)
✅ users # 사용자 관리 (2개 기본 계정)
power_consumption # 전력 소비 데이터
✅ network_traffic # 네트워크 트래픽 데이터
system_resources # 시스템 리소스 데이터
mac_mini_data # Mac Mini 시스템 데이터 (SSH 원격 수집)
✅ nas_data # Synology NAS 데이터 (API 연동 예정)
power_consumption # 전력 소비 데이터 (기존)
✅ network_traffic # 네트워크 트래픽 데이터 (기존)
✅ system_resources # 시스템 리소스 데이터 (기존)
```
### 기본 데이터
@@ -211,12 +251,38 @@ curl http://localhost:9306/api/tapo/power
## 🔧 개발 가이드
### 환경 변수 설정
`.env` 파일에 다음 설정을 추가하세요:
```bash
# Mac Mini SSH 설정 (집에서 설정)
MAC_MINI_HOST=192.168.1.122
MAC_MINI_USERNAME=hyungiahn
MAC_MINI_SSH_KEY=/Users/hyungiahn/.ssh/id_rsa
```
### 개발 환경별 작업
**외부에서 (VPN 환경):**
- ✅ 데이터베이스 구조 설계
- ✅ API 엔드포인트 개발
- ✅ SSH 수집기 코드 작성
- 🚧 프론트엔드 개발
**집에서 (로컬 네트워크):**
- SSH 키 설정 및 연결 테스트
- 실제 데이터 수집 테스트
- NAS API 연동
- 최종 통합 테스트
### 폴더 구조
```
src/
├── config/ # 설정 파일
├── controllers/ # 컨트롤러
├── collectors/ # 데이터 수집기 (SSH, API 연동)
├── middleware/ # 미들웨어
├── models/ # 데이터베이스 모델
├── routes/ # 라우터