ProcMon

Procmon is one place solution for process and services monitoring tool for your Servers and Home Computers. It uses WebSocket and Redis to create a multi channel brodcast service which can listen for the transmitted processes and services from other VMs and Computers.

Inspiration

When you have a lot of Servers or VMs to manage, it's hard to manage all the different servers, primarily because you need to ssh into all of them and then manage the processes. This problem is actually solved by Procmon by giving a central platform to keep an eye on all of your servers.

What it does

Procmon is one place solution for process and services monitoring tool for your Servers and Home Computers. It uses WebSocket and Redis to create a multi channel brodcast service which can listen for the transmitted processes and services from other VMs and Computers.

How we built it

It uses websockets (Nodejs + Socket.IO + Redis) to allow other VM's and Computers that are connected with Procmon. The other servers or nodes continously transmit data about their process and services. And we use React to make a nice interface to show this data.

We use MongoDB to save the incoming information from the servers to make everything persistent.

Does it Scale ? We use Cluster Module for running same node server ont all the threads of the cpu which runs procmon.

Challenges we ran into

  1. Redis: We use redis and cluster module to scale websocket server.
  2. Scaling On Server Side:
    1. We uses NginX as reverse proxy and load balancer to balance the traffic among various instances of nodejs server.

Accomplishments that we're proud of

  1. Scaling:
    1. We've scaled our application so that it can go to moon 🚀.
  2. The reason why we made this app was to fix or problem of managing more that 1 VM. So it actually solves our problem.

What we learned

We learned about scaling websockets using Clustering NodeJS and setting up load balancer using NginX.

WE learnt how to manage differnt websockets connections from the frontend.

What's next for procmon

  1. We want to make it more user friendly for installation.
  2. We want to make single deployment scripts to deploy promon client node on VM.
  3. We want to improve ui tremendously.

Built With

Share this project:

Updates