System monitor endpoint for Windows 11 - CPU, RAM, GPU, VRAM metrics
  • HTML 61.4%
  • JavaScript 34.6%
  • Batchfile 4%
Find a file
2026-08-17 17:18:33 +02:00
system-monitor Change default port to 3000 2026-08-17 17:18:33 +02:00
.gitignore Initial commit: system monitor endpoint with dashboard 2026-08-17 13:01:36 +02:00
README.md Change default port to 3000 2026-08-17 17:18:33 +02:00
system-monitor-endpoint-plan.md Initial commit: system monitor endpoint with dashboard 2026-08-17 13:01:36 +02:00

System Monitor Endpoint

HTTP endpoint built with Node.js + Express that exposes system metrics (CPU, RAM, GPU, VRAM) in JSON format. Designed for Windows 11 with NVIDIA hardware (RTX 5080), but runs on any platform.

Features

  • /api/metrics endpoint: JSON with CPU, RAM, and GPU metrics updated every 10 seconds.
  • /health endpoint: Server status, uptime, and collection count.
  • Web dashboard: Visual interface with circular gauges, progress bars, and canvas-based history chart.
  • Self-contained: Extractable ZIP with start.bat for double-click execution on Windows.

Installation

  1. Download and extract the ZIP archive.
  2. Install Node.js (v18+ recommended).
  3. Double-click start.bat.
  4. Open http://localhost:3000 or http://localhost:3000/dashboard.html.

The start.bat script checks for Node.js and installs dependencies automatically.

Configuration

Variable Default Description
PORT 3000 Server port
POLL_INTERVAL 10000 Collection interval in milliseconds
PORT=9000 POLL_INTERVAL=5000 node index.js

Response Format

{
  "timestamp": "2026-08-17T10:56:23.347Z",
  "cpu": {
    "usage_percent": 8.58,
    "per_core_percent": null,
    "cores_physical": 8,
    "cores_logical": 16,
    "frequency_mhz": 3800
  },
  "ram": {
    "total_gb": 32.0,
    "used_gb": 18.2,
    "available_gb": 13.8,
    "percent": "56.9"
  },
  "gpu": [
    {
      "name": "GeForce RTX 5080",
      "usage_percent": 45,
      "temperature_celsius": 62,
      "power_watts": 180,
      "vram": {
        "total_mb": 16384,
        "used_mb": 4096
      }
    }
  ]
}

Notes

  • GPU on Windows: Requires nvidia-smi in PATH (C:\Program Files\NVIDIA Corporation\NVSMI). Without an NVIDIA driver, GPU fields will be null and gpu: [].
  • Per-core CPU load: Not available on Windows via systeminformation. per_core_percent is always null.
  • Listens on 0.0.0.0: Accessible from the local network, not just localhost.

Structure

system-monitor/
├── index.js              Express server + metrics collector
├── package.json          Dependencies
├── package-lock.json
├── start.bat             Windows launcher
└── public/
    └── dashboard.html    Visual dashboard

License

MIT