Skip to content

About

Incident Response Platform – A web-based platform for monitoring systems, managing security incidents, tracking alerts, and streamlining incident response workflows.

Resources

Stars

1 star

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

NetPulse Enterprise

NetPulse Enterprise is a production-grade Network Outage Detection and Incident Response Platform designed for enterprise IT and network operations teams (NOC/SOC). It simulates network polling (ICMP, TCP, DNS, HTTP, SNMP) and manages incidents, topology states, and service level agreements (SLAs).


🏗️ Architecture Overview

The platform is designed with a modern full-stack TypeScript architecture:

  • Frontend: React + TS, Tailwind CSS (Glassmorphism Dark Theme), Vite, TanStack React Query, Recharts, Framer Motion, Lucide icons, Socket.IO Client.
  • Backend: Express + TS, Layered Architecture, Prisma ORM, Socket.IO Server, JWT Authentication, and an integrated Root Cause Analysis (RCA) and alert correlation engine.
  • Agent Client: Lightweight server daemon (netpulse-agent.ts) that runs on Linux or Windows to collect CPU, Memory, Disk, Interfaces, Processes, and Bandwidth, streaming metrics to the backend.
  • Database & Cache: PostgreSQL & Redis (Dockerized), with a graceful fallback to SQLite & in-memory caching for local development.

⚡ Core Features

  1. Real-time Monitoring Engine: Monitors IP addresses/domains using real ICMP pings, TCP port checks (22, 80, 443), HTTP response checks, and DNS resolution.
  2. NetPulse Agent Monitoring: A lightweight, standalone node agent client that collects detailed OS metrics, network cards, and running processes, transmitting them securely to the backend.
  3. Event Correlation & Dependency RCA: Establishes parent-child relationships (e.g. Core Router -> Switch -> Server). When a parent fails, downstream alarms are suppressed and linked to a single Parent Incident, identifying the parent as the root cause.
  4. Maintenance Windows: Schedule suppression windows to prevent alarm alerts and incident creations while performing hardware/software upgrades.
  5. Configurable SLA Policies: Configures custom response (Ack) and resolution goals for Incident Severities. Background threads scan active tickets and flag breaches (slaBreachAck, slaBreachResolve).
  6. Interactive Topology View: Renders site-to-site WAN overlays and detailed site-level LAN trees using interactive SVG linkages, health status nodes, interfaces, and bandwidth load indicators.
  7. NOC Dashboard & KPI Analytics: Real-time Recharts trends for MTTR (Mean Time to Resolve), MTTA (Mean Time to Acknowledge), SLA compliance percentage, and branch availability reports.

🚦 Pre-seeded Login Credentials

To bypass registration, you can log in using these default credentials (passwords are all password123):

User Email User Role Privileges
admin@netpulse.com ADMIN Full access to manage users, devices, SLA policies, and view audit trails
engineer1@netpulse.com ENGINEER Claim incidents, update status, resolve alerts, schedule maintenance
noc@netpulse.com NOC_OPERATOR Monitor dashboards, receive warnings, claim incidents, escalate alarms
viewer@netpulse.com VIEWER Read-only access to dashboards, device profiles, and topology

🚀 Setup & Execution Guide

Option A: Run via Docker Compose (Recommended for Production)

If you have Docker and Docker Compose installed:

  1. Clone or copy the folder.
  2. From the root directory, run:
    docker-compose up --build
  3. Docker will build and start:
    • PostgreSQL (port 5432)
    • Redis (port 6379)
    • Backend Server (port 5000)
    • Nginx hosting React Frontend (port 80)
  4. Access the dashboard at http://localhost in your browser.

Option B: Local Run (Graceful Fallback - No Docker required)

If Docker is not available, the platform falls back to SQLite and an in-memory PubSub system automatically.

1. Setup Backend

  1. Open a terminal and navigate to the backend folder:
    cd backend
  2. Install npm packages:
    npm install
  3. Initialize the SQLite database and run the seed script:
    npx prisma db push
    npx prisma db seed
  4. Start the development API server:
    npm run dev
    The backend REST and Socket server will listen on http://localhost:5000.

2. Setup Frontend

  1. Open a second terminal and navigate to the frontend folder:
    cd ../frontend
  2. Install packages:
    npm install
  3. Start the Vite React development server:
    npm run dev
  4. Access the dashboard at http://localhost:3000 in your browser.

3. Run the NetPulse Agent (Optional)

To test agent-based server monitoring:

  1. Ensure the backend is running.
  2. In a third terminal inside the backend folder, execute:
    # Linux/macOS
    NETPULSE_AGENT_TOKEN=agent-token-hq-srv-01 npx ts-node src/netpulse-agent.ts
    
    # Windows PowerShell
    $env:NETPULSE_AGENT_TOKEN="agent-token-hq-srv-01"; npx ts-node src/netpulse-agent.ts
  3. Open the hq-prod-srv-01 device page in the frontend to observe live process lists, interface stats, and disk utilization streamed from the agent.

About

Incident Response Platform – A web-based platform for monitoring systems, managing security incidents, tracking alerts, and streamlining incident response workflows.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages