Nvitop Multi-Server Monitor
다중 서버의 GPU 상태를 nvitop으로 모니터링하는 웹 기반 시스템입니다.
기능
- 각 서버에서 nvitop 데이터 실시간 수집
- 중앙 서버로 데이터 전송
- 웹 대시보드에서 모든 서버의 GPU 상태 확인
- 통계 및 사용자 정보 표시
- 관리자 페이지에서 사용자 이름 수동 지정
- WebSocket을 통한 실시간 업데이트
설치
cd nvitop-monitor
pip install -r requirements.txt
사용법
1. 중앙 서버 실행
# 백그라운드로 실행 (nohup 사용)
./start_server.sh
# 로그 확인
tail -f server.log
# 서버 중지
./stop_server.sh
기본적으로 http://localhost:5000에서 실행됩니다.
- 대시보드: http://localhost:5000
- 관리자 페이지: http://localhost:5000/admin
같은 네트워크의 다른 기기에서 접속:
서버 시작 시 표시되는 네트워크 IP 주소를 사용하세요.
예: http://141.223.24.72:5000
자세한 내용은 NETWORK_ACCESS.md를 참조하세요.
2. 각 서버에서 에이전트 실행
각 모니터링할 서버에서 다음 명령을 실행하세요:
# 백그라운드로 실행 (nohup 사용)
./start_agent.sh 서버이름 http://중앙서버주소:5000
# 예제:
./start_agent.sh server1 http://141.223.24.72:5000
# 로그 확인
tail -f agent_server1.log
# 에이전트 중지
./stop_agent.sh server1
자세한 에이전트 설정 방법은 AGENT_SETUP.md를 참조하세요.
3. 관리자 페이지에서 사용자 이름 지정
- http://localhost:5000/admin 접속
- 각 서버에 대해 사용자 이름 입력
- 저장 버튼 클릭
데이터 수집 방식
에이전트는 다음 순서로 GPU 데이터를 수집합니다:
- nvitop Python API (우선)
- pynvml (fallback)
- nvidia-smi (최종 fallback)
프로젝트 구조
nvitop-monitor/
├── agent/ # 에이전트 (각 서버에서 실행)
│ └── agent.py
├── server/ # 중앙 서버
│ ├── app.py # Flask 서버
│ └── models.py # 데이터베이스 모델
├── web/ # 웹 인터페이스
│ ├── templates/ # HTML 템플릿
│ └── static/ # CSS, JS
├── config/ # 설정 파일
└── data/ # 데이터베이스 (자동 생성)
요구사항
- Python 3.7+
- nvitop 또는 nvidia-smi
- 각 서버에서 중앙 서버로 네트워크 접근 가능
Metadata
Release files for wcml-agent 1.0.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| wcml_agent-1.0.1.tar.gz | 8.7 kB | Without provenance | Details for wcml_agent-1.0.1.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| wcml_agent-1.0.1-py3-none-any.whl | Python 3 | none | any | Details for wcml_agent-1.0.1-py3-none-any.whl |
Total release size: 16.1 kB
Release files / wcml_agent-1.0.1.tar.gz
| Download URL | wcml_agent-1.0.1.tar.gz |
|---|---|
| Size | 8.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3bb642f18d23fdd5723577fdeb800462fd8d0f9bdbd5c535a9cc09461ffcfc10
|
|
BLAKE2b-256 checksum How to use checksums |
31b262946b802cb95ec7380456827812ba5242289b78ee4b7ed8ffd37078ab32
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.2
|
Release files / wcml_agent-1.0.1-py3-none-any.whl
| Download URL | wcml_agent-1.0.1-py3-none-any.whl |
|---|---|
| Size | 7.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ac8c9a59cf390dd4b4722640d18ad07a690c2d6b16ef8706715b9870a62086ab
|
|
BLAKE2b-256 checksum How to use checksums |
10102147fffb08f482d4c1ad52dd04673e7e7b627dc817e0919807d75b5b1580
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.2
|
Security for wcml-agent 1.0.1
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.