3 ms·
Ask HN: Best way for monitoring Node.js in production?
Hi,
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.
The best option would be to use some open source tool, but I am also thinking about using some proprietary solution.
What do you think?
Best,
Wiktor
- sysk 11y agoHey 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 11y agoI 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.
- foxpc 11y agoWhy should PM2 not be used?