A distributed server monitoring system written in Javascript for Node.JS that uses WebSockets to show server info in near real-time from the browser.
JavaScript
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
config
html
lib
logs
plugins
.gitmodules
LICENSE
NodeMonitor_Node.js
NodeMonitor_Server.js
README.textile

README.textile

About

NodeMonitor is a distributed server monitoring system written in Javascript for Node.JS. It uses WebSockets to stream the data to the browser in near-realtime, and it uses a simple plugin system to add various monitoring capabilities to each node. It is currently in a very alpha phase and a lot of functionality still needs to be added. This is my first time ever using Node.JS so I’m sure the code could use a lot of improvement. Anyone who would like to contribute is welcome.

Requirements

  • Linux/Unix (this includes Mac OSX; sorry, no Windows)
  • Node.JS

How to Use

To get the code (Using —recursive is very important):


git clone git://github.com/meltingice/NodeMonitor.git —recursive

For a simple proof-of-concept:

  • Configure config/server_config.js and config/node_config.js with the desired values. Should be pretty straightforward.
  • Run the server on a single machine: sudo node NodeMonitor_Server.js
  • Run the node on each machine you want to monitor (can be the same machine the server is running on): sudo node NodeMonitor_Node.js
  • ????
  • PROFIT!

Use your web browser and go to the address and port specified in the config file to visit the NodeMonitor webpage. If a node is connected, you should see data streamed to console.log() in realtime.

What Needs to be Done?

  • Basic plugins need to be finalized
  • Web interface needs to be implemented
  • Lots more error handling and fault tolerance needs to be added