Node.js package configuration options

Our 2.x integration is deprecated, please upgrade to 3.x. Migration information is available here.

The following list includes all configuration options with the name of the environment variable and the name of the key in the configuration file.

For more information on how to configure AppSignal with a configuration file or system environment variables, see our Configuration topic.

Available options

active

Config file keyactive
System environment keyAPPSIGNAL_ACTIVE
Requiredyes
TypeBoolean (true / false)
Default valuefalse

Description

Configure AppSignal to be active or not for a given environment. Most commonly used in the file configuration per environment.

apiKey

Config file keyapiKey
System environment keyAPPSIGNAL_PUSH_API_KEY
Requiredyes
TypeString
Default valuenil (This is unset by default)
Available since version1.0.0
Deprecated since version 2.2.5 in favor of the pushApiKey config option.

Description

Deprecated config option. Use the pushApiKey config option instead.

environment

Config file keyenvironment
System environment keyAPPSIGNAL_APP_ENV
Requiredyes
TypeString
Default valueRead from environment variable NODE_ENV, defaults to "development".

Description

The environment of the app to be reported to AppSignal.

name

Config file keyname
System environment keyAPPSIGNAL_APP_NAME
Requiredyes
TypeString
Default valuenil

Description

Name of your application as it should be displayed on AppSignal.com.

Note: Changing the name or environment of an existing app will create a new app on AppSignal.com.

pushApiKey

Config file keypushApiKey
System environment keyAPPSIGNAL_PUSH_API_KEY
Requiredyes
TypeString
Default valuenil (This is unset by default)
Available since version2.2.5
This config option was renamed from apiKey in version 2.2.5.

Description

The organization-level authentication key to authenticate with our Push API.

Read more about the AppSignal Push API key.

additionalInstrumentations

Config file keyadditionalInstrumentations
System environment key
Requiredno
Typelist(String)
Default value[]
Available since version3.0.0

Description

This option is only available in versions 3.x and higher. Please see the Migration Guide for more information on migrating from version 2.x to 3.x.

List of additional instrumentations that comply with OpenTelemetry guidelines, via third-party libraries or your own integrations.

caFilePath

Config file keycaFilePath
System environment keyAPPSIGNAL_CA_FILE_PATH
Requiredno
TypeString
Default valuePackaged cacert.pem file path.

Description

  • Use this option to point to another certificate file if there's a problem connecting to our API.
  • Note: The specified path cannot contain Operating Specific file system abstractions, such as the homedir symbol ~ for *NIX systems. This will be seen as a malformed path.

debug

Config file keydebug
System environment keyAPPSIGNAL_DEBUG
Requiredno
TypeBoolean (true / false)
Default valuefalse
Available since version1.0.0
Deprecated since version 2.2.6 in favor of the log_level config option.

Description

Warning: This config option is deprecated in Node.js package 2.2.6. Please use the logLevel option instead for Node.js package 2.2.6 and newer.

Enable debug logging, this is usually only needed on request from support. With this option enabled AppSignal will log a lot more information about decisions that are made during metrics collection and when data is sent to AppSignal.com servers.

Enabling debug logging could have a slight impact on the disk usage and IO, especially on high-traffic sites. CPU overhead is minimal with the debug option enabled.

This option sets the severity level of AppSignal's internal logger. This configuration option does not affect the logging feature.

disableDefaultInstrumentations

Config file keydisableDefaultInstrumentations
System environment keyAPPSIGNAL_DISABLE_DEFAULT_INSTRUMENTATIONS
Requiredno
TypeList or boolean
Default valuefalse
Available since version3.0.0

Description

This option is only available in versions 3.x and higher. Please see the Migration Guide for more information on migrating from version 2.x to 3.x.

