Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/meltingice/nodemonitor

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.
https://github.com/meltingice/nodemonitor

Last synced: 24 days ago
JSON representation

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.

Awesome Lists containing this project

README

        

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