You can configure the New Relic Ruby agent with settings in a configuration file, environment variables, or programmatically with server-side configuration. This document summarizes the configuration options available for the Ruby agent.
If the default value for a configuration option is (Dynamic)
, this means the Ruby agent calculates the default at runtime. The value for the config setting defaults to the value of another setting as appropriate.
Configuration methods and precedence
The primary (default) method to configure the Ruby agent is via the configuration file (newrelic.yml
) in the config
subdirectory. To set configuration values using environment variables:
- Add the prefix
NEW_RELIC_
to the setting's name. - Replace any periods
.
with underscores_
.
You can also configure a few values in the UI via server-side configuration.
The Ruby agent follows this order of precedence for configuration:
- Environment variables
- Server-side configuration
- Configuration file (
newrelic.yml
) - Default configuration settings
In other words, environment variables override all other configuration settings and info, server-side configuration overrides the configuration file and default config settings, and so on.
View and edit config file options
The Ruby agent's newrelic.yml
is a standard YAML configuration file. It typically includes a Defaults
section at the top, plus sections below for each application environment (Development
, Test
, Staging
, and Production
).
The Ruby agent determines which section of the newrelic.yml
config file to read from by looking at certain environment variables to derive the application's environment. This can be useful when you want to use info
for the log_level
config setting in your production environment, and you want more verbose log_level
config settings (such as debug
) in your development environment.
Here is an example newrelic.yml
config file:
common: &default_settings license_key: 'YOUR_LICENSE_KEY' app_name: 'My Application Name'production: <<: *default_settings log_level: infodevelopment: <<: *default_settings log_level: debug
The Ruby agent looks for the following environment variables, in this order, to find the application environment:
NEW_RELIC_ENV
RUBY_ENV
RAILS_ENV
APP_ENV
RACK_ENV
If the Ruby agent doesn't detect values for any of those environment variables, it will default the application environment to development
and read from the development
section of the newrelic.yml
config file.
When running the Ruby agent in a Rails app, the agent first looks for the NEW_RELIC_ENV
environment variable to find the application environment and which section of the newrelic.yml
to use. If NEW_RELIC_ENV
is not present, the agent uses the Rails environment (RAILS_ENV
).
When you edit the config file, be sure to:
- Indent only with two spaces.
- Indent only where relevant, in sections such as
error_collector
.
If you do not indent correctly, the agent may throw an Unable to parse configuration file
error on startup.
To view the most current list of available Ruby agent configuration options, use the rake newrelic:config:docs
command. This document describes the most common options.
Update the config file
This documentation applies to the Ruby agent's latest release. For details on earlier versions, refer to the comments in newrelic.yml
itself.
To update newrelic.yml
file after a new release, use the template in the base directory of the agent gem. When you update to new gem versions, examine or diff config/newrelic.yml
and newrelic.yml
in the installation directory to take advantage of new configuration options.
Important
Updating the gem does not automatically update config/newrelic.yml
.
General
These settings are available for agent configuration. Some settings depend on your New Relic subscription level.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_AGENT_ENABLED |
If true
, allows the Ruby agent to run.
Type | String |
---|---|
Default | (Dynamic) |
Environ variable | NEW_RELIC_APP_NAME |
Specify the application name used to aggregate data in the New Relic UI. To report data to multiple apps at the same time, specify a list of names separated by a semicolon ;
. For example, MyApp
or MyStagingApp;Instance1
.
Type | String |
---|---|
Default | "" |
Environ variable | NEW_RELIC_LICENSE_KEY |
Your New Relic .
Type | String |
---|---|
Default | "info" |
Environ variable | NEW_RELIC_LOG_LEVEL |
Sets the level of detail of log messages. Possible log levels, in increasing verbosity, are: error
, warn
, info
or debug
.
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_ACTIVE_SUPPORT_CUSTOM_EVENTS_NAMES |
An array of ActiveSupport custom event names to subscribe to and instrument. For example,
- one.custom.event
- another.event
- a.third.event
Type | String |
---|---|
Default | "" |
Environ variable | NEW_RELIC_API_KEY |
Your New Relic . Required when using the New Relic REST API v2 to record deployments using the newrelic deployments
command.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_BACKPORT_FAST_ACTIVE_RECORD_CONNECTION_LOOKUP |
Backports the faster ActiveRecord connection lookup introduced in Rails 6, which improves agent performance when instrumenting ActiveRecord. Note that this setting may not be compatible with other gems that patch ActiveRecord.
Type | String |
---|---|
Default | nil |
Environ variable | NEW_RELIC_CA_BUNDLE_PATH |
Manual override for the path to your local CA bundle. This CA bundle validates the SSL certificate presented by New Relic's data collection service.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_CAPTURE_MEMCACHE_KEYS |
Enable or disable the capture of memcache keys from transaction traces.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_CAPTURE_PARAMS |
When true
, the agent captures HTTP request parameters and attaches them to transaction traces, traced errors, and TransactionError
events.
Caution
When using the capture_params
setting, the Ruby agent will not attempt to filter secret information. Recommendation:
To filter secret information from request parameters, use the attributes.include
setting instead. For more information, see the Ruby attribute examples.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_CLEAR_TRANSACTION_STATE_AFTER_FORK |
If true
, the agent will clear Tracer::State
in Agent.drop_buffered_data
.
Type | String |
---|---|
Default | (Dynamic) |
Environ variable | NEW_RELIC_CONFIG_PATH |
Path to newrelic.yml
. If undefined, the agent checks the following directories (in order):
config/newrelic.yml
newrelic.yml
$HOME/.newrelic/newrelic.yml
$HOME/newrelic.yml
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_EXCLUDE_NEWRELIC_HEADER |
Allows newrelic distributed tracing headers to be suppressed on outbound requests.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_FORCE_INSTALL_EXIT_HANDLER |
The exit handler that sends all cached data to the collector before shutting down is forcibly installed. This is true even when it detects scenarios where it generally should not be. The known use case for this option is when Sinatra runs as an embedded service within another framework. The agent detects the Sinatra app and skips the at_exit
handler as a result. Sinatra classically runs the entire application in an at_exit
block and would otherwise misbehave if the agent's at_exit
handler was also installed in those circumstances. Note: send_data_on_exit
should also be set to true
in tandem with this setting.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_HIGH_SECURITY |
If true
, enables high security mode. Ensure you understand the implications of high security mode before enabling this setting.
Type | String |
---|---|
Default | "" |
Environ variable | NEW_RELIC_LABELS |
A dictionary of label names and values that will be applied to the data sent from this agent. May also be expressed as a semicolon-delimited ;
string of colon-separated :
pairs. For example, Server:One;Data Center:Primary
.
Type | String |
---|---|
Default | "newrelic_agent.log" |
Environ variable | NEW_RELIC_LOG_FILE_NAME |
Defines a name for the log file.
Type | String |
---|---|
Default | "log/" |
Environ variable | NEW_RELIC_LOG_FILE_PATH |
Defines a path to the agent log file, excluding the filename.
Type | String |
---|---|
Default | "json" |
Environ variable | NEW_RELIC_MARSHALLER |
Specifies a marshaller for transmitting data to the New Relic collector. Currently json
is the only valid value for this setting.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_MONITOR_MODE |
When true
, the agent transmits data about your app to the New Relic collector.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_PREPEND_ACTIVE_RECORD_INSTRUMENTATION |
If true
, uses Module#prepend
rather than alias_method
for ActiveRecord instrumentation.
Type | String |
---|---|
Default | nil |
Environ variable | NEW_RELIC_PROXY_HOST |
Defines a host for communicating with the New Relic collector via a proxy server.
Type | String |
---|---|
Default | nil |
Environ variable | NEW_RELIC_PROXY_PASS |
Defines a password for communicating with the New Relic collector via a proxy server.
Type | Integer |
---|---|
Default | 8080 |
Environ variable | NEW_RELIC_PROXY_PORT |
Defines a port for communicating with the New Relic collector via a proxy server.
Type | String |
---|---|
Default | nil |
Environ variable | NEW_RELIC_PROXY_USER |
Defines a user for communicating with the New Relic collector via a proxy server.
Type | String |
---|---|
Default | "" |
Environ variable | NEW_RELIC_SECURITY_POLICIES_TOKEN |
Applies Language Agent Security Policy settings.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_SEND_DATA_ON_EXIT |
If true
, enables the exit handler that sends data to the New Relic collector before shutting down.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_SYNC_STARTUP |
When set to true
, forces a synchronous connection to the New Relic collector during application startup. For very short-lived processes, this helps ensure the New Relic agent has time to report.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_THREAD_LOCAL_TRACER_STATE |
If true
, tracer state storage is thread-local, otherwise, fiber-local
Type | Integer |
---|---|
Default | 120 |
Environ variable | NEW_RELIC_TIMEOUT |
Defines the maximum number of seconds the agent should spend attempting to connect to the collector.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_ALLOW_ALL_HEADERS |
If true
, enables capture of all HTTP request headers for all destinations.
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_AUTOMATIC_CUSTOM_INSTRUMENTATION_METHOD_LIST |
An array of CLASS#METHOD
(for instance methods) and/or CLASS.METHOD
(for class methods) strings representing Ruby methods that the agent can automatically add custom instrumentation to. This doesn't require any modifications of the source code that defines the methods.
Use fully qualified class names (using the ::
delimiter) that include any module or class namespacing.
Here is some Ruby source code that defines a render_png
instance method for an Image
class and a notify
class method for a User
class, both within a MyCompany
module namespace:
module MyCompany class Image def render_png # code to render a PNG end end
class User def self.notify # code to notify users end endend
Given that source code, the newrelic.yml
config file might request instrumentation for both of these methods like so:
automatic_custom_instrumentation_method_list: - MyCompany::Image#render_png - MyCompany::User.notify
That configuration example uses YAML array syntax to specify both methods. Alternatively, you can use a comma-delimited string:
automatic_custom_instrumentation_method_list: 'MyCompany::Image#render_png, MyCompany::User.notify'
Whitespace around the comma(s) in the list is optional. When configuring the agent with a list of methods via the NEW_RELIC_AUTOMATIC_CUSTOM_INSTRUMENTATION_METHOD_LIST
environment variable, use this comma-delimited string format:
$export NEW_RELIC_AUTOMATIC_CUSTOM_INSTRUMENTATION_METHOD_LIST='MyCompany::Image#render_png, MyCompany::User.notify'
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_DEFER_RAILS_INITIALIZATION |
If true
, when the agent is in an application using Ruby on Rails, it will start after config/initializers
run.
Caution
This option may only be set by environment variable.
Transaction Tracer
The transaction traces feature collects detailed information from a selection of transactions, including a summary of the calling sequence, a breakdown of time spent, and a list of SQL queries and their query plans (on mysql and postgresql). Available features depend on your New Relic subscription level.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_TRANSACTION_TRACER_ENABLED |
If true
, enables collection of transaction traces.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_TRANSACTION_TRACER_EXPLAIN_ENABLED |
If true
, enables the collection of explain plans in transaction traces. This setting will also apply to explain plans in slow SQL traces if slow_sql.explain_enabled
is not set separately.
Type | Float |
---|---|
Default | 0.5 |
Environ variable | NEW_RELIC_TRANSACTION_TRACER_EXPLAIN_THRESHOLD |
Threshold (in seconds) above which the agent will collect explain plans. Relevant only when explain_enabled
is true.
Type | Integer |
---|---|
Default | 4000 |
Environ variable | NEW_RELIC_TRANSACTION_TRACER_LIMIT_SEGMENTS |
Maximum number of transaction trace nodes to record in a single transaction trace.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_TRANSACTION_TRACER_RECORD_REDIS_ARGUMENTS |
If true
, the agent records Redis command arguments in transaction traces.
Type | String |
---|---|
Default | "obfuscated" |
Environ variable | NEW_RELIC_TRANSACTION_TRACER_RECORD_SQL |
Obfuscation level for SQL queries reported in transaction trace nodes.
By default, this is set to obfuscated
, which strips out the numeric and string literals.
- If you do not want the agent to capture query information, set this to
none
. - If you want the agent to capture all query information in its original form, set this to
raw
. - When you enable high security mode, this is automatically set to
obfuscated
.
Type | Float |
---|---|
Default | 0.5 |
Environ variable | NEW_RELIC_TRANSACTION_TRACER_STACK_TRACE_THRESHOLD |
Specify a threshold in seconds. The agent includes stack traces in transaction trace nodes when the stack trace duration exceeds this threshold.
Type | Float |
---|---|
Default | (Dynamic) |
Environ variable | NEW_RELIC_TRANSACTION_TRACER_TRANSACTION_THRESHOLD |
Specify a threshold in seconds. Transactions with a duration longer than this threshold are eligible for transaction traces. Specify a float value or the string apdex_f
.
Error Collector
The agent collects and reports all uncaught exceptions by default. These configuration options allow you to customize the error collection.
For information on ignored and expected errors, see this page on Error Analytics in APM. To set expected errors via the NewRelic::Agent.notice_error
Ruby method, consult the Ruby agent API.
Type | Array |
---|---|
Default | ["ActionController::RoutingError", "Sinatra::NotFound"] |
Environ variable | None |
A list of error classes that the agent should ignore.
Caution
This option can't be set via environment variable.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_ERROR_COLLECTOR_CAPTURE_EVENTS |
If true
, the agent collects TransactionError
events.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_ERROR_COLLECTOR_ENABLED |
If true
, the agent captures traced errors and error count metrics.
Type | Array |
---|---|
Default | [] |
Environ variable | None |
A list of error classes that the agent should treat as expected.
Caution
This option can't be set via environment variable.
Type | Hash |
---|---|
Default | {} |
Environ variable | None |
A map of error classes to a list of messages. When an error of one of the classes specified here occurs, if its error message contains one of the strings corresponding to it here, that error will be treated as expected.
Caution
This option can't be set via environment variable.
Type | String |
---|---|
Default | "" |
Environ variable | NEW_RELIC_ERROR_COLLECTOR_EXPECTED_STATUS_CODES |
A comma separated list of status codes, possibly including ranges. Errors associated with these status codes, where applicable, will be treated as expected.
Type | Hash |
---|---|
Default | {} |
Environ variable | None |
A map of error classes to a list of messages. When an error of one of the classes specified here occurs, if its error message contains one of the strings corresponding to it here, that error will be ignored.
Caution
This option can't be set via environment variable.
Type | String |
---|---|
Default | "" |
Environ variable | NEW_RELIC_ERROR_COLLECTOR_IGNORE_STATUS_CODES |
A comma separated list of status codes, possibly including ranges. Errors associated with these status codes, where applicable, will be ignored.
Type | Integer |
---|---|
Default | 50 |
Environ variable | NEW_RELIC_ERROR_COLLECTOR_MAX_BACKTRACE_FRAMES |
Defines the maximum number of frames in an error backtrace. Backtraces over this amount are truncated in the middle, preserving the beginning and the end of the stack trace.
Type | Integer |
---|---|
Default | 100 |
Environ variable | NEW_RELIC_ERROR_COLLECTOR_MAX_EVENT_SAMPLES_STORED |
Defines the maximum number of TransactionError
events reported per harvest cycle.
Browser Monitoring
The page load timing feature (sometimes referred to as real user monitoring or RUM) gives you insight into the performance real users are experiencing with your website. This is accomplished by measuring the time it takes for your users' browsers to download and render your web pages by injecting a small amount of JavaScript code into the header and footer of each page.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_BROWSER_MONITORING_AUTO_INSTRUMENT |
If true
, enables auto-injection of the JavaScript header for page load timing (sometimes referred to as real user monitoring or RUM).
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_BROWSER_MONITORING_CONTENT_SECURITY_POLICY_NONCE |
If true
, enables auto-injection of Content Security Policy Nonce in browser monitoring scripts. For now, auto-injection only works with Rails 5.2+.
Transaction Events
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_TRANSACTION_EVENTS_ENABLED |
If true
, enables transaction event sampling.
Type | Integer |
---|---|
Default | 1200 |
Environ variable | NEW_RELIC_TRANSACTION_EVENTS_MAX_SAMPLES_STORED |
Defines the maximum number of transaction events reported from a single harvest.
Application Logging
The Ruby agent supports APM logs in context. For some tips on configuring logs for the Ruby agent, see Configure Ruby logs in context.
Available logging-related config options include:
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_APPLICATION_LOGGING_ENABLED |
If true
, enables log decoration and the collection of log events and metrics.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_APPLICATION_LOGGING_FORWARDING_ENABLED |
If true
, the agent captures log records emitted by your application.
Type | String |
---|---|
Default | "debug" |
Environ variable | NEW_RELIC_APPLICATION_LOGGING_FORWARDING_LOG_LEVEL |
Sets the minimum level a log event must have to be forwarded to New Relic.
This is based on the integer values of Ruby's Logger::Severity
constants: https://github.com/ruby/ruby/blob/master/lib/logger/severity.rb
The intention is to forward logs with the level given to the configuration, as well as any logs with a higher level of severity.
For example, setting this value to "debug" will forward all log events to New Relic. Setting this value to "error" will only forward log events with the levels "error", "fatal", and "unknown".
Valid values (ordered lowest to highest):
- "debug"
- "info"
- "warn"
- "error"
- "fatal"
- "unknown"
Type | Hash |
---|---|
Default | {} |
Environ variable | NEW_RELIC_APPLICATION_LOGGING_FORWARDING_CUSTOM_ATTRIBUTES |
A hash with key/value pairs to add as custom attributes to all log events forwarded to New Relic. If sending using an environment variable, the value must be formatted like: "key1=value1,key2=value2"
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_APPLICATION_LOGGING_FORWARDING_LABELS_ENABLED |
If true
, the agent attaches labels to log records.
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_APPLICATION_LOGGING_FORWARDING_LABELS_EXCLUDE |
A case-insensitive array or comma-delimited string containing the labels to exclude from log records.
Type | Integer |
---|---|
Default | 10000 |
Environ variable | NEW_RELIC_APPLICATION_LOGGING_FORWARDING_MAX_SAMPLES_STORED |
Defines the maximum number of log records to buffer in memory at a time.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_APPLICATION_LOGGING_LOCAL_DECORATING_ENABLED |
If true
, the agent decorates logs with metadata to link to entities, hosts, traces, and spans.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_APPLICATION_LOGGING_METRICS_ENABLED |
If true
, the agent captures metrics related to logging for your application.
AI Monitoring
This section includes Ruby agent configurations for setting up AI monitoring.
Important
You need to enable distributed tracing to capture trace and feedback data. It is turned on by default in Ruby agents 8.0.0 and higher.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_AI_MONITORING_ENABLED |
If false
, all LLM instrumentation (OpenAI only for now) will be disabled and no metrics, events, or spans will be sent. AI Monitoring is automatically disabled if high_security
mode is enabled.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_AI_MONITORING_RECORD_CONTENT_ENABLED |
If false
, LLM instrumentation (OpenAI only for now) will not capture input and output content on specific LLM events.
The excluded attributes include:
content
from LlmChatCompletionMessage eventsinput
from LlmEmbedding eventsThis is an optional security setting to prevent recording sensitive data sent to and received from your LLMs.
Attributes
Attributes are key-value pairs containing information that determines the properties of an event or transaction. These key-value pairs can be viewed within transaction traces in APM, traced errors in APM, transaction events in dashboards, and page views in dashboards. You can customize exactly which attributes will be sent to each of these destinations
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_ATTRIBUTES_ENABLED |
If true
, enables capture of attributes for all destinations.
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_ATTRIBUTES_EXCLUDE |
Prefix of attributes to exclude from all destinations. Allows *
as wildcard at end.
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_ATTRIBUTES_INCLUDE |
Prefix of attributes to include in all destinations. Allows *
as wildcard at end.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_BROWSER_MONITORING_ATTRIBUTES_ENABLED |
If true
, the agent captures attributes from browser monitoring.
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_BROWSER_MONITORING_ATTRIBUTES_EXCLUDE |
Prefix of attributes to exclude from browser monitoring. Allows *
as wildcard at end.
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_BROWSER_MONITORING_ATTRIBUTES_INCLUDE |
Prefix of attributes to include in browser monitoring. Allows *
as wildcard at end.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_ERROR_COLLECTOR_ATTRIBUTES_ENABLED |
If true
, the agent captures attributes from error collection.
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_ERROR_COLLECTOR_ATTRIBUTES_EXCLUDE |
Prefix of attributes to exclude from error collection. Allows *
as wildcard at end.
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_ERROR_COLLECTOR_ATTRIBUTES_INCLUDE |
Prefix of attributes to include in error collection. Allows *
as wildcard at end.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_SPAN_EVENTS_ATTRIBUTES_ENABLED |
If true
, the agent captures attributes on span events.
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_SPAN_EVENTS_ATTRIBUTES_EXCLUDE |
Prefix of attributes to exclude from span events. Allows *
as wildcard at end.
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_SPAN_EVENTS_ATTRIBUTES_INCLUDE |
Prefix of attributes to include on span events. Allows *
as wildcard at end.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_TRANSACTION_EVENTS_ATTRIBUTES_ENABLED |
If true
, the agent captures attributes from transaction events.
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_TRANSACTION_EVENTS_ATTRIBUTES_EXCLUDE |
Prefix of attributes to exclude from transaction events. Allows *
as wildcard at end.
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_TRANSACTION_EVENTS_ATTRIBUTES_INCLUDE |
Prefix of attributes to include in transaction events. Allows *
as wildcard at end.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_TRANSACTION_SEGMENTS_ATTRIBUTES_ENABLED |
If true
, the agent captures attributes on transaction segments.
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_TRANSACTION_SEGMENTS_ATTRIBUTES_EXCLUDE |
Prefix of attributes to exclude from transaction segments. Allows *
as wildcard at end.
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_TRANSACTION_SEGMENTS_ATTRIBUTES_INCLUDE |
Prefix of attributes to include on transaction segments. Allows *
as wildcard at end.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_TRANSACTION_TRACER_ATTRIBUTES_ENABLED |
If true
, the agent captures attributes from transaction traces.
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_TRANSACTION_TRACER_ATTRIBUTES_EXCLUDE |
Prefix of attributes to exclude from transaction traces. Allows *
as wildcard at end.
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_TRANSACTION_TRACER_ATTRIBUTES_INCLUDE |
Prefix of attributes to include in transaction traces. Allows *
as wildcard at end.
Audit Log
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_AUDIT_LOG_ENABLED |
If true
, enables an audit log which logs communications with the New Relic collector.
Type | Array |
---|---|
Default | [".*"] |
Environ variable | NEW_RELIC_AUDIT_LOG_ENDPOINTS |
List of allowed endpoints to include in audit log.
Type | String |
---|---|
Default | log/newrelic_audit.log |
Environ variable | NEW_RELIC_AUDIT_LOG_PATH |
Specifies a path to the audit log file (including the filename).
Autostart
Type | String |
---|---|
Default | "Rails::Command::ConsoleCommand,Rails::Command::CredentialsCommand,Rails::Command::Db::System::ChangeCommand,Rails::Command::DbConsoleCommand,Rails::Command::DestroyCommand,Rails::Command::DevCommand,Rails::Command::EncryptedCommand,Rails::Command::GenerateCommand,Rails::Command::InitializersCommand,Rails::Command::NotesCommand,Rails::Command::RoutesCommand,Rails::Command::RunnerCommand,Rails::Command::SecretsCommand,Rails::Console,Rails::DBConsole" |
Environ variable | NEW_RELIC_AUTOSTART_DENYLISTED_CONSTANTS |
Specify a list of constants that should prevent the agent from starting automatically. Separate individual constants with a comma ,
. For example, "Rails::Console,UninstrumentedBackgroundJob"
.
Type | String |
---|---|
Default | "irb,rspec" |
Environ variable | NEW_RELIC_AUTOSTART_DENYLISTED_EXECUTABLES |
Defines a comma-delimited list of executables that the agent should not instrument. For example, "rake,my_ruby_script.rb"
.
Type | String |
---|---|
Default | "about,assets:clean,assets:clobber,assets:environment,assets:precompile,assets:precompile:all,db:create,db:drop,db:fixtures:load,db:migrate,db:migrate:status,db:rollback,db:schema:cache:clear,db:schema:cache:dump,db:schema:dump,db:schema:load,db:seed,db:setup,db:structure:dump,db:version,doc:app,log:clear,middleware,notes,notes:custom,rails:template,rails:update,routes,secret,spec,spec:features,spec:requests,spec:controllers,spec:helpers,spec:models,spec:views,spec:routing,spec:rcov,stats,test,test:all,test:all:db,test:recent,test:single,test:uncommitted,time:zones:all,tmp:clear,tmp:create,webpacker:compile" |
Environ variable | NEW_RELIC_AUTOSTART_DENYLISTED_RAKE_TASKS |
Defines a comma-delimited list of Rake tasks that the agent should not instrument. For example, "assets:precompile,db:migrate"
.
Cloud
Type | String |
---|---|
Default | nil |
Environ variable | NEW_RELIC_CLOUD_AWS_ACCOUNT_ID |
The AWS account ID for the AWS account associated with this app
Code Level Metrics
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_CODE_LEVEL_METRICS_ENABLED |
If true
, the agent will report source code level metrics for traced methods.
See: https://docs.newrelic.com/docs/apm/agents/ruby-agent/features/ruby-codestream-integration/
Cross Application Tracer
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_CROSS_APPLICATION_TRACER_ENABLED |
DEPRECATED Please see: distributed_tracing.enabled.
If true
, enables cross-application tracing when distributed_tracing.enabled
is set to false
.
Custom Attributes
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_CUSTOM_ATTRIBUTES_ENABLED |
If false
, custom attributes will not be sent on events.
Custom Events
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_CUSTOM_INSIGHTS_EVENTS_ENABLED |
If true
, the agent captures custom events.
Type | Integer |
---|---|
Default | 3000 |
Environ variable | NEW_RELIC_CUSTOM_INSIGHTS_EVENTS_MAX_SAMPLES_STORED |
- Specify a maximum number of custom events to buffer in memory at a time.
- When configuring the agent for AI monitoring, set to max value
100000
. This ensures the agent captures the maximum amount of LLM events.
Datastore Tracer
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_DATASTORE_TRACER_DATABASE_NAME_REPORTING_ENABLED |
If false
, the agent will not add database_name
parameter to transaction or slow sql traces.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_DATASTORE_TRACER_INSTANCE_REPORTING_ENABLED |
If false
, the agent will not report datastore instance metrics, nor add host
or port_path_or_id
parameters to transaction or slow SQL traces.
Disabling
Use these settings to toggle instrumentation types during agent startup.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_DISABLE_ACTION_CABLE_INSTRUMENTATION |
If true
, disables Action Cable instrumentation.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_DISABLE_ACTION_CONTROLLER |
If true
, disables Action Controller instrumentation.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_DISABLE_ACTION_MAILBOX |
If true
, disables Action Mailbox instrumentation.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_DISABLE_ACTION_MAILER |
If true
, disables Action Mailer instrumentation.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_DISABLE_ACTIVEJOB |
If true
, disables Active Job instrumentation.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_DISABLE_ACTIVE_STORAGE |
If true
, disables Active Storage instrumentation.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_DISABLE_ACTIVE_SUPPORT |
If true
, disables Active Support instrumentation.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_DISABLE_ACTIVE_RECORD_INSTRUMENTATION |
If true
, disables Active Record instrumentation.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_DISABLE_ACTIVE_RECORD_NOTIFICATIONS |
If true
, disables instrumentation for Active Record 4+
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_DISABLE_CPU_SAMPLER |
If true
, the agent won't sample the CPU usage of the host process.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_DISABLE_DELAYED_JOB_SAMPLER |
If true
, the agent won't measure the depth of Delayed Job queues.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_DISABLE_GC_PROFILER |
If true
, disables the use of GC::Profiler
to measure time spent in garbage collection
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_DISABLE_MEMORY_SAMPLER |
If true
, the agent won't sample the memory usage of the host process.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_DISABLE_MIDDLEWARE_INSTRUMENTATION |
If true
, the agent won't wrap third-party middlewares in instrumentation (regardless of whether they are installed via Rack::Builder
or Rails).
Important
When middleware instrumentation is disabled, if an application is using middleware that could alter the response code, the HTTP status code reported on the transaction may not reflect the altered value.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_DISABLE_SAMPLERS |
If true
, disables the collection of sampler metrics. Sampler metrics are metrics that are not event-based (such as CPU time or memory usage).
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_DISABLE_SEQUEL_INSTRUMENTATION |
If true
, disables Sequel instrumentation.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_DISABLE_SIDEKIQ |
If true
, disables Sidekiq instrumentation.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_DISABLE_RODA_AUTO_MIDDLEWARE |
If true
, disables agent middleware for Roda. This middleware is responsible for advanced feature support such as page load timing and error collection.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_DISABLE_SINATRA_AUTO_MIDDLEWARE |
If true
, disables agent middleware for Sinatra. This middleware is responsible for advanced feature support such as cross application tracing, page load timing, and error collection.
Important
Cross application tracing is deprecated in favor of distributed tracing. Distributed tracing is on by default for Ruby agent versions 8.0.0 and above. Middlewares are not required to support distributed tracing.
To continue using cross application tracing, update the following options in your newrelic.yml
configuration file:
# newrelic.yml
cross_application_tracer: enabled: true distributed_tracing: enabled: false
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_DISABLE_VIEW_INSTRUMENTATION |
If true
, disables view instrumentation.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_DISABLE_VM_SAMPLER |
If true
, the agent won't sample performance measurements from the Ruby VM.
Distributed Tracing
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_DISTRIBUTED_TRACING_ENABLED |
Distributed tracing lets you see the path that a request takes through your distributed system. Enabling distributed tracing changes the behavior of some New Relic features, so carefully consult the transition guide before you enable this feature.
Elasticsearch
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_ELASTICSEARCH_CAPTURE_QUERIES |
If true
, the agent captures Elasticsearch queries in transaction traces.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_ELASTICSEARCH_OBFUSCATE_QUERIES |
If true
, the agent obfuscates Elasticsearch queries in transaction traces.
Heroku
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_HEROKU_USE_DYNO_NAMES |
If true
, the agent uses Heroku dyno names as the hostname.
Type | Array |
---|---|
Default | ["scheduler", "run"] |
Environ variable | NEW_RELIC_HEROKU_DYNO_NAME_PREFIXES_TO_SHORTEN |
Ordinarily the agent reports dyno names with a trailing dot and process ID (for example, worker.3
). You can remove this trailing data by specifying the prefixes you want to report without trailing data (for example, worker
).
Infinite Tracing
Type | String |
---|---|
Default | "" |
Environ variable | NEW_RELIC_INFINITE_TRACING_TRACE_OBSERVER_HOST |
Configures the hostname for the trace observer Host. When configured, enables tail-based sampling by sending all recorded spans to a trace observer for further sampling decisions, irrespective of any usual agent sampling decision.
Type | Integer |
---|---|
Default | 443 |
Environ variable | NEW_RELIC_INFINITE_TRACING_TRACE_OBSERVER_PORT |
Configures the TCP/IP port for the trace observer Host
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_INFINITE_TRACING_BATCHING |
If true
(the default), data sent to the trace observer is batched instead of sending each span individually.
Type | Symbol |
---|---|
Default | :high |
Environ variable | NEW_RELIC_INFINITE_TRACING_COMPRESSION_LEVEL |
Configure the compression level for data sent to the trace observer.
May be one of: :none
, :low
, :medium
, :high
.
Set the level to :none
to disable compression.
Instrumentation
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_ACTIVE_SUPPORT_BROADCAST_LOGGER |
Controls auto-instrumentation of ActiveSupport::BroadcastLogger
at start up. May be one of: auto
, prepend
, chain
, disabled
. Used in Rails versions >= 7.1.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_ACTIVE_SUPPORT_LOGGER |
Controls auto-instrumentation of ActiveSupport::Logger
at start up. May be one of: auto
, prepend
, chain
, disabled
. Used in Rails versions below 7.1.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_ASYNC_HTTP |
Controls auto-instrumentation of Async::HTTP at start up. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_BUNNY |
Controls auto-instrumentation of bunny at start-up. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_AWS_SDK_LAMBDA |
Controls auto-instrumentation of the aws_sdk_lambda library at start-up. May be one of auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | "auto" |
Environ variable | NEW_RELIC_INSTRUMENTATION_RUBY_KAFKA |
Controls auto-instrumentation of the ruby-kafka library at start-up. May be one of auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_OPENSEARCH |
Controls auto-instrumentation of the opensearch-ruby library at start-up. May be one of auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | "auto" |
Environ variable | NEW_RELIC_INSTRUMENTATION_RDKAFKA |
Controls auto-instrumentation of the rdkafka library at start-up. May be one of auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | "auto" |
Environ variable | NEW_RELIC_INSTRUMENTATION_AWS_SQS |
Controls auto-instrumentation of the aws-sdk-sqs library at start-up. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_DYNAMODB |
Controls auto-instrumentation of the aws-sdk-dynamodb library at start-up. May be one of auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_FIBER |
Controls auto-instrumentation of the Fiber class at start-up. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_CONCURRENT_RUBY |
Controls auto-instrumentation of the concurrent-ruby library at start-up. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_CURB |
Controls auto-instrumentation of Curb at start-up. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_DELAYED_JOB |
Controls auto-instrumentation of Delayed Job at start-up. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_ELASTICSEARCH |
Controls auto-instrumentation of the elasticsearch library at start-up. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_ETHON |
Controls auto-instrumentation of ethon at start up. May be one of auto
, prepend
, chain
, disabled
Type | String |
---|---|
Default | enabled |
Environ variable | NEW_RELIC_INSTRUMENTATION_EXCON |
Controls auto-instrumentation of Excon at start-up. May be one of: enabled
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_GRAPE |
Controls auto-instrumentation of Grape at start-up. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_GRPC_CLIENT |
Controls auto-instrumentation of gRPC clients at start-up. May be one of: auto
, prepend
, chain
, disabled
.
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_INSTRUMENTATION_GRPC_HOST_DENYLIST |
Specifies a list of hostname patterns separated by commas that will match gRPC hostnames that traffic is to be ignored by New Relic for. New Relic's gRPC client instrumentation will ignore traffic streamed to a host matching any of these patterns, and New Relic's gRPC server instrumentation will ignore traffic for a server running on a host whose hostname matches any of these patterns. By default, no traffic is ignored when gRPC instrumentation is itself enabled. For example, "private.com$,exception.*"
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_GRPC_SERVER |
Controls auto-instrumentation of gRPC servers at start-up. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_HTTPCLIENT |
Controls auto-instrumentation of HTTPClient at start-up. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_HTTPRB |
Controls auto-instrumentation of http.rb gem at start-up. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_HTTPX |
Controls auto-instrumentation of httpx at start up. May be one of auto
, prepend
, chain
, disabled
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_LOGGER |
Controls auto-instrumentation of Ruby standard library Logger at start-up. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_LOGSTASHER |
Controls auto-instrumentation of the LogStasher library at start-up. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_MEMCACHE |
Controls auto-instrumentation of dalli gem for Memcache at start-up. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_MEMCACHED |
Controls auto-instrumentation of memcached gem for Memcache at start-up. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_MEMCACHE_CLIENT |
Controls auto-instrumentation of memcache-client gem for Memcache at start-up. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | enabled |
Environ variable | NEW_RELIC_INSTRUMENTATION_MONGO |
Controls auto-instrumentation of Mongo at start-up. May be one of: enabled
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_NET_HTTP |
Controls auto-instrumentation of Net::HTTP
at start-up. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_RUBY_OPENAI |
Controls auto-instrumentation of the ruby-openai gem at start-up. May be one of: auto
, prepend
, chain
, disabled
. Defaults to disabled
in high security mode.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_PUMA_RACK |
Controls auto-instrumentation of Puma::Rack
. When enabled, the agent hooks into the to_app
method in Puma::Rack::Builder
to find gems to instrument during application startup. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_PUMA_RACK_URLMAP |
Controls auto-instrumentation of Puma::Rack::URLMap
at start-up. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_RACK |
Controls auto-instrumentation of Rack. When enabled, the agent hooks into the to_app
method in Rack::Builder
to find gems to instrument during application startup. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_RACK_URLMAP |
Controls auto-instrumentation of Rack::URLMap
at start-up. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_RAKE |
Controls auto-instrumentation of rake at start-up. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_REDIS |
Controls auto-instrumentation of Redis at start-up. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_RESQUE |
Controls auto-instrumentation of resque at start-up. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_RODA |
Controls auto-instrumentation of Roda at start-up. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_SINATRA |
Controls auto-instrumentation of Sinatra at start-up. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | "enabled" |
Environ variable | NEW_RELIC_INSTRUMENTATION_STRIPE |
Controls auto-instrumentation of Stripe at startup. May be one of: enabled
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_VIEW_COMPONENT |
Controls auto-instrumentation of ViewComponent at startup. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_THREAD |
Controls auto-instrumentation of the Thread class at start-up to allow the agent to correctly nest spans inside of an asynchronous transaction. This does not enable the agent to automatically trace all threads created (see instrumentation.thread.tracing
). May be one of: auto
, prepend
, chain
, disabled
.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_INSTRUMENTATION_THREAD_TRACING |
Controls auto-instrumentation of the Thread class at start-up to automatically add tracing to all Threads created in the application.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_TILT |
Controls auto-instrumentation of the Tilt template rendering library at start-up. May be one of: auto
, prepend
, chain
, disabled
.
Type | String |
---|---|
Default | auto |
Environ variable | NEW_RELIC_INSTRUMENTATION_TYPHOEUS |
Controls auto-instrumentation of Typhoeus at start-up. May be one of: auto
, prepend
, chain
, disabled
.
Message Tracer
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_MESSAGE_TRACER_SEGMENT_PARAMETERS_ENABLED |
If true
, the agent will collect metadata about messages and attach them as segment parameters.
Mongo
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_MONGO_CAPTURE_QUERIES |
If true
, the agent captures Mongo queries in transaction traces.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_MONGO_OBFUSCATE_QUERIES |
If true
, the agent obfuscates Mongo queries in transaction traces.
Opensearch
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_OPENSEARCH_CAPTURE_QUERIES |
If true
, the agent captures OpenSearch queries in transaction traces.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_OPENSEARCH_OBFUSCATE_QUERIES |
If true
, the agent obfuscates OpenSearch queries in transaction traces.
Process Host
Type | String |
---|---|
Default | (Dynamic) |
Environ variable | NEW_RELIC_PROCESS_HOST_DISPLAY_NAME |
Specify a custom host name for display in the New Relic UI.
Rake
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_RAKE_TASKS |
Specify an Array of Rake tasks to automatically instrument. This configuration option converts the Array to a RegEx list. If you'd like to allow all tasks by default, use rake.tasks: [.+]
. No rake tasks will be instrumented unless they're added to this list. For more information, visit the New Relic Rake Instrumentation docs.
Type | Integer |
---|---|
Default | 10 |
Environ variable | NEW_RELIC_RAKE_CONNECT_TIMEOUT |
Timeout for waiting on connect to complete before a rake task
Rules
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_RULES_IGNORE_URL_REGEXES |
Define transactions you want the agent to ignore, by specifying a list of patterns matching the URI you want to ignore. For more detail, see the docs on ignoring specific transactions.
Security
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_SECURITY_AGENT_ENABLED |
If true
, the security agent is loaded (the agent performs a Ruby 'require')
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_SECURITY_ENABLED |
If true
, the security agent is started (the agent runs in its event loop)
Type | String |
---|---|
Default | "IAST" |
Environ variable | NEW_RELIC_SECURITY_MODE |
Defines the mode for the security agent to operate in. Currently only IAST
is supported
Type | String |
---|---|
Default | "wss://csec.nr-data.net" |
Environ variable | NEW_RELIC_SECURITY_VALIDATOR_SERVICE_URL |
Defines the endpoint URL for posting security-related data
Type | Integer |
---|---|
Default | nil |
Environ variable | NEW_RELIC_SECURITY_APPLICATION_INFO_PORT |
The port the application is listening on. This setting is mandatory for Passenger servers. The agent detects other servers by default.
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_SECURITY_EXCLUDE_FROM_IAST_SCAN_API |
Defines API paths the security agent should ignore in IAST scans. Accepts an array of regex patterns matching the URI to ignore. The regex pattern should find a complete match for the URL without the endpoint. For example, [".*account.*"], [".*/\api\/v1\/.*?\/login"]
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_SECURITY_EXCLUDE_FROM_IAST_SCAN_HTTP_REQUEST_PARAMETERS_HEADER |
An array of HTTP request headers the security agent should ignore in IAST scans. The array should specify a list of patterns matching the headers to ignore.
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_SECURITY_EXCLUDE_FROM_IAST_SCAN_HTTP_REQUEST_PARAMETERS_QUERY |
An array of HTTP request query parameters the security agent should ignore in IAST scans. The array should specify a list of patterns matching the HTTP request query parameters to ignore.
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_SECURITY_EXCLUDE_FROM_IAST_SCAN_HTTP_REQUEST_PARAMETERS_BODY |
An array of HTTP request body keys the security agent should ignore in IAST scans.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_SECURITY_EXCLUDE_FROM_IAST_SCAN_IAST_DETECTION_CATEGORY_INSECURE_SETTINGS |
If true
, disables the detection of low-severity insecure settings. For example, hash, crypto, cookie, random generators, trust boundary).
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_SECURITY_EXCLUDE_FROM_IAST_SCAN_IAST_DETECTION_CATEGORY_INVALID_FILE_ACCESS |
If true
, disables file operation-related IAST detections (File Access & Application integrity violation)
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_SECURITY_EXCLUDE_FROM_IAST_SCAN_IAST_DETECTION_CATEGORY_SQL_INJECTION |
If true
, disables SQL injection detection in IAST scans.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_SECURITY_EXCLUDE_FROM_IAST_SCAN_IAST_DETECTION_CATEGORY_NOSQL_INJECTION |
If true
, disables NOSQL injection detection in IAST scans.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_SECURITY_EXCLUDE_FROM_IAST_SCAN_IAST_DETECTION_CATEGORY_LDAP_INJECTION |
If true
, disables LDAP injection detection in IAST scans.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_SECURITY_EXCLUDE_FROM_IAST_SCAN_IAST_DETECTION_CATEGORY_JAVASCRIPT_INJECTION |
If true
, disables Javascript injection detection in IAST scans.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_SECURITY_EXCLUDE_FROM_IAST_SCAN_IAST_DETECTION_CATEGORY_COMMAND_INJECTION |
If true
, disables system command injection detection in IAST scans.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_SECURITY_EXCLUDE_FROM_IAST_SCAN_IAST_DETECTION_CATEGORY_XPATH_INJECTION |
If true
, disables XPATH injection detection in IAST scans.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_SECURITY_EXCLUDE_FROM_IAST_SCAN_IAST_DETECTION_CATEGORY_SSRF |
If true
, disables Sever-Side Request Forgery (SSRF) detection in IAST scans.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_SECURITY_EXCLUDE_FROM_IAST_SCAN_IAST_DETECTION_CATEGORY_RXSS |
If true
, disables Reflected Cross-Site Scripting (RXSS) detection in IAST scans.
Type | Integer |
---|---|
Default | 0 |
Environ variable | NEW_RELIC_SECURITY_SCAN_SCHEDULE_DELAY |
Specifies the delay time (in minutes) before the IAST scan begins after the application starts.
Type | Integer |
---|---|
Default | 0 |
Environ variable | NEW_RELIC_SECURITY_SCAN_SCHEDULE_DURATION |
Specifies the length of time (in minutes) that the IAST scan will run.
Type | String |
---|---|
Default | "" |
Environ variable | NEW_RELIC_SECURITY_SCAN_SCHEDULE_SCHEDULE |
Specifies a cron expression that sets when the IAST scan should run.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_SECURITY_SCAN_SCHEDULE_ALWAYS_SAMPLE_TRACES |
If true
, allows IAST to continuously gather trace data in the background. Collected data will be used by the security agent to perform an IAST scan at the scheduled time.
Type | Integer |
---|---|
Default | 3600 |
Environ variable | NEW_RELIC_SECURITY_SCAN_CONTROLLERS_IAST_SCAN_REQUEST_RATE_LIMIT |
Sets the maximum number of HTTP requests allowed for the IAST scan per minute. Any Integer between 12 and 3600 is valid. The default value is 3600.
Type | Integer |
---|---|
Default | 0 |
Environ variable | NEW_RELIC_SECURITY_SCAN_CONTROLLERS_SCAN_INSTANCE_COUNT |
The number of application instances for a specific entity to perform IAST analysis on.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_SECURITY_SCAN_CONTROLLERS_REPORT_HTTP_RESPONSE_BODY |
If true
, enables the sending of HTTP responses bodies. Disabling this also disables Reflected Cross-Site Scripting (RXSS) vulnerability detection.
Type | String |
---|---|
Default | nil |
Environ variable | NEW_RELIC_SECURITY_IAST_TEST_IDENTIFIER |
A unique test identifier when runnning IAST in a CI/CD environment to differentiate between different test runs. For example, a build number.
Serverless Mode
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_SERVERLESS_MODE_ENABLED |
If true
, the agent will operate in a streamlined mode suitable for use with short-lived serverless functions. NOTE: Only AWS Lambda functions are supported currently and this option is not intended for use without New Relic's Ruby Lambda layer offering.
Sidekiq
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_SIDEKIQ_ARGS_INCLUDE |
An array of strings that will collectively serve as an allowlist for filtering which Sidekiq job arguments get reported to New Relic. To capture any Sidekiq arguments, 'job.sidekiq.args.*' must be added to the separate :'attributes.include'
configuration option. Each string in this array will be turned into a regular expression via Regexp.new
to permit advanced matching. For job argument hashes, if either a key or value matches the pair will be included. All matching job argument array elements and job argument scalars will be included.
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_SIDEKIQ_ARGS_EXCLUDE |
An array of strings that will collectively serve as a denylist for filtering which Sidekiq job arguments get reported to New Relic. To capture any Sidekiq arguments, 'job.sidekiq.args.*' must be added to the separate :'attributes.include'
configuration option. Each string in this array will be turned into a regular expression via Regexp.new
to permit advanced matching. For job argument hashes, if either a key or value matches the pair will be excluded. All matching job argument array elements and job argument scalars will be excluded.
Slow SQL
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_SLOW_SQL_ENABLED |
If true
, the agent collects slow SQL queries.
Type | Float |
---|---|
Default | 0.5 |
Environ variable | NEW_RELIC_SLOW_SQL_EXPLAIN_THRESHOLD |
Specify a threshold in seconds. The agent collects slow SQL queries and explain plans that exceed this threshold.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_SLOW_SQL_EXPLAIN_ENABLED |
If true
, the agent collects explain plans in slow SQL queries. If this setting is omitted, the transaction_tracer.explain_enabled
setting will be applied as the default setting for explain plans in slow SQL as well.
Type | String |
---|---|
Default | obfuscated |
Environ variable | NEW_RELIC_SLOW_SQL_RECORD_SQL |
Defines an obfuscation level for slow SQL queries. Valid options are obfuscated
, raw
, or none
.
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_SLOW_SQL_USE_LONGER_SQL_ID |
Generate a longer sql_id
for slow SQL traces. sql_id
is used for aggregation of similar queries.
Span Events
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_SPAN_EVENTS_ENABLED |
If true
, enables span event sampling.
Type | Integer |
---|---|
Default | 10000 |
Environ variable | NEW_RELIC_SPAN_EVENTS_QUEUE_SIZE |
Sets the maximum number of span events to buffer when streaming to the trace observer.
Type | Integer |
---|---|
Default | 2000 |
Environ variable | NEW_RELIC_SPAN_EVENTS_MAX_SAMPLES_STORED |
- Defines the maximum number of span events reported from a single harvest. Any Integer between
1
and10000
is valid.' - When configuring the agent for AI monitoring, set to max value
10000
.This ensures the agent captures the maximum amount of distributed traces.
Strip Exception Messages
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_STRIP_EXCEPTION_MESSAGES_ENABLED |
If true, the agent strips messages from all exceptions except those in the allowlist. Enabled automatically in high security mode.
Type | String |
---|---|
Default | "" |
Environ variable | NEW_RELIC_STRIP_EXCEPTION_MESSAGES_ALLOWED_CLASSES |
Specify a list of exceptions you do not want the agent to strip when strip_exception_messages is true
. Separate exceptions with a comma. For example, "ImportantException,PreserveMessageException"
.
Stripe
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_STRIPE_USER_DATA_INCLUDE |
An array of strings to specify which keys inside a Stripe event's user_data
hash should be reported
to New Relic. Each string in this array will be turned into a regular expression via Regexp.new
to
permit advanced matching. Setting the value to ["."]
will report all user_data
.
Type | Array |
---|---|
Default | [] |
Environ variable | NEW_RELIC_STRIPE_USER_DATA_EXCLUDE |
An array of strings to specify which keys and/or values inside a Stripe event's user_data
hash should
not be reported to New Relic. Each string in this array will be turned into a regular expression via
Regexp.new
to permit advanced matching. For each hash pair, if either the key or value is matched the pair is not reported. By default, no user_data
is reported. Use this option only if the
stripe.user_data.include
option is also used.
Thread Profiler
Type | Boolean |
---|---|
Default | false |
Environ variable | NEW_RELIC_THREAD_PROFILER_ENABLED |
If true
, enables use of the thread profiler.
Utilization
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_UTILIZATION_DETECT_AWS |
If true
, the agent automatically detects that it is running in an AWS environment.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_UTILIZATION_DETECT_AZURE |
If true
, the agent automatically detects that it is running in an Azure environment.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_UTILIZATION_DETECT_DOCKER |
If true
, the agent automatically detects that it is running in Docker.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_UTILIZATION_DETECT_GCP |
If true
, the agent automatically detects that it is running in an Google Cloud Platform environment.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_UTILIZATION_DETECT_KUBERNETES |
If true
, the agent automatically detects that it is running in Kubernetes.
Type | Boolean |
---|---|
Default | true |
Environ variable | NEW_RELIC_UTILIZATION_DETECT_PCF |
If true
, the agent automatically detects that it is running in a Pivotal Cloud Foundry environment.