Skip to content

cabrata/StatsMonit

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StatsMonit

License: MIT Node.js Platform Support Node.js CI

GitHub Stars GitHub Forks GitHub Issues GitHub Pull Requests

StatsMonit is a lightweight server monitoring tool built with Node.js and Socket.io. It provides real-time system statistics, including CPU usage, RAM usage, disk space, network activity, and uptime.

Demo

Image

Features

  • Real-time Monitoring: Get live updates every 3 seconds.
  • CPU Usage: Shows CPU load percentage and model details.
  • Memory Usage: Displays RAM consumption with detailed usage statistics.
  • Temperature: Displays CPU temperature in real-time
  • Disk Statistics: Provides total, used, and available disk space.
  • Network Traffic: Monitors incoming and outgoing network activity.
  • Cross-platform: Works on Linux, Windows, and macOS.

Installation

Prerequisites

  • Node.js (v18 or higher)
  • NPM (comes with Node.js)
  • g++ (to compile some packages)
  • cmake (to compile some packages)

Steps

  1. Clone this repository:

    git clone https://github.com/cabrata/statsmonit
  2. Navigate into the project folder:

    cd statsmonit
  3. Install dependencies:

    npm install
  4. (Optional) Configure environment variables: Create a .env file and specify the port (default: 8088).

    PORT=8088

Usage

Start the Server

Run the following command to start the monitoring service:

npm start

or manually using:

node index.js

Access the Dashboard

Once the server is running, open your browser and visit:

http://localhost:8088

The server will continuously send system statistics to the client using WebSockets (Socket.io).

How It Works

  1. Server Setup

    • Uses Express.js to serve static files.
    • Runs an HTTP server with Socket.io for real-time communication.
  2. Data Collection

    • Uses OS module to fetch CPU, RAM, and system details.
    • Uses diskusage to check disk space.
    • Uses systeminformation to get CPU temperature data
    • Uses node-os-utils to fetch CPU and network statistics.
  3. Real-time Updates

    • The server collects system stats every 3 seconds.
    • Data is sent to connected clients via WebSockets.

🏗 Build Tailwind CSS

If you are using Tailwind CSS for styling, you can compile the CSS using:

npm run build

This will generate a minified CSS file for production.

🤝 Contributing

Contributions are welcome! Feel free to open an issue or submit a pull request if you find any improvements or bugs.

📜 License

This project is licensed under the MIT License.

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •