• /
  • ログイン
  • 無料アカウント

Javaエージェント設定:設定ファイル

New Relic Javaエージェントは、newrelic.ymlファイルから設定を読み取ります。デフォルトで、エージェントは、newrelic.jarを含むディレクトリでこのファイルを検索します。newrelic.config.fileシステムプロパティを完全修飾ファイル名に設定して、設定ファイルの場所を上書きできます。

設定ファイルの構成

newrelic.ymlファイルは、次の異なる環境に対応するスタンザに分割されます:

  • テスト
  • 開発
  • ステージング
  • 本番環境(デフォルト)

New Relicは、共通するスタンザの設定を、これらの各環境に適用します。newrelic.environmentシステムプロパティを環境名に設定して、デフォルトとしてその他の環境を選択できます。

ヒント

newrelic.ymlテンプレートをご利用いただけます。

newrelic.ymlを編集する場合、YAML形式に従うよう注意してください。New RelicのJavaエージェントで使用する前に、YAMLバリデータを使用して構文が正しいことを確認し、以下の規則に従ってください。

Javaエージェント newrelic.yml

要件

形式

YMLファイルには、大文字と小文字の区別があります。

インデント

すべてのインデントは、2文字の空白にする必要があります。その他のインデントにすると、エージェントの起動時に設定ファイルをパースできませんエラーが生じます。

  • ファイルの同じスタンザのデータは、同じレベルのインデントを使用します。
  • サブスタンザは、2つの空白を追加してインデントします。

ファイルの変更

変更を有効にするには、JVMホストプロセスを再起動する必要があります。

例外:プロパティをlog_levelおよびaudit_modeに変更しても、再起動は不要です。ブレーカーの下でのプロパティの変更では、再起動が必要です。

設定の優先順位

設定ファイルで設定を上書きするには、システムプロパティの上書きを使用します。環境によっては、環境変数を使用して、設定ファイルとシステムプロパティの両方を上書きすることもできます。環境変数は主に、Herokuをサポートするために存在します。使用すると、サーバーサイドコンフィグレーションが、その他すべての設定を上書きします。

java-config-order.png

Javaエージェントでは、サーバーサイドコンフィグレーションが、その他すべての設定を上書きします。環境変数は、Javaシステムプロパティを上書きします。Javaプロパティは、お使いのnewrelic.ymlファイルのユーザー設定を上書きします。ユーザー設定は、newrelic.ymlデフォルト設定を上書きします。

Javaエクステンションディレクトリの設定

Javaエージェントは、プロセスの開始時に設定ファイルを読み込みます。ファイルのあるディレクトリを特定するには、新規のディレクトリを作成するか、既存のエクステンションディレクトリを指定します。

一般構成設定

共通のスタンザでこのオプションを設定します。このオプションを上書きするには、newrelic.configプリフィックスの付いたシステムプロパティを使用します。

重要

Javaエージェント3.48.0では、SSLはデフォルトで有効になっており、これを無効にする設定オプションは非推奨となっています。Javaエージェント4.0.0では、SSLを無効にする機能は削除されています。

ロギングの設定

これは、一般的な設定変数の一部です。デバッグのため頻繁に微調整が行われるため、ここで分割されます。

ロギング設定変数の一部は動的であり、有効にするのにホストの再起動は不要です。たとえば、ログファイルの増加が速すぎる場合、log_levelの設定の詳細度を下げてレポートの頻度を減らすことができます。

ログのローテーションに影響を与える設定変数の優先順位は次のとおりです。

  • log_dailytrueの場合、その他のログローテーション設定は無視されます。
  • log_file_count1または0の場合、サイズ制限は無視されます。
  • 最後に、エージェントはlog_limit_in_kbytesを適用します。

増加率によっては、ログファイルのサイズが設定した値を若干超えることがあります。

JMX

このオプションを設定するには、jmxスタンザを使用します。上書きするには、newrelic.config.jfrプリフィックス化システムプロパティを使用します。

Javaエージェントは、JMXを使用してJVMデータを収集します。また、このエージェントは、他のトレースシステムで使用できるJMX上のリンクメタデータを公開できます。

JFR(リアルタイムプロファイリング)

Javaエージェントは、Java Flight Recorder(JFR)を使用して、リアルタイムプロファイリング用の忠実度の高いJVMデータを収集します。

リアルタイムプロファイリングは、エージェントyaml内のjfrスタンザで設定できます。この場合、newrelic.config.jfrでプリフィックス化されたシステムプロパティ、または NEW_RELIC_JFR_でプリフィックス化された環境変数を使用します。

属性

このオプションを設定するには、属性スタンザを使用します。上書きするには、newrelic.config.attributesプリフィックス化システムプロパティを使用します。

属性は、トランザクショントレースやトレースされたエラー、ブラウザモニタリング、トランザクションイベントについての情報を提供するキーの値のペアです。各宛先の下に、属性スタンザもあります。詳細については、Javaエージェント属性および属性の有効化と無効化属性の例をご覧ください。

