Managing Node.js applications using PM2 Process Manager

Managing Node.js applications using PM2 Process Manager

Configure PM2 to manage standalone applications

Follow the instructions below to configure PM2 to manage Node.js applications.

Steps to configure PM2
  1. Configure the processManagerEnabled key in the already created apminsightnode.json file.
  2. Pass the value as true.

    Example:
    {
    "licenseKey" : "xxxxxxxxxxxxxxxxxxxx",
    "appName" : "appName",
    "port" : 3000,
    "processManagerEnabled" : "true"
    }

  3. Res​​​​tart your Node.js application.
  1. The above configuration is only available for Node.js agents (v2.5.1 and above).
  2. In general, the process manager PM2 (version 2.0) is compatible with the APM Insight Node.js agent.

How Site24x7 handles the processes started by PM2

  1. Each process started by PM2 is treated as a separate instance in Site24x7.
             
  1. The instance's name is displayed as hostname:PM2_ID rather than hostname:port_number.
    For example: In the below screenshot, the three processes that are started using PM2 are displayed as zylker-0193:1, zylker-0193:2, and zylker-0193:3, where zylker-0193 is the hostname, and 1, 2, and 3 are the corresponding PM2_IDs.
             

  1. Port number is the same for all instances. Hence, PM2_ID is used to differentiate them.
  2. Each instance started by PM2 is treated as a separate APM instance and requires its own advanced monitor license.

Configure PM2 to manage applications in Kubernetes

If you're deploying your PM2 based Node.js application in a Kubernetes environment, refer to this KB article.