Monitoring Node.js

eG Enterprise offers a special-purpose monitoring model for the target Node.js application server.

Figure 1 depicts the layer model of a Node.js application server.

Figure 1 : Layer model for Node.js

Every layer in the Figure 1 is mapped to various tests to determine the critical statistics related to the performance of the target Node.js application server. Using the metrics reported by the tests, administrators can find accurate answers for the following performance queries:

  • Is any thread consistently utilizing maximum amount of heap memory?

  • Is any thread utilizing abnormal CPU resources?

    Is any thread idle for a longer duration?

  • Are the Node.js V8 Engine instances rebooted frequently? If yes, which instance had been rebooted for the maximum number of times?

  • Is any Node.js V8 Engine instance experiencing bottlenecks in heap memory utilization? If so, which type of heap memory utilization is contributing to bottlenecks - is it old space? or new space? or read only space? or code space? or map space? or large object space? or code large object space? or new large object space?

  • Is any type of garbage collection taking too long to complete the garbage collection activity?

  • Is any Node.js V8 Engine instance consuming abnormally high time to complete a single event loop?

  • Is there any instance on which event loops were idle?

  • Is there any instance on which maximum percentage of event loop utilization was noticed consistently?

  • Are there instances on which maximum number of errors were noticed?

  • Is any Node.js V8 instance spending too much time in system level CPU processing and user level CPU processing?

  • Is there any Node.js exception that was frequently encountered by transactions?

  • Are the transactions healthy?

    Are there any error-prone/stalled/ transactions? If so, which transactions were frequently error-prone/stalled?

Since the Operating System, Application Processes/Services and TCP layers have been elaborately discussed in Monitoring Unix and Windows Servers document, and the tests mapped to the Network Layer have been elaborately discussed in Monitoring Cisco Router document, the sections to come will discuss the other layers in detail.