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.
- Linux/Unix (this includes Mac OSX; sorry, no Windows)
- Node.JS
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.
- Basic plugins need to be finalized
- Web interface needs to be implemented
- Lots more error handling and fault tolerance needs to be added