Allows you to denylist the automatic instrumentation of default integrations:

  • @opentelemetry/instrumentation-express
  • @opentelemetry/instrumentation-fastify
  • @opentelemetry/instrumentation-fs
  • @opentelemetry/instrumentation-graphql
  • @opentelemetry/instrumentation-http
  • @opentelemetry/instrumentation-ioredis
  • @opentelemetry/instrumentation-knex
  • @opentelemetry/instrumentation-koa
  • @opentelemetry/instrumentation-mongodb
  • @opentelemetry/instrumentation-mongoose
  • @opentelemetry/instrumentation-mysql2
  • @opentelemetry/instrumentation-mysql
  • @opentelemetry/instrumentation-nestjs-core
  • @opentelemetry/instrumentation-pg
  • @opentelemetry/instrumentation-redis
  • @opentelemetry/instrumentation-redis-4
  • @opentelemetry/instrumentation-restify
  • @prisma/instrumentation

To disable all instrumentations, set option to true.

dnsServers

Config file keydnsServers
System environment keyAPPSIGNAL_DNS_SERVERS
Requiredno
Typelist(String)
Default value[]

Description

Configure DNS servers for the AppSignal agent to use.

# In the host environment
export APPSIGNAL_DNS_SERVERS="8.8.8.8,8.8.4.4"

If you're affected by our DNS timeouts, try setting a DNS server manually using this option that doesn't use more than 4 dots in the server name.

  • Acceptable values: 8.8.8.8, my.custom.local.server.
  • Not acceptable values: foo, my.awesome.custom.local.dns.server.

If the DNS server cannot be reached the agent will fall back on the host's DNS configuration and output a message in the appsignal.log file: A problem occurred while setting DNS servers.

enableHostMetrics

Config file keyenableHostMetrics
System environment keyAPPSIGNAL_ENABLE_HOST_METRICS
Requiredno
TypeBoolean (true / false)
Default valuetrue / detected by system

Description

Set this option to false to disable host metrics collection.

On Heroku and Dokku host metrics are disabled by default. This is done because these systems will report inaccurate metrics from within the containers. Host metrics collection on these systems cannot be enabled. For Heroku, use the Heroku log drain instead.

enableMinutelyProbes

Config file keyenableMinutelyProbes
System environment keyAPPSIGNAL_ENABLE_MINUTELY_PROBES
Requiredno
TypeBoolean (true / false)
Default valuetrue
Available since version0.4.0
2.3.0: Support added for the environment variable option.
2.3.0: Disables the minutely probes system from reporting metrics. Before version 2.3.0 it only unregistered the default probes.

Description

Enables the minutely probes system.

enableStatsd

Config file keyenableStatsd
System environment keyAPPSIGNAL_ENABLE_STATSD
Requiredno
TypeBoolean (true / false)
Default valuefalse
Available since version2.2.2

Description

Enables the StatsD server in the AppSignal agent.

filesWorldAccessible

Config file keyfilesWorldAccessible
System environment keyAPPSIGNAL_FILES_WORLD_ACCESSIBLE
Requiredno
TypeBoolean (true / false)
Default valuetrue
Available since version2.2.4

Description

If this is set to true the AppSignal working directory that is created is accessible for all users (Unix permissions 0666). This is often necessary because processes for the same app run under a different user. Set to false to disable this behaviour (Unix permissions 0644).

filterParameters

Config file keyfilterParameters
System environment keyAPPSIGNAL_FILTER_PARAMETERS
Requiredno
Typelist(String)
Default value[]
Available since version2.2.5

Description

List of parameter keys that should be ignored using AppSignal filtering. Their values will be replaced with [FILTERED] when transmitted to AppSignal.

Read more about parameter filtering.

filterSessionData

Config file keyfilterSessionData
System environment keyAPPSIGNAL_FILTER_SESSION_DATA
Requiredno
Typelist(String)
Default value[]
Available since version2.2.5

Description

List of session data keys that should be ignored using AppSignal filtering. Their values will be replaced with [FILTERED] when transmitted to AppSignal.

Read more about session data filtering.

hostname

Config file keyhostname
System environment keyAPPSIGNAL_HOSTNAME
Requiredno
TypeString
Default valuedetected from system

Description

This overrides the server's hostname. Useful for when you're unable to set a custom hostname or when a nondescript id is generated for you on hosting services.

httpProxy

Config file keyhttpProxy
System environment keyAPPSIGNAL_HTTP_PROXY
Requiredno
TypeString
Default valuenil (This is unset by default)