トランザクショントレーサー

このオプションはtransaction_tracerスタンザで設定され、newrelic.config.transaction_tracerプリフィックス化システムプロパティを使用して上書きできます。

トランザクショントレーシングは、スロートランザクションについての深い情報を捕捉し、New Relicサービスに送信します。トランザクションには、発効されたクエリステートメントを含む、トランザクションの正確な呼び出しの順序が含まれます。

重要

トランザクション名の末尾に角括弧[suffix]を使わないでください。New Relicは名前から自動的に角括弧を除去します。代わりに、必要に応じて丸括弧(suffix)、またはその他の記号を使ってください。

トランザクションセグメント

transaction_segmentsスタンザで設定されたこれらのオプションは、newrelic.config.transaction_segmentsプリフィックス化システムプロパティを使用して上書きできます。

トランザクションセグメントは、個別の作業単位(一般的にはメソッド呼び出し)を表し、トランザクショントレース内に表示されます。

重要

トランザクションセグメント属性のフィルタリングには、Javaエージェントバージョン4.10.0以上が必要です。

ブラウザのモニタリング

これらのオプションはbrowser_monitoringスタンザで設定され、newrelic.config.browser_monitoringプリフィックス化システムプロパティを使用して上書きできます。

ブラウザモニタリングにより、ウェブサイトでユーザーが実際に体験しているパフォーマンスについての知見が得られます。これは、少量のJavacriptコードを書くページのヘッダーとフッターに挿入することで、ユーザーのブラウザがウェブページのダウンロードとレンダリングにかかる時間を測定して行われます。

外部トレーサー

外部トレーシングオプションはexternal_tracerスタンザで設定され、newrelic.config.external_tracerプリフィックス化システムプロパティを使用して上書きできます。

クロスアプリケーショントレーサー

クロスアプリケーショントレーシングはcross_application_tracerスタンザで設定され、newrelic.config.cross_application_tracerプリフィックス化システムプロパティを使用して上書きできます。

クロスアプリケーショントレーシングは、Apache HttpClientライブラリを使用して、リクエストヘッダーとレスポンスヘッダーを外部呼び出しに追加します。これにより、他のNew Relicエージェントが監視するアプリケーションを呼び出す際のデータのパフォーマンスが向上します。

エラーコレクター

このオプションはerror_collectorスタンザで設定され、別途注記がある場合を除き、newrelic.config.error_collectorプリフィックス化システムプロパティを使用して上書きできます。エラーコレクターは、捕捉されていない例外についての情報を取得し、New Relicに送信して表示します。

ヒント

UIを介してのエラー設定の方法を含む、Javaエージェントのエラー設定の方法については、Javaエージェントのエラー設定をご覧ください。

例外の除去

strip_exception_messagesスタンザで設定されたこれらのオプションは、別途注記がある場合を除き、newrelic.config.strip_exception_messages​プリフィックス化システムプロパティを使用して上書きできます。この設定を有効にして、Java例外メッセージをNew Relicにレポートするかどうかを制御できます。

スレッドプロファイラー

thread_profilerスタンザで設定されたこれらのオプションは、newrelic.config.thread_profilerプリフィックス化システムプロパティを使用して上書きできます。

スレッドプロファイラーは、実行時に、アプリケーションのスレッドでのウォールクロックタイムやCPU時間、メソッド呼び出し数を測定します。

Transactionイベント

このオプションはtransaction_eventsスタンザで設定され、newrelic.config.transaction_eventsプリフィックス化システムプロパティを使用して上書きできます。

トランザクションイベントは、UIでヒストグラムとパーセンタイルを表示するためのデータを提供します。

重要

以前はこのスタンザはanalytics_eventsと呼ばれていました。設定ファイルで現在もanalytics_eventsを使用している場合、エージェントを更新してtransaction_eventsを使用します。

カスタムイベント

カスタムイベントはcustom_insights_eventsスタンザで設定され、newrelic.config.custom_insights_eventsプリフィックス化システムプロパティを使用して上書きできます。

APMでは、New Relic言語エージェントAPIによりカスタム イベントデータを記録でき、これをクエリすることが可能です

重要

4.1.0より前のJavaエージェントのバージョンでは、次のYAML設定が認識されます。

custom_insights_events.enabled: true
custom_insights_events.max_samples_stored: 5000

エージェントのバージョンが4.1.0以上の場合、YAML設定はネストされたスタンザフォーマットを使用します。

custom_insights_events:
enabled: false
max_samples_stored: 5000

60秒ごとにレポートされた、サンプリングされたカスタムイベントの最大数。

ホスト名の設定

process_hostスタンザで設定されたこれらのオプションは、newrelic.config.process_hostプリフィックス化システムプロパティを使用して上書きできます。

このプロパティは、UIに表示されるホスト名の設定に使用します:

