Available options
- Required options
- Options
activejob_report_errorsbind_addressca_file_pathcpu_countdebugdefault_tagsdns_serversenable_active_support_event_log_reporterenable_allocation_trackingenable_at_exit_hookenable_at_exit_reporterenable_frontend_error_catchingenable_gvl_global_timerenable_gvl_waiting_threadsenable_host_metricsenable_job_enqueue_instrumentationenable_minutely_probesenable_nginx_metricsenable_rails_error_reporterenable_rake_performance_instrumentationenable_statsdendpointfiles_world_accessiblefilter_metadatafilter_parametersfilter_session_datahost_rolehostnamehttp_proxyignore_actionsignore_errorsignore_logsignore_namespacesinstrument_active_jobinstrument_code_ownershipinstrument_delayed_jobinstrument_exconinstrument_faradayinstrument_http_rbinstrument_mongoinstrument_net_httpinstrument_ownershipinstrument_queinstrument_redisinstrument_resqueinstrument_sequelinstrument_shoryukeninstrument_sidekiqloglog_levellog_pathnginx_portownership_set_namespacerequest_headersrevisionrunning_in_containersend_environment_metadatasend_paramssend_session_datasidekiq_report_errorsskip_session_datastatsd_porttransaction_debug_modeworking_dir_pathworking_directory_path
active
Description
Note: When the
APPSIGNAL_PUSH_API_KEY
environment variable is set, this defaults to true. This can be overridden
by setting the APPSIGNAL_ACTIVE system environment variable to false:
APPSIGNAL_ACTIVE=false.APPSIGNAL_APP_ENV
Description
The environment of the app to be reported to AppSignal. This config option will be automatically detected in Rails apps. For Rails apps theRAILS_ENV variable is used to detect the environment. For apps using other frameworks or none at all, the RACK_ENV environment variable is used.
To override this automatic detection, set the APPSIGNAL_APP_ENV environment variable.
Shell
production environment by default, such as Heroku. This setting allows an override to set the environment to staging, for example.
Shell
Appsignal.configure helper, it will override the APPSIGNAL_APP_ENV environment variable.
Note: Changing the name or environment of an existing app
will create a new app on AppSignal.com.
Note: This config option has no config file key equivalent. To set the
environment on AppSignal initialization, you’ll need to initialize the
configuration
manually.
Custom environments in config file
There is noenv key available in the config/appsignal.yml file. If you wish
to dynamically set the environment name for an app in the config file it’s
possible to customize your config file to use the environment to create an
environment.
YAML
APPSIGNAL_APP_ENV make sure that matches the value is any of the auto detected environment variable names (RAILS_ENV and RACK_ENV) or the value given to Appsignal.configure.
Note: Changing the name or environment of an existing app
will create a new app on AppSignal.com.
name
Description
Name of your application as it should be displayed on AppSignal.com. If you use Ruby on Rails the gem will auto-detect the name and you can leave this empty. For other frameworks setting this is mandatory.Note: Changing the name or environment of an existing app
will create a new app on AppSignal.com.
push_api_key
Description
The organization-level authentication key to authenticate with our Push API. Read more about the AppSignal Push API key.Note: When the
APPSIGNAL_PUSH_API_KEY system
environment variable is set, the active option will
default to true instead of false. This means AppSignal will be consider
active for the loaded environment even if active is set to false in the
config file. For more information see the active option.activejob_report_errors
Description
Configure the reporting of errors that occur in Active Job jobs. This option allows the disabling of error reporting for Active Job jobs, to allow for custom error reporting to be added. Accepted values:all: Report all errors for every execution of jobs, including retries.discard: Report errors when the job is discarded due to the error. Use this option to only report errors when all job retries have been exhausted.none: Report no errors for jobs, including retries.
Note: The
discard option only works on Active Job 7.1 and newer. On
lower versions discard is read as all.bind_address
Description
A valid IPv4 address the AppSignal agent uses as a binding for its TCP and UDP servers. Use a specific address if you only want the agent to listen to requests made to that address. Set this option to0.0.0.0 to allow to receive requests from hosts using any IP address. By default it only listens to requests made on the same host. This option is applied to all the agent servers (StatsD, OpenTelemetry and NGINX).
ca_file_path
Description
Configure the path of the SSL certificate file. By default this points to the AppSignal vendoredcacert.pem file in the gem itself.
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.cpu_count
Description
The available CPU capacity of the host, in number of CPUs. This is used to calculate the CPU usage percentage in the host metrics. If not set, the agent will attempt to automatically detect this from cgroups. The number of CPUs can be a fraction, e.g.0.5.
debug
Description
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.
default_tags
Description
Default tags that will be added to all transactions. Transaction-specific tags set withAppsignal.add_tags will override default tags with the same key.
Shell
dns_servers
Description
Configure DNS servers for the AppSignal agent to use.- Acceptable values:
8.8.8.8,my.custom.local.server. - Not acceptable values:
foo,my.awesome.custom.local.dns.server.
appsignal.log file: A problem occurred while setting DNS servers.
enable_active_support_event_log_reporter
Description
Enables theActiveSupport::EventReporter structured event reporting integration.
When enabled, the AppSignal integration subscribes to events emitted by ActiveSupport::EventReporter, and report them as logs.
enable_allocation_tracking
Description
Set this option tofalse to disable tracking of the number of allocated objects in Ruby.
enable_at_exit_hook
Description
Configure how AppSignal shuts down when the application shuts down. This will determine if it callsAppsignal.stop automatically, which will flush the data to the extension and the agent.
This option has three possible values:
always: Always callAppsignal.stopwhen the program exits. On (Docker) containers it’s automatically set to this value.never: Never callAppsignal.stopwhen the program exits. The default value when the program doesn’t run on a (Docker) container.on_error: CallAppsignal.stopwhen the program exits with an error.
enable_at_exit_reporter
Description
Set totrue to report the last error that caused the process to quit. The reported error is usually the error that crashes the process. If the Ruby gem already reported the error, it will not report it again.
Errors reported via this mechanism are added to the “unhandled” namespace.
Add this code to the start of the application on short-lived containers and serverless functions to ensure the error gets flushed before the system shuts down.
Ruby
enable_frontend_error_catching
Description
Enable the experimental front-end error catching system. This will add a route to your app on/appsignal_error_catcher that can be used to catch JavaScript error and send them to AppSignal. You can configure this route with frontend_error_catching_path.
enable_gvl_global_timer
Description
Set this option tofalse to disable the GVL global timer instrumentation. This configuration option has no effect if GVLTools is not installed.
enable_gvl_waiting_threads
Description
Set this option tofalse to disable the GVL waiting threads instrumentation. This configuration option has no effect if GVLTools is not installed.
enable_host_metrics
Description
Set this option tofalse 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.
enable_job_enqueue_instrumentation
Description
Enable or disable recording an event when a background job is enqueued. When enabled, enqueuing a job from within an active transaction records an enqueue event on that transaction’s event timeline. This applies to the enqueue instrumentation for each background job integration: Setting this tofalse stops these enqueue events from being recorded, without affecting the instrumentation of the jobs themselves. Enabled by default.
enable_minutely_probes
Description
Enables the minutely probes system.enable_nginx_metrics
Description
Set totrue to enable the NGINX metrics server. See the NGINX metrics documentation for details.
When enabled, the AppSignal agent will listen to a localhost-bound server on port 27649. If you’re running several AppSignal-instrumented applications in the same server, this configuration option can only be enabled in one of them.
enable_rails_error_reporter
Description
Set tofalse to disable the Rails error reporter subscriber. See the Rails documentation for details.
enable_rake_performance_instrumentation
Description
Enable performance instrumentation for Rake tasks. By default, the Rake instrumentation only reports errors.enable_statsd
Description
Enables the StatsD server in the AppSignal agent. When enabled, the AppSignal agent will listen to alocalhost-bound server on port 8125. If you’re running several AppSignal-instrumented applications in the same server, this configuration option can only be enabled in one of them.
endpoint
Description
Configure the endpoint to send data to AppSignal. This setting will not have to be changed.files_world_accessible
Description
If this is set totrue 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).
filter_metadata
Description
The AppSignal Ruby gem stores metadata about requests and background jobs on samples by default, like request path, request method, request id, background queue, job id and job retry count. These metadata values will be shown in the tags box. If any of these metadata values contain PII or other senstive data, use this config option to filter out metadata by key. Set thefilter_metadata option to a list of metadata keys that should be filtered out. You can configure this with a list of keys in the configuration file. When filtered the metadata will not be visible in the AppSignal UI.
filter_parameters
Description
List of parameter keys that should be ignored using AppSignal filtering. Their values will be replaced with[FILTERED] when transmitted to AppSignal. You can configure this with a list of keys in the configuration file.
filter_session_data
Description
List of session data keys that should be ignored using AppSignal filtering. Their values will be replaced with[FILTERED] when transmitted to AppSignal. You can configure this with a list of keys in the configuration file.
host_role
Description
Group hosts by role and generate metrics based on this role. One such metric is thereporting_hosts counter metric. A good role indicates what the main role of the server is, like “webserver”, “processor”, “api”, “database”, “loadbalancer”, etc.
hostname
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.http_proxy
Description
If you require the agent to connect to the Internet via a proxy set the complete proxy URL in this configuration key.ignore_actions
Description
With this config option you can specify a list of actions that will be ignored by AppSignal. Everything that happens including exceptions will not be transmitted to AppSignal. This can be useful to ignore health check endpoints or other actions that you don’t want to monitor. Read more about ignoring actions.ignore_errors
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.ignore_logs
Description
List of log messages that will be ignored. Any log message containing any of the elements of the list will not be transmitted to AppSignal. A small subset of regex syntax is supported, read more about it in our Ignore Logs guide.ignore_namespaces
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.instrument_active_job
Description
Enable or disable the instrumentation for Active Job. Setting this tofalse turns off the integration entirely, including both the job instrumentation and the enqueue instrumentation. Enabled by default.
instrument_code_ownership
Description
Whether to automatically instrument the CodeOwnership gem, can betrue or false.
instrument_delayed_job
Description
Enable or disable the instrumentation for Delayed::Job. Setting this tofalse turns off the integration entirely, including both the job instrumentation and the enqueue instrumentation. Enabled by default.
instrument_excon
Description
Enable or disable the instrumentation for Excon. Setting this tofalse turns off the integration entirely. Enabled by default.
instrument_faraday
Description
Enable or disable the instrumentation for the Faraday gem. Setting this tofalse turns off the integration entirely. Enabled by default.
instrument_http_rb
Description
Enable or disable the instrumentation for the http.rb Ruby gem. Enabled by default.instrument_mongo
Description
Enable or disable the MongoDB instrumentation, which covers the Mongo Ruby Driver and Mongoid. Setting this tofalse turns off the integration entirely. Enabled by default.
instrument_net_http
Description
Whether to add instrumentation fornet/http calls, can be true or false.
instrument_ownership
Description
Whether to automatically instrument the Ownership gem, can betrue or false.
instrument_que
Description
Enable or disable the instrumentation for Que. Setting this tofalse turns off the integration entirely, including both the job instrumentation and the enqueue instrumentation. Enabled by default.
instrument_redis
Description
Whether to enable the instrumentation for Redis queries using the Redis gem, can betrue or false.
instrument_resque
Description
Enable or disable the instrumentation for Resque. Setting this tofalse turns off the integration entirely, including both the job instrumentation and the enqueue instrumentation. Enabled by default.
instrument_sequel
Description
Whether to add instrumentation forsequel queries using the Sequel gem integration, can be true or false.
instrument_shoryuken
Description
Enable or disable the instrumentation for Shoryuken. Setting this tofalse turns off the integration entirely, including both the job instrumentation and the enqueue instrumentation. Enabled by default.
instrument_sidekiq
Description
Enable or disable the instrumentation for Sidekiq. Setting this tofalse turns off the integration entirely, including both the job instrumentation and the enqueue instrumentation. Enabled by default.
log
Description
This option configures what logger that AppSignal’s internal logging
functionality will use and does not affect the logging feature.Note: The AppSignal agent,
which is used by the integration, will always write to the “appsignal.log” file.
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.
log_level
Description
This option sets the severity level of AppSignal’s internal logger and does
not affect the logging feature.
- error
- warning
- info
- debug
- trace
log_path
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
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.appsignal.log file can
be written to.
nginx_port
Description
Configure the port on which the NGINX metrics server is exposed. When AppSignal receives NGINX metrics, it listens on alocalhost-bound server, by default on port 27649. If you’re running several AppSignal-instrumented applications in the same server with NGINX metrics enabled, use this option to configure each application to listen on a different port.
ownership_set_namespace
Description
Whether the Ownership gem instrumentation should set the namespace of a sample to its owner, can betrue or false.
request_headers
Description
Therequest_headers config option contains a list of HTTP request headers which are read and stored by the AppSignal Ruby gem.
This request_headers 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.
HTTP_ string, all header names are uppercased and dashes (-) are replaced with underscores (_).
For example, the X-Hub-Signature header can be access by your app and AppSignal with the HTTP_X_HUB_SIGNATURE name.
To configure AppSignal to not store any HTTP request headers on AppSignal transactions, configure the option with an empty array.
revision
Description
Set the app revision to report the currently running version of your app. AppSignal will create a deploy marker when this value changes, and tag all incoming data with the current revision. When your application is deployed using Kamal, or when it is deployed to Render, or when it is deployed to Heroku and the Heroku Labs: Dyno Metadata feature is enabled, the AppSignal integration will automatically detect the Git commit of the current deployment and use it as the revision. You can overwrite the automatically detected revisions in Heroku, Render or Kamal by manually setting therevision config option to a custom value.
Read more about deploy markers in the deploy markers topic.
running_in_container
Description
AppSignal expects to be running on the same machine between different deploys. Set this key totrue if the application is running in a container, such as with Docker.
Newer versions of the AppSignal integration automatically detect its container environment, so no manual configuration is necessary. If you’re having trouble with the automatic detection, please contact support.
This option is set to true automatically on Heroku.
send_environment_metadata
Description
Send environment metadata about the app. For more information please read about environment metadata.send_params
Description
Whether to skip sending request parameters to AppSignal. For more information please read about send_params in filtering request parameters.send_session_data
Description
Set this option tofalse to not send any session data with exception traces and performance issue samples.
For more information please read about request session data filtering.
sidekiq_report_errors
Description
Configure the reporting of errors that occur in Sidekiq jobs. Accepted values:all: Report all errors for every execution of jobs, including retries.discard: Report errors when the job is discarded due to the error. Use this option to only report errors when all job retries have been exhausted.none: Report no errors for jobs, including retries. Useful for custom error reporting.
Note: The
discard option only works on Sidekiq 5.1 and newer. On lower
versions discard is read as all.skip_session_data
Description
statsd_port
Description
Set this option to configure the StatsD HTTP server port of the AppSignal agent process. Configure this port if another process is already running on the machine that is also using this port to avoid conflicts.transaction_debug_mode
Description
Enable transaction debug mode. This enables very detailed logging of transactions and events which is useful when developing integrations or when events aren not tracked as expected. The log is only written if the generaldebug option is on as well.
This option sets the severity level of AppSignal’s internal logger and does
not affect the logging feature.
working_dir_path
Description
Override the location where AppSignal for Ruby creates a working directory.
See
working_directory_path
for the behavior it is applicable. This config option appends /appsignal to
the specified path, where
working_directory_path
does not.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.working_directory_path
Description
Override the location where AppSignal for Ruby 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.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.