Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages