A web-based system for monitoring network devices using SNMP, including:
- ✅ Backend: Spring Boot (SNMP4J, REST API)
- ✅ Frontend: Vue.js 3 + Vite + Vuetify
- ✅ Communication via RESTful APIs
- ✅ Support for SNMPv1, v2c, and v3
.
├── backend/ # Spring Boot (SNMP API)
├── frontend/client/ # Vue 3 + Vuetify (UI)
├── docker-compose.yml # Launches both frontend and backend
├── Main.java
└── README.md
Requirements:
- Docker
- Docker Compose
🐧 Only supported on Linux systems due to
hostnetwork mode.
⚠️ Not supported on Docker Desktop (Windows/macOS).
No need to install Java, Maven, or Node.js
# Clone the repository
git clone https://github.com/Toan235626/SnmpMonitoring.git
cd SnmpMonitoring
# Grant permission to Maven Wrapper (required for Linux builds)
chmod +x backend/mvnw
# Build and run backend + frontend using Docker
#if you use docker compose version 1
docker-compose up --build
#if you use docker compose version 2
docker compose up --build
- Backend: http://localhost:8086/api
- Frontend: http://localhost:3000
💡 This option starts both backend and frontend automatically using Java. ✅ Suitable for development without Docker.
Requirements:
- Java 17+ (JDK)
- Node.js 18+
- npm (comes with Node.js)
- Git (to clone the repository)
- Maven Wrapper (already included in the project)
cd SnmpMonitoring
# Grant execute permission for mvnw if USING LINUX OF MACOS
chmod +x backend/mvnw
# Compile and run the project entry
javac Main.java
java Main- The
Main.javafile will automatically:- Start
backend/using Maven Wrapper (mvnw) - Start
frontend/client/usingnpm run dev
- Start
cd SnmpMonitoring- You need to open 2 parallel terminals here, 1 for backend, 1 for frontend
Requirements: Java 17+, Maven
cd backend
# Maven run backend
mvn clean install
mvn spring-boot:runAPI available at: http://localhost:8086/api
Requirements: Node.js v18+
cd frontend/client
# Npm run frontend
npm install
npm run devApp available at: http://localhost:5173
- 🔍 SNMP Walk, GetNext, and GetBulk operations
- 📊 MIB Tree & Trap Viewer
- 🔐 SNMPv3 authentication support
- 🌐 Modern UI with Vue + Vuetify
- 📁 Vendor-based MIB classification
| Layer | Technologies |
|---|---|
| Frontend | Vue.js, Vuetify, Vite |
| Backend | Spring Boot, SNMP4J |
| Database | H2 (in-memory) |
| SNMP | SNMPv1, v2c, v3 |
| DevOps | Docker, Docker Compose |
- Names: Nguyễn Khánh Toàn, Dương Ngô Hoàng Vũ, Chu Văn An
- GitHub: github.com/Toan235626
- Contact: Toan.NK235626@sis.hust.edu.vn
⭐ Star this project if you found it helpful!