これらの設定には、cloudプラットフォームの検出、パフォーマンス制御、エージェントのライフサイクル設定など、追加のJavaエージェント設定オプションが含まれます。
ヒント
完全な設定インデックスに戻る:Javaエージェント設定
サーキットブレーカー
この設定は、Javaブレーカーの動作をカスタマイズします。この設定は、デフォルトではnewrelic.ymlに含まれていません。変更後にJVMを再起動する必要はありません。
サーキットブレーカーをカスタマイズする場合、それをcommonセクションの下に追加します。
common: &default_settings OTHER_CONFIG_SETTINGS circuitbreaker: enabled: true memory_threshold: 20 gc_cpu_threshold: 10クラウド設定
エージェントYAMLのcloudセクションで、クラウド関連のオプションを設定します。これらの設定は、プレフィックスがnewrelic.config.cloudのシステムプロパティ、またはプレフィックスがNEW_RELIC_CLOUD_の環境変数で上書きできます。
設定の例:
cloud: aws: account_id: 123456789012 metadata_bypass_proxy: falseクラウドプラットフォームの利用
utilizationセクションでクラウドプラットフォームの使用率設定を設定し、newrelic.config.utilizationプリフィックス化システムプロパティを使用して上書きできます。
エージェントは利用情報を収集し、New Relicサービスに送信します。エージェントは、Amazon Web Services(AWS)、Azure、Google Cloud Platform、Pivotal Cloud Foundryのインスタンスから情報を収集できます。また、DockerコンテナとKubernetesサービスに関連する情報も収集します。
コードレベルの指標
コードレベルのメトリクスからは、コードがメソッドレベルでどのように機能しているかについて詳細なインサイトが得られます。自動的にインストゥルメントされた、または@Traceアノテーションによってインストゥルメントされた各メソッドのメトリクスが表示されます。
コードレベルのメトリクスオプションはcode_level_metricsセクションで設定します。これらは、newrelic.config.code_level_metricsプレフィックス化システムプロパティを使用して上書きできます。
カスタムイベント
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外部トレーサー
外部トレースオプションはexternal_tracerセクションで設定します。newrelic.config.external_tracerプリフィックス化システムプロパティを使用して、これらのオプションを上書きできます。
ホスト名の設定
ホスト名設定オプションはprocess_hostセクションで設定します。newrelic.config.process_hostプリフィックス化システムプロパティを使用して、これらのオプションを上書きできます。
このプロパティを使用して、UIに表示されるホスト名を設定します。
Jarコレクター
Javaエージェントは、アプリケーションクラスパス上のJarに関する情報とそのバージョンを収集します。
jarコレクションの設定はjar_collectorセクションで設定します。newrelic.config.jar_collectorプリフィックス化システムプロパティを使用して、これらの設定オプションを上書きできます。オプションには次のものが含まれます。
JVMプロパティの難読化
Javaエージェントは、UIで表示するJVMプロパティをNew Relicに送信します。Javaエージェントバージョン8.16.0以降では、ほとんどのプロパティの値が難読化されます。たとえば、-Dprop=12345は-Dprop=obfuscatedという形で送信されます。
エージェントYAMLのobfuscate_jvm_propsセクションで難読化関連のオプションを設定します。これらの設定は、プレフィックスがnewrelic.config.obfuscate_jvm_propsのシステムプロパティ、またはプレフィックスがNEW_RELIC_OBFUSCATE_JVM_PROPS_の環境変数で上書きできます。
デフォルトでは、-Xで始まるプロパティの値は難読化されません。
Kafkaメッセージキュー
Kafkaインストゥルメンテーション設定の詳細については、Kafkaメッセージキューのインストゥルメントページを参照してください。
アプリケーションをスキップ
エージェントは、スタートアップメインクラスまたはコマンドラインから抽出された実行可能jarファイルに基づいて、任意に有効または無効にすることができます。これは、「JAVA_TOOL_OPTIONS」環境変数が存在し、-javaagentフラグが含まれているものの、 Kubernetesコンテナ内など、環境内のすべてのJavaアプリに計装を適用したくない場合に便利です。
重要
エージェントのライフサイクルの早い段階でスキップ設定を確認する必要があるため、スキップ設定はシステムプロパティまたは環境変数を介してのみサポートされます。
診断目的で、excludeまたはinclude設定変数のいずれかが定義されている場合、エージェントは抽出されたコマンドラインと解析されたスキップトークンをstdoutに出力します。
New Relic Agent: New Relic Agent: Configured startup Java artifacts [include|skip] string: keytool,MainNew Relic Agent: Retrieved current startup command line / main artifact name: /Users/bob/.sdkman/candidates/java/11.0.17-amzn/bin/keytoolincludeまたはskip設定変数に基づいてエージェントが無効になっている場合、以下がstdoutにダンプされます。
----------New Relic Agent is disabled by startup class/jar skip or include configuration.----------低速トランザクションの検出
Javaエージェントバージョン8.7.0以降、エージェントはSlowTransactionイベント経由で低速トランザクションを検出できるようになりました。これらのイベントは、トランザクションの長さが特定のしきい値を超えた場合に記録されます。デフォルトのしきい値は600000ミリ秒(10分)です。
低速トランザクションの検出はslow_transactionsで設定され、newrelic.config.slow_transactionsプリフィックス化システムプロパティを使用して、上書きできます。オプションには次のものが含まれます。
例外の除去
除外例外オプションはstrip_exception_messagesセクションで設定します。newrelic.config.strip_exception_messagesプリフィックス化システムプロパティを使用して、この設定を上書きできます。Java例外メッセージをNew Relicにレポートするかどうかを制御するには、この設定を有効にします。
一時的なJarファイルの削除
一部の顧客環境では、エージェントの一時jarがJVMの終了時に削除されるようにマークされているにもかかわらず、適切にクリーンアップされません。これはJVMの異常終了が原因であると考えられます。この設定は、起動時に指定された値より古い一時エージェントjarファイルを削除するようにエージェントに指示します。
重要
ファイルの削除はエージェントのライフサイクルの早い段階で実行する必要があるため、この設定はシステムプロパティまたは環境変数を介してのみサポートされます。
診断目的で、この機能を有効にすると、次の内容がコンソールに書き込まれます。
New Relic Agent: Removing stale temporary agent file jars from [temporaryFolder] older than [X] hour(s)ファイルが削除された場合、次の内容がコンソールに書き込まれます。
New Relic Agent: Deleted [count] stale temporary jar files freeing up [totalBytes] bytesスレッドプロファイラー
スレッドプロファイラーオプションはthread_profilerセクションで設定します。newrelic.config.thread_profilerプリフィックス化システムプロパティを使用して、この設定を上書きできます。
スレッドプロファイラーは、実行時に、アプリケーションのスレッドでのウォールクロックタイムやCPU時間、メソッド呼び出し数を測定します。