You might ask the question, why do we need to monitor Node.js server? Every server, especially in real production, requires special attention to its health state. Evaluation of the server’s health is done automatically by a monitoring solution that measures a set of metrics. Generally, Server Health Monitoring is fundamentally concerned with observing how a server reacts to the operating load placed upon it. The purpose of such monitoring is to prevent server failures by ensuring that the server always retains sufficient capacity to conduct the required tasks.
Unfortunately, although the Node.js server is already used in production, it doesn’t yet have a successful monitoring tool set and corresponding software support. Below is a short list of famous companies already using Node.js
- LinkedIn is using Node.js to power their Mobile Server, which powers the iPhone, Android, and Mobile Web products.
- Yahoo! uses Node.JS within the Livestand product infrastructure.
- Yammer uses Node.js
- Microsoft recently started supporting Node.js on Azure
- VMware is developing the Cloud Foundry platform-as-a-service, which includes support for Node.js
There are two fundamental principles while monitoring any object.
1. The monitor should collect as much important information as possible that will allow to accurately evaluate the health state of an object.
2. The monitor should have little to no effect on the activity of the object.
In our next post we will walk you through an implementation of Node.Js monitoring that incorporates these principles.