AppDynamics switched from Semantic Versioning to Calendar Versioning starting in February 2020 for some agents and March 2020 for the entire product suite.


    Skip to end of metadata
    Go to start of metadata

    This page 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 below. See Install the Node.js Agent.  

    General Settings

    This is the complete list of settings in the require statement that you insert into your application code. Not all of these settings are required.

    Property NameDescription
    controllerHostNameThe IP address or hostname 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. It is 8090 for an on-premises Controller, and 443 for a SaaS Controller. 

    controllerSslEnabledSet this property to true if connecting to the Controller via SSL.
    accountNameThe account name on the Controller to which this agent will report. See Account Name and Access Key Requirements for details.
    accountAccessKeyAccount access key on the Controller.
    applicationNameName that represents the entire application in the AppDynamics console.
    tierNameName that represents your Node.js app or service in the flow maps.
    nodeNameName of the Node.js process to be monitored by this agent. See Node Names.
    noNodeNameSuffixOptional, set to true if you do not want the agent to add a suffix, such as -0, -1, -2, and so on, to the node name. See Node Names.
    proxyHost, proxyPortSet these options to route data to the Controller through a proxy server. The proxyHost is the hostname 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.
    proxyUser, proxyPasswordFileConfigure the proxy username and password file if the proxy server requires credentials.
    proxySet this property to true if you want to use the Java proxy version of the Node.js agent.
    alwaysAddEumMetadataInHttpHeadersSet this property 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 Reference for more information. 
    btEntryPointDelayDisabledtrue|false - Optional, defaults to false. Setting this property to true can accelerate the startup of business transactions, but it can adversely affect the drill-down in distributed transactions.
    debugSet this property to true to enable debug level logging for the agent. The default is false.
    loggingThe location, level, and other settings related to agent logging. See Node.js Agent Logging.
    maxProcessSnapshotsPerPeriodOptional. The default is 2. The number of automatic process snapshots allowed in processSnapshotCountResetPeriodSeconds seconds. 
    processSnapshotCountResetPeriodSecondsOptional, 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, defaults to false. Set this property to true if you need to manually launch the proxy for this agent. See Manually Starting the Java Proxy for Node.js Agents. 

    proxyCtrlDirDirectory 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 Sharing a Proxy Among Node.js Agents.
    rootTmpDir

    Directory path for the root of the directory that stores the agent files. Optional, defaults to /tmp/appds.

    tmpDirDirectory path for the subdirectory of the root directory for the monitored node. Optional, defaults to a hash of the Controller info for the instrumented node.
    reuseNodeSet this property to true to enable reusing node names. This property is useful for monitoring environments where there are many nodes with short life spans. The default is false.
    reuseNodePrefixSet this property to the string that prefixes the node name when reuseNode is set to true. The Controller uses this prefix to generate node names dynamically.
    certificateFileDirectory path for the directory containing the SSL certificate.
    uniqueHostIdThe unique host ID can be set to any value that will identify the host. If a value is not specified, the agent will generate the host ID. This setting is only available for the proxyless version of the Node.js Agent.

    Analytics Settings

    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:

    analytics: {
        host: <analyticsHostName>,
        port: <analyticsPort>,
        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.

    Windows Settings

    On Windows, the Node.js Agent requires three additional ports. See Install the Node.js Agent on Windows for more information.

    • proxyCommPort: default is 10101
    • proxyRequestPort: default is 10102
    • proxyReportingPort: default is 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 
    dataFilters: [{
       "appliesTo": "http-headers",
       "matchPattern": "host"
    }],
     
    // Add an environment variable filter 
    dataFilters: [{
       "appliesTo": "env-vars",
       "matchPattern": "password|key"
    }],
    
    // Add a sensitive URL filter 
    urlFilters: [{
       "delimiter": "/",
       "segment": "1",
       "matchPattern": "a",
       "paramPattern": "bar"
    }],
    
    // Add a sensitive message filter 
    messageFilters: [{
       "messageType": "throwable",
       "matchPattern": "Error.*proxy.",
       "redactionRegex": "proxy"
    }]

    The matchpattern/parampattern is a standard regex.

    Environment Variables

    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 VariableMaps To
    APPDYNAMICS_CONTROLLER_HOST_NAME controllerHostName
    APPDYNAMICS_CONTROLLER_PORTcontrollerPort
    APPDYNAMICS_CONTROLLER_SSL_ENABLEDcontrollerSslEnabled
    APPDYNAMICS_AGENT_ACCOUNT_NAMEaccountName
    APPDYNAMICS_LOGGER_OUTPUT_TYPEUser can stream logs to stdout by setting its value to "console".

    APPDYNAMICS_LOGGER_LEVEL

    User can set the logging level of the agent.

    Possible values are FATAL, ERROR, WARN, INFO, DEBUG, and TRACE.

    APPDYNAMICS_AGENT_ACCOUNT_ACCESS_KEYaccountAccessKey
    APPDYNAMICS_AGENT_APPLICATION_NAMEapplicationName
    APPDYNAMICS_AGENT_TIER_NAMEtierName
    APPDYNAMICS_AGENT_NODE_NAMEnodeName
    APPDYNAMICS_AGENT_UNIQUE_HOST_ID
    APPDYNAMICS_ANALYTICS_HOST_NAMEhost—in Analytics settings
    APPDYNAMICS_ANALYTICS_PORTport—in Analytics settings
    APPDYNAMICS_ANALYTICS_SSL_ENABLEDsslin Analytics settings
    UNIQUE_HOST_ID

    uniqueHostId

    This environment variable is only supported in the proxyless version of the Node.js Agent.

    • No labels