Description

If you require the agent to connect to the Internet via a proxy set the complete proxy URL in this configuration key.

ignoreActions

Config file keyignoreActions
System environment keyAPPSIGNAL_IGNORE_ACTIONS
Requiredno
Typelist(String)
Default value[]

Description

List of actions that will be ignored, everything that happens including exceptions will not be transmitted to AppSignal.

Read more about ignoring actions.

ignoreErrors

Config file keyignoreErrors
System environment keyAPPSIGNAL_IGNORE_ERRORS
Requiredno
Typelist(String)
Default value[]

Description

List of error classes that will be ignored. Any exception raised with this error class will not be transmitted to AppSignal. Read more about ignoring errors.

ignoreNamespaces

Config file keyignoreNamespaces
System environment keyAPPSIGNAL_IGNORE_NAMESPACES
Requiredno
Typelist(String)
Default value[]

Description

List of namespaces that will be ignored. Any error raised or slow request that occurs in this namespace will not be send to AppSignal. Read more about namespaces.

instrumentHttp

Config file keyinstrumentHttp
System environment keyAPPSIGNAL_INSTRUMENT_HTTP
Requiredno
TypeBoolean (true / false)
Default valuetrue
Available since version2.4.0
3.0.0: Deprecated

Description

Warning: This config option is deprecated in version 3.0.0. Please see the Migration Guide for more information on migrating from version 2.x to 3.x.

Whether to enable instrumentation for HTTP requests, can be true or false. We recommend this remains enabled, because other integrations like Express, Koa.js, etc. rely on it.

instrumentPg

Config file keyinstrumentPg
System environment keyAPPSIGNAL_INSTRUMENT_PG
Requiredno
TypeBoolean (true / false)
Default valuetrue
Available since version2.4.0
3.0.0: Deprecated

Description

Warning: This config option is deprecated in version 3.0.0. Please see the Migration Guide for more information on migrating from version 2.x to 3.x.

Whether to enable instrumentation for PostgreSQL queries using the pg package, can be true or false.

instrumentRedis

Config file keyinstrumentRedis
System environment keyAPPSIGNAL_INSTRUMENT_REDIS
Requiredno
TypeBoolean (true / false)
Default valuetrue
Available since version2.4.0
3.0.0: Deprecated

Description

Warning: This config option is deprecated in version 3.0.0. Please see the Migration Guide for more information on migrating from version 2.x to 3.x.

Whether to enable the instrumentation for Redis queries using the Redis package, can be true or false.

log

Config file keylog
System environment keyAPPSIGNAL_LOG
Requiredno
TypeString
Default valuefile

Description

This option configures what logger that AppSignal's internal logging functionality will use and does not affect the logging feature.
Note: At this time only the AppSignal integration supports the "stdout" log output feature. The AppSignal agent, which is used by the integration, does not support "stdout" log output. It will always write to the "appsignal.log" file.

Select which logger the AppSignal integration will use. Accepted values are file and stdout. See also the log_path configuration.

  • file (default)
    • Write all AppSignal logs to the file system.
  • stdout (default on Heroku)
    • Print AppSignal logs in the parent process' STDOUT instead of to a file. Useful with hosting solutions such as container systems and Heroku.

logLevel

Config file keylogLevel
System environment keyAPPSIGNAL_LOG_LEVEL
Requiredno
TypeString
Default valueinfo
Available since version2.2.6

Description

This option sets the severity level of AppSignal's internal logger and does not affect the logging feature.

Set the severity level of AppSignal's internal logger. If it is configured to "info" it will log all error, warning and info messages, but not log the debug messages.

Setting it to the levels "debug" or "trace" is usually only needed on request from support. Setting the level to "debug"/"trace" could have a slight impact on the disk usage and IO, especially on high-traffic sites. CPU overhead is minimal with the debug option enabled.

Accepted values:

  • error
  • warning
  • info
  • debug
  • trace

logPath

Config file keylogPath
System environment keyAPPSIGNAL_LOG_PATH
Requiredno
TypeString
Default value/tmp

Description

