This topic describes the settings that are available for configuring the Node.js Agent. To apply the settings, add them to the require statement for the Node.js Agent in the monitored application. You can use environment variables for some of the settings, as described below. See Install the Node.js Agent for more information.
On this page:
This is the complete list of settings in the require statement that you insert into your application code. Not all these settings are required.
- controllerHostName: The IP address or host name of your controller. SaaS customers receive this URL in their welcome email from AppDynamics. On-premises customers set them when they install the controller.
- controllerPort: The port to which the agent connects to the Controller. Typically 8090 for an on-premises Controller, and 443 for a SaaS Controller.
- controllerSslEnabled: Set to true if connecting to the controller via SSL.
- accountName: The account name on the Controller to which this agent will report. See Account Name and Access Key Requirements for details.
- accountAccessKey: Account access key on the controller.
- applicationName: Name that represents the entire application in the AppDynamics console.
- tierName: Name that represents your Node.js app or service in the flow maps
- nodeName: Name of the Node.js process to be monitored by this agent. See Node Names.
- noNodeNameSuffix: Optional: Set to true if you do not want the agent to add a suffix (-0, -1, -2, etc.) to the node name. See Node Names.
- proxyHost, proxyPort: Set these options to route data to the controller through a proxy server. The proxyHost is the host name or IP address of the proxy server. The proxyPort is the proxy server's HTTP or HTTPS port, whichever you are using. If you set the host you must set the port as well.
Configure the the proxy username and password file if the proxy server requires credentials.
- libagent: Set to true if you want to use the proxyless version of the Node.js agent.
- alwaysAddEumMetadataInHttpHeaders: Set to true to have the Node.js Agent write business transaction metadata to the XHR header and in a cookie even if the request is considered cross-origin. See the description for the equivalent setting
always-add-eum-metadata-in-http-headers in App Agent Node Properties Reference1 for more information.
btEntryPointDelayDisabled: true|false - Optional: defaults to false. Setting to true can accelerate the startup of business transactions, but it can adversely affect drilldown in distributed transactions.
debug: Set to true to enable debug level logging for the agent. Default is false.
- logging: The location, level, and other settings related to agent logging. For details, see Node.js Agent Logging
maxProcessSnapshotsPerPeriod: Optional. Default of 2. The number of automatic process snapshots allowed in processSnapshotCountResetPeriodSeconds seconds.
processSnapshotCountResetPeriodSeconds: Optional: defaults to 60. Frequency, in seconds, at which the automatic process snapshot count is reset to 0.
- autoSnapshotDurationSeconds: Optional: defaults to 10. Length, in seconds, of automatically-triggered process snapshots.
- proxyAutolaunchDisabled: true|false - Optional: default to false. Set to true if you need to manually launch the proxy for this agent. See Manually Starting the Java Proxy for Node.js Agents.
- proxyCtrlDir: Directory path for the directory containing the domain control socket, which the agent uses to start an AppDynamics node. Optional: set by the agent. Set manually if you are setting up a multi-tenant proxy. See Using a Shared Proxy for Node.js Agents.
- rootTmpDir: Directory path for the root of the directory that stores the agent's files. Optional: defaults to /tmp/appd.
- tmpDir: Directory path for the sub directory of the root directory for the monitored node. Optional: defaults to a hash of the controller info for the instrumented node.
- reuseNode: Set to True to enable reusing node names. This property is useful for monitoring environments where there are many nodes with short life spans. Default is false.
- reuseNodePrefix: Set to the string that prefixes the node name when reuseNode is set to true. The Controller uses this prefix to generate node names dynamically.
- certificateFile: Directory path for the directory containing the SSL certificate.
- uniqueHostId: The value of the unique host ID. This setting is only available for the proxy less version of the Node.js agent.
If you are configuring the Node.js Agent to send the default transaction data to the Analytics Agent, add a setting for the analytics host and port using the following format:
SSL: <true || false> }
The Analytics Agent may report on the same or different host and port numbers from the Node.js agent. In either case, you need to specify it here.
For more information see Collect Transaction Analytics Data.
On Windows, the Node.js Agent requires three additional ports. See Install the Node.js Agent on Windows for more information.
- proxyCommPort: default = 10101
- proxyRequestPort: default = 10102
- proxyReportingPort: default = 10103
Filter Sensitive Data
If your application contains sensitive data that should not be displayed in the Controller, you can apply the following data filters to the require statement for the Node.js Agent:
// Add a sensitive data filter
// Add an environment variable filter
// Add a sensitive URL filter
// Add a sensitive message filter
If you have not provided the required settings in the require statement, the agent uses the values of the following environment variables if those variables are set. If both are set, the require statement value takes precedence over the environment variable.
|Environment Variable||Maps to|
|APPDYNAMICS_ANALYTICS_HOST_NAME||host (in Analytics settings)|
|APPDYNAMICS_ANALYTICS_PORT||port (in Analytics settings)|
|APPDYNAMICS_ANALYTICS_SSL_ENABLED||ssl (in Analytics settings)|
You can set the unique host ID to any value that you want to use to identify the host. If you do not specify a value, the agent will generate the host ID for you.
This environment variable is only supported in the proxyless version of the Node.js agent.