このドキュメントには、Javaエージェントが設定のために読み取るnewrelic.ymlファイルのテンプレートバージョンが含まれています。設定ファイルの形式はYAMLです。ファイルを編集するためにYAMLの知識は必要ありませんが、適切なインデントを維持するように注意してください。ウィキペディアでYAMLの詳細をご覧ください。
newrelic.ymlファイルに変更を加えるときは、YAMLバリデーターを使用して構文が正確であることを確認し、次のルールに従ってください。
- YMLファイルには、大文字と小文字の区別があります。
- すべてのインデントは 2 文字ずつ増加します。 ファイルの同じセクション内のデータは、同じレベルのインデントを使用する必要があります。 サブセクションをさらに 2 つのスペースでインデントします。
構造、ディレクトリ、および設定の詳細については、 Javaエージェントの設定 を参照してください。
# This file configures the New Relic agent. New Relic monitors# Java applications with deep visibility and low overhead. For more details and additional# configuration options visit https://docs.newrelic.com/docs/agents/java-agent/configuration/java-agent-configuration-config-file.## <%= generated_for_user %>## This section is for settings common to all environments.# Do not add anything above this next line.common: &default_settings
  # ============================== LICENSE KEY ===============================  # You must specify the license key associated with your New Relic  # account. For example, if your license key is 12345 use this:  # license_key: '12345'  # The key binds your agent's data to your account in the New Relic UI.  license_key: '<%= license_key %>'
  # Agent enabled  # Use this setting to disable the agent instead of removing it from the startup command.  # Default is true.  agent_enabled: true
  # Set the name of your application as you'd like it to show up in the New Relic UI.  # If enable_auto_app_naming is false, the agent reports all data to this application.  # Otherwise, the agent reports only background tasks (transactions for non-web applications)  # to this application. To report data to more than one application  # (useful for rollup reporting), separate the application names with ";".  # For example, to report data to "My Application" and "My Application 2" use this:  # app_name: My Application;My Application 2  # This setting is required. Up to 3 different application names can be specified.  # The first application name must be unique.  app_name: My Application
  # To enable high security, set this property to true. When in high  # security mode, the agent will use SSL and obfuscated SQL. Additionally,  # request parameters and message parameters will not be sent to New Relic.  high_security: false
  # Set to true to enable support for auto app naming.  # The name of each web app is detected automatically  # and the agent reports data separately for each one.  # This provides a finer-grained performance breakdown for  # web apps in New Relic.  # Default is false.  enable_auto_app_naming: false
  # Set to true to enable component-based transaction naming.  # Set to false to use the URI of a web request as the name of the transaction.  # Default is true.  enable_auto_transaction_naming: true
  # The agent uses its own log file to keep its logging  # separate from that of your application. Specify the log level here.  # This setting is dynamic, so changes do not require restarting your application.  # The levels in increasing order of verboseness are:  #   off, severe, warning, info, fine, finer, finest  # Default is info.  log_level: info
  # Log all data sent to and from New Relic in plain text.  # This setting is dynamic, so changes do not require restarting your application.  # Default is false.  audit_mode: false
  # The number of backup log files to save.  # Default is 1.  log_file_count: 1
  # The maximum number of kbytes to write to any one log file.  # The log_file_count must be set greater than 1.  # Default is 0 (no limit).  log_limit_in_kbytes: 0
  # Override other log rolling configuration and roll the logs daily.  # Default is false.  log_daily: false
  # The name of the log file.  # Default is newrelic_agent.log.  log_file_name: newrelic_agent.log
  # The log file directory.  # Default is the logs directory in the newrelic.jar parent directory.  #log_file_path:
  # AI Monitoring captures insights on the performance, quality, and cost of interactions with LLM models made with instrumented SDKs.  ai_monitoring:
    # Provides control over all AI Monitoring functionality. Set as true to enable all AI Monitoring features.    # Default is false.    enabled: false
    # Provides control over whether attributes for the input and output content should be added to LLM events.    record_content:
      # Set as false to disable attributes for the input and output content.      # Default is true.      enabled: true
  # Provides the ability to forward application logs to New Relic, generate log usage metrics,  # and decorate local application log files with agent metadata for use with third party log forwarders.  # The application_logging.forwarding and application_logging.local_decorating should not be used together.  application_logging:
    # Provides control over all the application logging features for forwarding, local log    # decorating, and metrics features. Set as false to disable all application logging features.    # Default is true.    enabled: true
    # The agent will automatically forward application logs to New Relic in    # a format that includes agent metadata for linking them to traces and errors.    forwarding:
      # When true, application logs will be forwarded to New Relic. The default is true.      enabled: true
      # Application log events are collected up to the configured amount. Afterwards,      # events are sampled to maintain an even distribution across the harvest cycle.      # Default is 10000. Setting to 0 will disable.      #max_samples_stored: 10000
      # Provides the ability to add custom tags(labels) to agent forwarded logs. Labels are      # pulled from the top-level 'labels' section (located near the bottom of this config file).      # Default is false.      labels:
        # When true, custom tags (labels) will be added to agent forwarded logs.        enabled: false
        # A comma separated list of label keys that should NOT be added to application logs.        # Example:        #   exclude: label_name1,label_name2        exclude:
      # Whether the log events should include context from loggers with support for that.      context_data:
        # When true, application logs will contain context data.        enabled: false
        # A comma separated list of attribute keys whose values should be sent to New Relic.        #include:
        # A comma separated list of attribute keys whose values should not be sent to New Relic.        #exclude:
    # The agent will generate metrics to indicate the number of    # application log events occurring at each distinct log level.    metrics:
      # When true, application log metrics will be reported. The default is true.      enabled: true
    # The agent will add linking metadata to each log line in your application log files.    # This feature should only be used if you want to use a third party log forwarder, instead    # of the agent's built-in forwarding feature, to send your application log events to New Relic.    #local_decorating:
      # When true, the agent will decorate your application log files with linking metadata. The default is false.      #enabled: false
  # Adds integration with CodeStream, introducing Code-Level Metrics! Golden Signals visible in your  # IDE through New Relic CodeStream.  code_level_metrics:
    # When true the agent will capture namespace and function information    # on spans to enable code level metrics in CodeStream.    enabled: true
  # Proxy settings for connecting to the New Relic server:  # If a proxy is used, the host setting is required. Other settings  # are optional. Default port is 8080. The username and password  # settings will be used to authenticate to Basic Auth challenges  # from a proxy server. Proxy scheme will allow the agent to  # connect through proxies using the HTTPS scheme.  #proxy_host: hostname  #proxy_port: 8080  #proxy_user: username  #proxy_password: password  #proxy_scheme: https
  # Limits the number of lines to capture for each stack trace.  # Default is 30  max_stack_trace_lines: 30
  # Provides the ability to configure the attributes sent to New Relic. These  # attributes can be found in transaction traces, traced errors,  # transaction events, and page views.  attributes:
    # When true, attributes will be sent to New Relic. The default is true.    enabled: true
    #A comma separated list of attribute keys whose values should     # be sent to New Relic.    #include:
    # A comma separated list of attribute keys whose values should     # not be sent to New Relic.    #exclude:
    # Defines which sets of http attributes the agent will send: standard, legacy or both (default).    # Having the agent send both sets will increase ingestion.    # Having the agent send only legacy may impact current or future functionality.    http_attribute_mode: both
  # Transaction tracer captures deep information about slow  # transactions and sends this to the New Relic service once a  # minute. Included in the transaction is the exact call sequence of  # the transactions including any SQL statements issued.  transaction_tracer:
    # Transaction tracer is enabled by default. Set this to false to turn it off.    # This feature is not available to Lite accounts and is automatically disabled.    # Default is true.    enabled: true
    # Threshold in seconds for when to collect a transaction    # trace. When the response time of a controller action exceeds    # this threshold, a transaction trace will be recorded and sent to    # New Relic. Valid values are any float value, or (default) "apdex_f",    # which will use the threshold for the "Frustrated" Apdex level    # (greater than four times the apdex_t value).    # Default is apdex_f.    transaction_threshold: apdex_f
    # When transaction tracer is on, SQL statements can optionally be    # recorded. The recorder has three modes, "off" which sends no    # SQL, "raw" which sends the SQL statement in its original form,    # and "obfuscated", which strips out numeric and string literals.    # Default is obfuscated.    record_sql: obfuscated
    # Set this to true to log SQL statements instead of recording them.    # SQL is logged using the record_sql mode.    # Default is false.    log_sql: false
    # Threshold in seconds for when to collect stack trace for a SQL    # call. In other words, when SQL statements exceed this threshold,    # then capture and send to New Relic the current stack trace. This is    # helpful for pinpointing where long SQL calls originate from.    # Default is 0.5 seconds.    stack_trace_threshold: 0.5
    # Determines whether the agent will capture query plans for slow    # SQL queries. Only supported for MySQL and PostgreSQL.    # Default is true.    explain_enabled: true
    # Threshold for query execution time below which query plans will     # not be captured. Relevant only when `explain_enabled` is true.    # Default is 0.5 seconds.    explain_threshold: 0.5
    # Use this setting to control the variety of transaction traces.    # The higher the setting, the greater the variety.    # Set this to 0 to always report the slowest transaction trace.    # Default is 20.    top_n: 20
  # Error collector captures information about uncaught exceptions and  # sends them to New Relic for viewing.  error_collector:
    # This property enables the collection of errors. If the property is not    # set or the property is set to false, then errors will not be collected.    # Default is true.    enabled: true
    # Use this property to exclude specific exceptions from being reported as errors    # by providing a comma separated list of full class names.    # The default is to exclude akka.actor.ActorKilledException. If you want to override    # this, you must provide any new value as an empty list is ignored.    ignore_classes:      - "akka.actor.ActorKilledException"
    # Use this property to exclude specific http status codes from being reported as errors    # by providing a comma separated list of status codes.    # The default is to exclude 404s. If you want to override    # this, you must provide any new value because an empty list is ignored.    ignore_status_codes: 404
  # Transaction events are used for histograms and percentiles. Non-aggregated data is collected  # for each web transaction and sent to the server on harvest.   transaction_events:
    # Set to false to disable transaction events.    # Default is true.    enabled: true
    # Events are collected up to the configured amount. Afterwards, events are sampled to    # maintain an even distribution across the harvest cycle.    # Default is 2000. Setting to 0 will disable.    max_samples_stored: 2000
  # Distributed tracing lets you see the path that a request takes through your distributed system.  # This replaces the legacy Cross Application Tracing feature.  distributed_tracing:
    # Set to false to disable distributed tracing.    # Default is true.    enabled: true
    # Agent versions 5.10.0+ utilize both the newrelic header and W3C Trace Context headers for distributed tracing.    # The newrelic distributed tracing header allows interoperability with older agents that don't support W3C Trace Context headers.    # Agent versions that support W3C Trace Context headers will prioritize them over newrelic headers for distributed tracing.    # If you do not want to utilize the newrelic header, setting this to true will result in the agent excluding the newrelic header    # and only using W3C Trace Context headers for distributed tracing.    # Default is false.    exclude_newrelic_header: false
    # Agent version 8.20.0+ utilize these settings for controlling how to sample when we have a remote parent    # involved. That is, if there is a valid traceparent with a value in the sampled flag on the inbound headers.    # If the inbound traceparent is marked as sampled then the remote_parent_sampled setting will be used.    # If the inbound traceparent is marked as NOT sampled then the remote_parent_not_sampled setting will be used.    # Otherwise New Relic's standard sampling will be used.    # Note: Reservoir limits are still in effect on top of these settings, so spans may be dropped even if they    # are marked for sampling, if the reservoir reaches its limit (max_samples_stored).    # Possible values:    #   default: New Relic's standard sampling rules will be used.    #   always_on: Always sample spans in this case.    #   always_off: Always skip sampling in this case.    sampler:      remote_parent_sampled: default      remote_parent_not_sampled: default
  # New Relic's distributed tracing UI uses Span events to display traces across different services.  # Span events capture attributes that describe execution context and provide linking metadata.  # Span events require distributed tracing to be enabled.  span_events:
    # Set to false to disable Span events.    # Default is true.    enabled: true
    # Determines the number of Span events that can be captured during an agent harvest cycle.    # Increasing the number of Span events can lead to additional agent overhead. A maximum value may be imposed server side by New Relic.    # Default is 2000    max_samples_stored: 2000
    # Provides the ability to filter the attributes attached to Span events.    # Custom attributes can be added to Span events using the NewRelic.getAgent().getTracedMethod().addCustomAttribute(...) API.    attributes:
      # When true, attributes will be sent to New Relic. The default is true.      enabled: true
      # A comma separated list of attribute keys whose values should be sent to New Relic.      #include:
      # A comma separated list of attribute keys whose values should not be sent to New Relic.      #exclude:
  # Thread profiler measures wall clock time, CPU time, and method call counts  # in your application's threads as they run.  # This feature is not available to Lite accounts and is automatically disabled.  thread_profiler:
    # Set to false to disable the thread profiler.    # Default is true.    enabled: true
  # New Relic Real User Monitoring (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.   browser_monitoring:
    # By default the agent automatically inserts API calls in compiled JSPs to    # inject the monitoring JavaScript into web pages. Not all rendering engines are supported.    # See https://docs.newrelic.com/docs/agents/java-agent/instrumentation/new-relic-browser-java-agent#manual_instrumentation    # for instructions to add these manually to your pages.    # Set this attribute to false to turn off this behavior.    auto_instrument: true
    # For pages that emit the <head> tag via a JSP tag library, enabling this setting    # will monitor JspWriter print/println calls for output of the <head> element and    # inject the RUM script automatically.    tag_lib_instrument: false
    # If tag_lib_instrument is true, this is the regex pattern that will be used to detect HTML start head elements. Modify    # the regex if you have more complex start head elements (attributes for example). The defined pattern is case-insensitive.    tag_lib_head_pattern: '<head>'
  # By default, the agent sends JVM input arguments to New Relic, where they are visible as Environment data.  # Set to false to disable the sending of JVM props.  send_jvm_props: true
  # Before sending JVM props to New Relic, the agent will obfuscate all data in a prop after an = sign.  # For example, the property -Dmy.prop=my-value will be sent to New Relic as -Dmy.prop=obfuscated.  # By default, the standard and extended JVM props (those beginning with -X*) are sent unobfuscated.  # Available since agent 8.16.0.  obfuscate_jvm_props:    #To disable this feature, and send all JVM props unobfuscated, set enabled to false. The default is true.    #enabled: true
    # A comma separated list of JVM property names whose values should be sent to New Relic unobfuscated.    #allow:
    # A comma separated list of JVM property names whose values should be sent to New Relic obfuscated.    #block:
  # Class transformer can be used to disable all agent instrumentation or specific instrumentation modules.  # All instrumentation modules can be found here: https://github.com/newrelic/newrelic-java-agent/tree/main/instrumentation  class_transformer:
    # This instrumentation reports the name of the user principal returned from     # HttpServletRequest.getUserPrincipal() when servlets and filters are invoked.    com.newrelic.instrumentation.servlet-user:      enabled: false
    com.newrelic.instrumentation.spring-aop-2:      enabled: false
    # This instrumentation reports metrics for resultset operations.    com.newrelic.instrumentation.jdbc-resultset:      enabled: false
    # Classes loaded by classloaders in this list will not be instrumented.    # This is a useful optimization for runtimes which use classloaders to    # load dynamic classes which the agent would not instrument.    classloader_excludes:      groovy.lang.GroovyClassLoader$InnerLoader,      org.codehaus.groovy.runtime.callsite.CallSiteClassLoader,      com.collaxa.cube.engine.deployment.BPELClassLoader,      org.springframework.data.convert.ClassGeneratingEntityInstantiator$ObjectInstantiatorClassGenerator,      org.mvel2.optimizers.impl.asm.ASMAccessorOptimizer$ContextClassLoader,      gw.internal.gosu.compiler.SingleServingGosuClassLoader,
    # Enhanced Spring transaction naming.    # This feature will name any transaction that originates from a Spring controller after    # the defined route and HTTP method. For example: "/customer/v1/edit (POST)".    # This includes controllers that implement or extend interfaces/classes with WebMVC related    # annotations (@RestController, @Controller, @RequestMapping, etc). By default, this is configured    # to false, which will name transactions for those types of controllers based on the controller    # class name and method. For example; "CustomerController/edit". This is the naming logic carried    # over from previous agent versions. "Standard" controllers, with all relevant annotations    # present on the actual class, will still get named based on route and HTTP method.    enhanced_spring_transaction_naming: false
    # By default, built-in actuator endpoints and custom actuator endpoints (using the @Endpoint annotation    # and it's subclasses) will all be named as "OperationHandler/handle" in New Relic. Setting this    # to true will result in the transaction name reflecting the actual base actuator endpoint URI.    # For example, invoking "/actuator/loggers" or "actuator/loggers/com.newrelic" will result in the    # transaction name "actuator/loggers (GET)". This is to prevent MGI.    # Default is false.    name_actuator_endpoints: false
  # Real-time profiling using Java Flight Recorder (JFR).  # This feature reports dimensional metrics to the ingest endpoint configured by  # metric_ingest_uri and events to the ingest endpoint configured by event_ingest_uri.  # Both ingest endpoints default to US production but they will be automatically set to EU  # production when using an EU license key. Other ingest endpoints can be configured manually.  # Requires a JVM that provides the JFR library.  jfr:
    # Set to true to enable Real-time profiling with JFR.    # Default is false.    enabled: false
    # Set to true to enable audit logging which will display all JFR metrics and events in each harvest batch.    # Audit logging is extremely verbose and should only be used for troubleshooting purposes.    # Default is false.    audit_logging: false
    # The time interval, in seconds, of how often JFR data is sent to New Relic.    # The default is 10 seconds.    harvest_interval: 10
    # The size of the queue used to store JFR events. Increasing this can reduce gaps in JFR reported data    # but can also cause resource issues in the agent or cause data to be dropped if backend pipeline    # limits are exceeded.    # See: https://docs.newrelic.com/docs/data-apis/ingest-apis/event-api/introduction-event-api/#limits    #      https://docs.newrelic.com/docs/data-apis/ingest-apis/metric-api/metric-api-limits-restricted-attributes/    # Default is 250000    queue_size: 250000
  # User-configurable custom labels for this agent.  Labels are name-value pairs.  # There is a maximum of 64 labels per agent.  Names and values are limited to 255 characters.  # Names and values may not contain colons (:) or semicolons (;).  labels:
    # An example label    #label_name: label_value
  # New Relic Security vulnerability detection.  security:    # Determines whether the security data is sent to New Relic or not. When this is disabled and agent.enabled is    # true, the security module will run but data will not be sent. Default is false.    enabled: false
    # New Relic Security provides two modes: IAST and RASP    # Default is IAST. Due to the invasive nature of IAST scanning, DO NOT enable this mode in either a    # production environment or an environment where production data is processed.    mode: IAST
    # New Relic Security’s SaaS connection URL    validator_service_url: wss://csec.nr-data.net
    # To completely disable all security functionality, set this flag to false. This property is    # read only once at application start. Default is false.    agent:      enabled: false
    # This configuration allows users to specify a unique test identifier when running IAST Scan with CI/CD    # iast_test_identifier: 'run-id'
      # Security controllers    scan_controllers:      # The scan_request_rate_limit configuration allows to specify maximum number of replay request played per minute.      # The maximum is 3600 and the minimum is 12 replay request per minute.      iast_scan_request_rate_limit: 3600 # Number of IAST replay request played per minute, Default is 3600      # This configuration allows users to the number of application instances for a specific entity where IAST analysis is performed.      scan_instance_count: 0 # Values are 1 or 0, 0 signifies run on all application instances
    # The scan_schedule configuration allows to specify when IAST scans should be executed    scan_schedule:      # The delay field specifies the delay in minutes before the IAST scan starts. This allows to schedule the scan to start at a later time.      delay: 0        #In minutes, default is 0 min      # The duration field specifies the duration of the IAST scan in minutes. This determines how long the scan will run.      duration: 0      #In minutes, default is forever
      # The schedule field specifies a cron expression that defines when the IAST scan should start.      #schedule: ""   #By default, schedule is inactive
      # Allow continuously sample collection of IAST events      always_sample_traces: false # Default is false
    # The exclude_from_iast_scan configuration allows to specify APIs, parameters, and categories that should not be scanned by Security Agents.    exclude_from_iast_scan:      # The api field specifies list of APIs using regular expression (regex) patterns that follow the syntax of Perl 5. The regex pattern should provide a complete match for the URL without the endpoint.      # Example:      #   api:      #    - .*account.*      #    - .*/\api\/v1\/.*?\/login      api: [ ]
      # The parameters configuration allows users to specify headers, query parameters, and body keys that should be excluded from IAST scans.      # Example:      #   http_request_parameters:      #    header:      #      - X-Forwarded-For      #    query:      #      - username      #      - password      #    body:      #      - account.email      #      - account.contact      http_request_parameters:        # A list of HTTP header keys. If a request includes any headers with these keys, the corresponding IAST scan will be skipped.        header: [ ]        # A list of query parameter keys. The presence of these parameters in the request's query string will lead to skipping the IAST scan.        query: [ ]        # A list of keys within the request body. If these keys are found in the body content, the IAST scan will be omitted.        body: [ ]
      # The iast_detection_category configuration allows to specify which categories of vulnerabilities should not be detected by Security Agents.      # If any of these categories are set to true, Security Agents will not generate events or flag vulnerabilities for that category.      iast_detection_category:        insecure_settings: false        invalid_file_access: false        sql_injection: false        nosql_injection: false        ldap_injection: false        javascript_injection: false        command_injection: false        xpath_injection: false        ssrf: false        rxss: false        unsafe_deserialization: false        unsafe_reflection: false
  # Slow transaction detection will report an event to New Relic ("SlowTransaction") whenever a Transaction's  # time exceeds the threshold value (in ms). A transaction will only be reported once and by default, only  # transactions that are in-process during a harvest cycle will be checked. Only the slowest single transaction  # will be reported even if multiple transactions exceed the threshold.  slow_transactions:    enabled: true    threshold: 600000
    # If this is set to true, every transaction will be checked for exceeding the defined threshold on    # transaction completion. Note that this can be computationally expensive since a stack trace is sent    # with every SlowTransaction event, if a large number of transaction exceed the threshold.    evaluate_completed_transactions: false
# Application Environments# ------------------------------------------# Environment specific settings are in this section.# You can use the environment to override the default settings.# For example, to change the app_name setting.# Use -Dnewrelic.environment=<environment> on the Java startup command line# to set the environment.# The default environment is production.
# NOTE if your application has other named environments, you should# provide configuration settings for these environments here.
development:  <<: *default_settings  app_name: My Application (Development)
test:  <<: *default_settings  app_name: My Application (Test)
production:  <<: *default_settings
staging:  <<: *default_settings  app_name: My Application (Staging)