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).
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.
- Real-time Monitoring Engine: Monitors IP addresses/domains using real ICMP pings, TCP port checks (22, 80, 443), HTTP response checks, and DNS resolution.
- 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.
- 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.
- Maintenance Windows: Schedule suppression windows to prevent alarm alerts and incident creations while performing hardware/software upgrades.
- Configurable SLA Policies: Configures custom response (Ack) and resolution goals for Incident Severities. Background threads scan active tickets and flag breaches (
slaBreachAck,slaBreachResolve). - 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.
- 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.
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 |
If you have Docker and Docker Compose installed:
- Clone or copy the folder.
- From the root directory, run:
docker-compose up --build
- Docker will build and start:
- PostgreSQL (port
5432) - Redis (port
6379) - Backend Server (port
5000) - Nginx hosting React Frontend (port
80)
- PostgreSQL (port
- Access the dashboard at
http://localhostin your browser.
If Docker is not available, the platform falls back to SQLite and an in-memory PubSub system automatically.
- Open a terminal and navigate to the backend folder:
cd backend - Install npm packages:
npm install
- Initialize the SQLite database and run the seed script:
npx prisma db push npx prisma db seed
- Start the development API server:
The backend REST and Socket server will listen on
npm run dev
http://localhost:5000.
- Open a second terminal and navigate to the frontend folder:
cd ../frontend - Install packages:
npm install
- Start the Vite React development server:
npm run dev
- Access the dashboard at
http://localhost:3000in your browser.
To test agent-based server monitoring:
- Ensure the backend is running.
- 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
- Open the
hq-prod-srv-01device page in the frontend to observe live process lists, interface stats, and disk utilization streamed from the agent.