This option configures the location of AppSignal's internal logging file and does not affect the logging feature.
Note: The specified path cannot contain Operating Specific file system abstractions, such as the homedir symbol ~ for *NIX systems. This will be seen as a malformed path.

Override the location of the path (directory) where the appsignal.log file can be written to.

requestHeaders

Config file keyrequestHeaders
System environment keyAPPSIGNAL_REQUEST_HEADERS
Requiredno
Typelist(String)
Default value["accept", "accept-charset", "accept-encoding", "accept-language", "cache-control", "connection", "content-length", "range"]
Available since version2.2.5

Description

The requestHeaders config option contains a list of HTTP request headers which are read and stored by the AppSignal Node.js package.

This requestHeaders config option is an allowlist, which means that it will only take headers as specified by this config option. If this config option is unset it will use the AppSignal default.

Following list is the AppSignal package default.

client = Appsignal.new(
  // ...Other config opts
  requestHeaders: [
    "accept",
    "accept-charset",
    "accept-encoding",
    "accept-language",
    "cache-control",
    "connection",
    "content-length",
    "range"
  ]
)

To configure AppSignal to not store any HTTP request headers on AppSignal transactions, configure the option with an empty list.

client = Appsignal.new(
  // ...Other config opts
  requestHeaders: []
)

revision

Config file keyrevision
System environment keyAPP_REVISION
Requiredno
TypeString
Default valuenil (This is unset by default)
Available since version1.0.0

Description

Set the app revision for the currently running version of your app. Used to create deploy markers and tag all incoming data to a certain deploy for the host.

When using Heroku with the Heroku Labs: Dyno Metadata enabled it will automatically set the revision config option to to the HEROKU_SLUG_COMMIT system environment variable. This will automatically report new deploys when the Heroku app gets deployed. The revision can still be overwritten by setting the revision config option yourself.

Read more about deploy markers on the deploy markers.

sendEnvironmentMetadata

Config file keysendEnvironmentMetadata
System environment keyAPPSIGNAL_SEND_ENVIRONMENT_METADATA
Requiredno
TypeBoolean (true / false)
Default valuetrue
Available since version2.2.6

Description

Send environment metadata about the app.

For more information please read about environment metadata.

sendParams

Config file keysendParams
System environment keyAPPSIGNAL_SEND_PARAMS
Requiredno
TypeBoolean (true / false)
Default valuetrue
Available since version2.2.8

Description

Whether to skip sending request parameters to AppSignal.

For more information please read about send_params in filtering request parameters.

sendSessionData

Config file keysendSessionData
System environment keyAPPSIGNAL_SEND_SESSION_DATA
Requiredno
TypeBoolean (true / false)
Default valuetrue
Available since version2.2.9

Description

Set this option to false to not send any session data with exception traces and performance issue samples.

workingDirectoryPath

Config file keyworkingDirectoryPath
System environment keyAPPSIGNAL_WORKING_DIRECTORY_PATH
Requiredno
TypeString
Default valuedetected by agent
Available since version1.0.0

Description

Override the location where AppSignal for Node.js can store temporary files. Use this option if the default location is not suitable. See our how AppSignal operates page for more information about the purpose of this working directory.

If you are running multiple applications using AppSignal on the same server, use this configuration option to select different working directories for every AppSignal instance, otherwise the two instances could conflict with one another. For more information on this scenario see our running multiple applications on one host documentation.

// Example: appsignal.js
const { Appsignal } = require("@appsignal/nodejs");

const appsignal = new Appsignal({
  // Other config
  workingDirectoryPath: "/tmp/project_1"
});
Note: The specified path cannot contain Operating Specific file system abstractions, such as the homedir symbol ~ for *NIX systems. This will be seen as a malformed path.

Need more help?

Contact us and speak directly with the engineers working on AppSignal. They will help you get set up, tweak your code and make sure you get the most out of using AppSignal.

Contact us

Start a trial - 30 days free

AppSignal is a great way to monitor your Ruby, Elixir & Node.js applications. Works great with Rails, Phoenix, Express and other frameworks, with support for background jobs too. Let's improve your apps together.

Start a trial