Skip to content

설정 > 트래픽 감시 탭: 즉석 진단 + 5분 자동 감시(설치/제거)#1

Draft
eondcom wants to merge 1 commit into
mainfrom
worktree-hostmover-server-monitor
Draft

설정 > 트래픽 감시 탭: 즉석 진단 + 5분 자동 감시(설치/제거)#1
eondcom wants to merge 1 commit into
mainfrom
worktree-hostmover-server-monitor

Conversation

@eondcom

@eondcom eondcom commented Jul 7, 2026

Copy link
Copy Markdown
Owner

Summary

  • 통큰아이 등 호스팅사가 "계약 트래픽 초과"만 통보하고 원인 도메인은 알려주지 않는 문제 대응
  • 설정 > 트래픽 감시 탭 신설: ① 지금 진단(회선 사용량 10초 샘플 + 최근 15분 도메인별 Top10 + 1위 도메인 상위 IP/User-Agent, 읽기전용) ② 자동 감시(5분마다 cron으로 측정, 임계치(Mbps) 초과 시 자동 캡처 — 설치/제거 버튼 + 상태 확인 버튼)
  • HestiaCP API의 v-list-user-stats/v-list-users-stats는 월 1회 스냅샷(U_BANDWIDTH)만 제공해 실시간 원인 추적에 못 씀을 실서버에서 확인 → 도메인 접속로그(apache2/domains, 폴백 nginx/domains) 직접 집계 방식 채택
  • 자동 감시 설치/제거는 기존 디스크 자동감시와 동일하게 eond_confirm 확인 모달 경유(서버 상태 변경)

Test plan

  • cargo build --release 클린 빌드 (경고 없음)
  • 실서버(mars.eond.com)에서 스냅샷 스크립트 실행 → 도메인별 Top10/상위 IP·UA 정상 출력 확인
  • 임계치 1Mbps로 감시 설치 → 즉시 초과감지 → 로그 캡처 정상 확인
  • 상태 확인 스크립트로 설치여부/최근 측정값/이력 정상 조회 확인
  • 감시 제거 → cron/스크립트 삭제 + 로그/상태파일 보존 확인, 제거 후 상태 확인 시 "설치 안 됨" 정상 반영
  • 테스트로 남긴 임계치1 로그/상태파일은 정리함 (프로덕션 서버에 잔여물 없음)
  • 실제 GUI(egui 데스크톱 앱)에서 버튼 클릭 동작은 미검증 — 디스플레이/마스터 비밀번호가 없는 환경이라 로직을 실서버 SSH로 직접 검증함. 다음에 앱 실행 시 설정 > 트래픽 감시 탭에서 확인 필요.

🤖 Generated with Claude Code

https://claude.ai/code/session_01MzTB46Dj3tcc31NunpuHm5

통큰아이 계약 트래픽 초과 시 원인 도메인을 못 알려주는 문제 대응.
회선 사용량 샘플링 + 최근 15분 도메인별 로그 집계로 원인 도메인과
상위 IP·User-Agent까지 좁혀준다. HestiaCP API의 대역폭 통계는 월 1회
스냅샷이라 실시간 진단에 못 써 SSH 로그 집계 방식을 택함.

- 지금 진단: 10초 회선 샘플 + 도메인별 Top10 + 1위 도메인 상위 IP/UA
- 자동 감시: cron으로 5분마다 측정, 임계치(Mbps) 초과 시 자동 캡처
  (설치/제거 버튼 + 상태 확인 버튼으로 켜고 끄기)

실서버(mars.eond.com)에서 스냅샷/설치/상태확인/제거 전 과정 검증함.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MzTB46Dj3tcc31NunpuHm5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant