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:
74
README.md
74
README.md
@@ -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/ # 라우터
|
||||
|
||||
Reference in New Issue
Block a user