カスタムインストゥルメンテーション

class_transformerスタンザで設定されたこれらのオプションは、newrelic.config.class_transformerプリフィックス化システムプロパティを使用して上書きできます。

システムプロパティ

システムプロパティを設定して、newrelic.ymlファイルで設定を上書きできます。設定ファイルの所定の設定に対応するシステムプロパティは、newrelic.configでプリフィックス化された設定名です。たとえば、log_level設定のシステムプロパティはnewrelic.config.log_levelです。

スタンザにネストされた設定については、スタンザ名を設定名に追加します。一例として、transaction_tracerスタンザで有効にされた設定のシステムプロパティは、newrelic.config.transaction_tracer.enabledとなります。

設定の上書きに加え、次のシステムプロパティをエージェントは認識します:

環境変数

環境変数は最優先となり、システムプロパティとyml設定を上書きします。

  • 環境変数を設定するには、export VARNAME=valueコマンドを使用します。
  • 環境変数を恒久的に設定するには、~/.bashrc or ~/.bash_profileのようにエクスポート行をファイルに追加します。

システムプロパティから、または環境変数を設定してnewrelic.ymlで、設定を上書きできます。設定ファイルで所定の設定に対応する環境変数は、すべてのドット(.)とダッシュ(-)をアンダースコア(_)で置換したNEW_RELICでプリフィックス化した設定名です。たとえば、log_level設定の環境変数はNEW_RELIC_LOG_LEVELです。

スタンザにネストされた設定については、スタンザ名を設定名に追加します。一例として、transaction_tracerスタンザで有効にされた設定の環境変数は、NEW_RELIC_TRANSACTION_TRACER_ENABLEDとなります。

重要

環境変数を介してのエージェント設定では、Javaエージェントバージョン4.10.0以上が必要です

4.10.0以前のエージェントバージョンについては、次の環境変数を使用できます:

クラウドプラットフォームの利用

このオプションはutilizationスタンザで設定され、newrelic.config.utilizationプリフィックス化システムプロパティを使用して上書きできます。

エージェントは利用情報を収集し、New Relicサービスに送信します。エージェントは、Amazon Web Services(AWS)EC2インスタンスおよびDockerコンテナから情報を収集できます。

非同期インストゥルメンテーション

このオプションはcommonスタンザで設定され、プリフィックス化されたシステムプロパティを使用して上書きできます。

サーキットブレーカー

この設定は、Javaブレーカーの動作をカスタマイズします。この設定は、デフォルトではnewrelic.ymlに含まれていません。変更後にJVMを再起動する必要はありません。

サーキットブレーカーをカスタマイズする場合、スタンザをcommonスタンザの下に追加します:

common: &default_settings​
    ​  OTHER_CONFIG_SETTINGS
      circuitbreaker:
        enabled: true
        memory_threshold: 20
        gc_cpu_threshold: 10

メッセージトレーサー

message_tracerスタンザで設定されたこれらのオプションは、newrelic.config.message_tracerプリフィックス化システムプロパティを使用して上書きできます。

ディストリビューティッド(分散)トレーシング

重要

ディストリビューティッド(分散)トレーシングを有効にすると、クロスアプリケーショントレーシングが無効になり、他のAPM機能に影響します。有効にする前に、移行ガイドを読んでください。

Javaエージェントのバージョン4.3.0以降が必要です。

ディストリビューティッド(分散)トレーシングでは、リクエストが経由する分散システムのパスを見ることができます。設定ファイルで、distributed_tracingスタンザで設定できます。newrelic.config.distributed_tracingプリフィックス化システムプロパティを使用して上書きできます。

無限トレーシング

重要

要件:

Infinite Tracingをオンにするには、ディストリビューティッド(分散)トレーシングを有効にして、以下の追加設定を加えます。例えば、「言語エージェント:ディストリビューティッド(分散)トレーシングを構成する」をご覧ください。

スパンイベント

スパンイベントディストリビューティッド(分散)トレーシングに関してレポートされます。スパンイベントをレポートするには、ディストリビューティッド(分散)トレーシングが有効になっていなければなりません。

スパン設定はspan_eventsスタンザで設定され、newrelic.config.span_eventsプリフィックス化システムプロパティを使用して上書きできます。オプションに含まれるもの:

重要

スパンイベント属性のフィルタリングには、Javaエージェントバージョン4.10.0以上が必要です。

Jarコレクター

Javaエージェントは、アプリケーションクラスパス上のJarに関する情報とそのバージョンを収集します。

Jarコレクション設定はjar_collectorスタンザで設定され、newrelic.config.jar_collectorプリフィックス化システムプロパティを使用して上書きできます。オプションに含まれるもの:

その他のヘルプ

さらに支援が必要な場合は、これらのサポートと学習リソースを確認してください:

問題を作成するこのページを編集する
Copyright © 2020 New Relic Inc.