Skip to content

YeahhhNahhh/Intelligent-Network-Monitoring-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Intelligent Network Monitoring System (INMS)

Overview

The Intelligent Network Monitoring System (INMS) is a full-stack network monitoring and outage analysis platform designed to simulate enterprise network operations. It combines real-time device monitoring, topology visualization, automated impact analysis, alert generation, and AI-assisted troubleshooting within a single dashboard.

The system continuously monitors network devices, detects failures, identifies affected downstream nodes using graph traversal algorithms, and provides diagnostic suggestions for remediation.


Features

Network Monitoring

  • Real-time device status tracking
  • ICMP reachability checks
  • SNMP-based telemetry collection
  • Automated polling scheduler

Topology Visualization

  • Interactive network topology graph
  • Dynamic node status indicators
  • Device relationship mapping
  • Zoom and drag support

Failure Detection

  • UP / SUSPECT / DOWN state machine
  • Automatic outage detection
  • Incident generation and tracking

Impact Analysis

  • Graph-based network modeling using NetworkX
  • BFS reachability analysis
  • Downstream isolation detection
  • Blast radius assessment

AI Incident Copilot

  • Automated root cause hypotheses
  • Diagnostic command recommendations
  • Impact assessment summaries
  • Remediation guidance

Real-Time Dashboard

  • WebSocket-powered updates
  • Alert feed
  • Device inventory management
  • Live telemetry display

Technology Stack

Backend

  • Python
  • FastAPI
  • SQLAlchemy
  • APScheduler
  • NetworkX
  • PySNMP
  • SQLite / PostgreSQL

Frontend

  • React
  • Vite
  • D3.js
  • Recharts

Infrastructure

  • Docker
  • Docker Compose
  • Caddy Reverse Proxy

Project Structure

inms/
├── backend/
│   ├── core/
│   ├── models/
│   ├── routers/
│   ├── schemas/
│   ├── services/
│   ├── tests/
│   └── main.py
│
├── frontend/
│   ├── src/
│   │   ├── components/
│   │   ├── hooks/
│   │   └── assets/
│   └── vite.config.js
│
├── docker-compose.yml
├── Caddyfile
└── .env.example

System Architecture

Network Devices
       │
       ▼
Polling Services
(ICMP + SNMP)
       │
       ▼
Failure Detection Engine
       │
       ▼
Impact Analyzer (NetworkX)
       │
       ▼
Alert Engine
       │
       ▼
AI Incident Copilot
       │
       ▼
WebSocket Broadcast Layer
       │
       ▼
React Dashboard

Local Setup

Backend

cd backend

python -m venv venv

# macOS / Linux
source venv/bin/activate

# Windows
venv\Scripts\activate

pip install -r requirements.txt

uvicorn main:app --reload

Backend API:

http://localhost:8000

Swagger Documentation:

http://localhost:8000/docs

Frontend

cd frontend

npm install

npm run dev

Frontend:

http://localhost:3000

Docker Deployment

docker-compose up --build

Open:

http://localhost

Demonstration Scenario

  1. Launch the dashboard.

  2. Select agg-sw-a from the device inventory.

  3. Click Kill Node.

  4. Observe:

    • Device state changes to DOWN
    • Alert generated automatically
    • Downstream devices become isolated
    • AI Copilot generates troubleshooting guidance
  5. Click Boot Node to restore service.


Automated Testing

Run the backend test suite:

cd backend

pytest tests/

Key Concepts Demonstrated

  • Network Monitoring
  • Failure Detection Systems
  • Graph Algorithms
  • Breadth-First Search (BFS)
  • Network Topology Analysis
  • WebSocket Communication
  • FastAPI Backend Development
  • React Frontend Development
  • Real-Time Dashboards
  • AI-Assisted Operations

Future Enhancements

  • Real device integration using SNMP
  • Packet Tracer / GNS3 support
  • Authentication and role management
  • Historical analytics dashboard
  • Predictive outage detection
  • Multi-site network monitoring

License

This project was developed for educational, research, and portfolio purposes.

Note: To run this project locally, clone the repository and follow the setup instructions provided above.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors