
Ask HN: Best way for monitoring Node.js in production? - wsieroci
Hi,<p>What do you use to monitor node.js processes in production? Assume that I would like to use nginx as my load balancer and some tool to keep node.js application running, like: forever or pm2. I would like to display data like heap, cpu usage, errors, maybe event loop state in realtime by web user interface remotely.<p>The best option would be to use some open source tool, but I am also thinking about using some proprietary solution.<p>What do you think?<p>Best,
Wiktor
======
sysk
Hey Wiktor,

First, you really shouldn't use forever or pm2 in production. May I suggest
you use something like Dokku[0] or Deis[1] (if you are planning to scale to
more than one server) to deploy your apps?

Dokku is really quick to setup and will save you a lot of time and trouble in
the long term. Setup takes only 5 minutes and the learning curve is pretty low
(maybe 30-60 minutes to be productive).

NewRelic[2] and DataDog[3] are popular for monitoring though they're not open
source. Nagios[4] is open source and also popular.

[0] [https://github.com/dokku/dokku](https://github.com/dokku/dokku)

[1] [http://deis.io](http://deis.io)

[2] [http://newrelic.com](http://newrelic.com)

[3] [https://www.datadoghq.com](https://www.datadoghq.com)

[4] [https://www.nagios.org](https://www.nagios.org)

~~~
stephenr
I agree that things like forever aren't a great process manager, immediately
jumping from that to something like Dokku is the wrong move IMO.

Phusion Passenger will manage processes (including multiple concurrent
processes if required) for a node (or python or ruby) app, and can run under
Apache, Nginx or stand-alone.

This doesn't drastically change the infrastructure involved as Docku/Deis/etc
would, but provides a much more robust solution.

