Install the Node.js agent in a Docker container
The following steps outline the process of building, configuring, and deploying your dockerized Node.js application equipped with APM Insight.
Instrument your container
By making minimal modifications to your current Dockerfile, you can enable application monitoring using our Node.js agent. You can configure the agent by launching your updated Docker image with the environment variables set.
-
Install the apminsight package
- Add apminsight to the package.json file:
You can simply add the apminsight package to your application's package.json file.
"dependencies": {
"apminsight": "latest",
}NoteInstall a specific version or explore alternative options available in the package.json format. Refer to the release notes of the Node.js agent for details on previous agent versions. - Add an installation command in Dockerfile:
Suppose you don't want to make any changes related to the Node.js agent in your application and only want to make changes to your Dockerfile. In that case, you can add the below line to your Dockerfile to install the agent.
RUN npm install apminsight --silent
- Add apminsight to the package.json file:
- You can follow any of the below steps to load the Node.js agent:
- Include the require statement in the start script, or you can edit the ENTRYPOINT to include the apminsight module.
node -r apminsight my-start-file.js
- Include the below code in the first line of your Node.js application start file before any other require statements.
require('apminsight');
NoteFor Next.js, use @apminsight/next instead of apminsight.
- Include the require statement in the start script, or you can edit the ENTRYPOINT to include the apminsight module.
-
Adding configuration values
You can either create a file and add the configuration values to it, or you can set the configuration values as environment variables.
- Create a file and add configuration values:
Create a new file named apminsightnode.json and copy it to the directory where the application will get started in the container.
Add the below code snippet to the file:
{"licenseKey" : "<license-key>",
"appName" : "<application-name>",
"port" : <application-port>}
{"licenseKey" : "<license-key>",
"appName" : "<application-name>",
"port" : <application-port>,
"proxyServerHost" : "<proxy-server>",
"proxyServerPort" : <proxy-port>,
"proxyAuthUser" : "<proxy-user-name>",
"proxyAuthPassword" : "<proxy-password>"} - Set configuration values as environmental variables:
You can set configuration values as environment variables using the following keys:
docker run -e APMINSIGHT_LICENSE_KEY="<license-key>" -e APMINSIGHT_APP_NAME="<application-name>" -e APMINSIGHT_APP_PORT="<application-port>" YOUR_IMAGE_NAME:latest
The port number is optional. If it is not provided, Site24x7 will auto-detect the application's running port number.
- Create a file and add configuration values:
- Build your Docker image as usual and start the container.
Related articles
How to install various APM Insight agents in a Docker container
Java | .NET | PHP | Python
How to install various APM Insight agents in a Kubernetes environment
Java | .NET | PHP | Node.js | Python