Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/thatbackendguy/network-monitoring-system
NMS - Monitoring tool for monitoring network devices over LAN
https://github.com/thatbackendguy/network-monitoring-system
linux monitoring-tool mysql vertx vertx-web
Last synced: about 1 month ago
JSON representation
NMS - Monitoring tool for monitoring network devices over LAN
- Host: GitHub
- URL: https://github.com/thatbackendguy/network-monitoring-system
- Owner: thatbackendguy
- Created: 2024-04-20T06:59:15.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-05-08T11:49:00.000Z (6 months ago)
- Last Synced: 2024-09-27T07:24:12.922Z (about 2 months ago)
- Topics: linux, monitoring-tool, mysql, vertx, vertx-web
- Language: Java
- Homepage: https://www.thatbackendguy.com/Projects/network-monitoring-system
- Size: 1.71 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Network Monitoring System
The Network Monitoring System is a robust application designed to monitor and visualize real-time system metrics for network devices. Utilizing a modern tech stack, it offers efficient backend processing, dynamic frontend interaction, and seamless database management.
## Demonstration
https://youtu.be/YOM6VJnKgvc?si=Pq1nZB8SswaAqyoS## Technologies Used
### Backend
* **Java**: Powering the backend logic for robust functionality.
* **Vert.x Core & Vert.x Web**: Enabling reactive, high-performance web handling.
* **Logger**: Ensuring comprehensive event logging for system monitoring.### Frontend
* **React.js**: Driving the frontend with dynamic UI components.
* **Tailwind CSS**: Styling the interface for a sleek, responsive design.
* **ApexCharts**: Visualizing data with interactive and engaging chart displays.## Database
* **MySQL**: Managing and storing system metrics data & alerts generated efficiently and securely.## Features
* Supports monitoring upto **1,000** devices.
* Real-time monitoring of CPU, memory, and other vital system metrics.
* Interactive charting for analyzing historical data trends.
* User-friendly interface, optimized for usability.
* Scalable backend architecture ensures seamless performance under varying loads.## Screenshots
![NMS 1](/frontend/public/nms1.png)
![NMS 2](/frontend/public/nms2.png)
![NMS 3](/frontend/public/nms3.png)
![NMS 4](/frontend/public/nms4.png)## Backend APIs
| Sr. No.|Description| Request Type | Endpoint |
|---|---|---|---|
|1|Register Device| POST | `/register-device` |
|2|Start Polling| GET | `/start-polling` |
|3|Get System Metrics| GET | `/get-data/:ipAddress` |
|4|Get List of IP Address| GET | `/get-ip-address` |
|5|Get Alerts| GET | `/get-alerts/:ipAddress` |
|6|Clear Alerts| DELETE | `/clear-alerts/:ipAddress` |* **Register Device**: Add body parameter as follows
```jsx
{
"username": "yash",
"password": 1234,
"ip.address": "127.0.0.1",
"device.type": "linux"
}
```
> Change values according your system configuration. To check IP address, run this following command:
```jsx
ifconfig | grep broadcast | awk {'print $2'}
```