Javaエージェントの更新

New Relicの最新機能、追加機能、そして重要なセキュリティパッチを最大限に活用できるよう、Javaエージェントを最新状態に更新することをお勧めします。特定のエージェントのアップデートの詳細については、Javaエージェントのリリースノートを参照してください。

これらのアップデート手順では、New Relic Javaエージェント(newrelic.jar)を含んだエージェントのルートディレクトリの現在のコンテンツの一部を、New Relic UIから新たにダウンロードしたコンテンツと置き換える方法を解説しています。

最新バージョンにアップデートする

現在使用しているJavaエージェントのバージョンを特定するには、java -jar newrelic.jar -vを実行します。コンソールに、ご利用のJavaエージェントのバージョンがプリントされます。

その後、最新バージョンのJavaエージェントにアップデートするには:

  1. entireJavaエージェントのrootディレクトリを別ロケーションにバックアップします。このディレクトリの名前をNewRelic_Agent#.#.#に変更します。#.#.#はエージェントのバージョン番号となります。
  2. rpm.newrelic.com/apm > (アカウントのドロップダウン) > Account settingsに移動します。
  3. お使いのプラットフォーム用のエージェントをダウンロードします。
  4. 新しいエージェントのダウンロードファイルを解凍し、newrelic-api.jarnewrelic.jarを元のJavaエージェントのルートディレクトリにコピーします。
  5. 現在のnewrelic.ymlと新しくダウンロードしたZipファイルからのnewrelic.ymlDiffを実行し、必要に応じてカスタマイズされた差分を更新します。
  6. Javaディスパッチャを再起動します。

Javaエージェントのアップデート後に問題が発生した場合は、バックアップしたNew Relicエージェントディレクトリから復元してください。

エージェント更新の設定の差異

2つのバージョン間の差分がお使いのアプリケーションのカスタマイゼーションに関連していない場合は、最新のアップデートを進めるのに使用するnewrelic.ymlをNew Relicのデフォルトnewrelic.ymlに合わせます。

たとえば、Javaエージェントバージョン3.29.0と3.30.0に対してデフォルトのnewrelic.ymlファイルのdiffを実行した場合、コンソールに出力される結果は以下のようになります:

➜ diff newrelic_3.29.0.yml newrelic_3.30.0.yml
254a255,265
> # 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,
> 

上記の行は、Javaエージェントバージョン3.30.0に含まれるデフォルトのnewrelic.ymlに追加されました。Javaエージェントバージョン3.30.0以降を実行したい場合、これらの行を必ずnewrelic.ymlに含めるようにしてください。

Javaエージェントのバージョンには未対応

EOL通知: 2015年01月26日をもって、New Relicは、Javaエージェントのバージョン2.21.7を除く3.6.0以前のバージョンからのデータを受けつけません。

こうしたエージェントのバージョンは、New Relicのデータ収集サービスと通信する際に期限切れプロトコルを使用しています。また、こうしたバージョンの多くは、重要なデータを誤ってNew Relicコレクターに送信するという、潜在的なセキュリティ上の問題も抱えています。

サポート対象外のバージョンのエージェントをアップデートする

大幅なバージョン更新を含む以前のバージョンのエージェントからアップデートしている場合、機能の変更がないかどうか以下のリストを見直してください。

移行 コメント
5.0.0

リリースノート:Javaエージェント 5.0.0

自己インストーラ:

New Relic Javaエージェントの自己インストーラは、ユーザー体験をより一貫したものとするため、削除されました。Javaエージェントをインストールするには、newrelic.jarへのフルパスを、JVMオプションの-javaagentフラグに追加します。詳細については、DockerまたはMaven、Gradleを含む特定のアプリケーションサーバーでのエージェントのインストールについてのドキュメントをご覧ください。

非推奨のインストゥルメンテーション:

次のインストゥルメンテーションモジュールは、デフォルトのJavaエージェントから削除されました。これらのモジュールは、現在別個のダウンロードとして提供されています。このモジュールを引き続き使用するには、New Relicフォルダにあるエージェントの拡張機能ディレクトリ、または拡張機能ディレクトリを設定している場所に追加します。非推奨のモジュールには以下のものが含まれます:

  • Akka 2.0
  • Akka 2.1
  • Akka-http 1.0
  • Akka-http 2.0~2.4.1
  • Akka-http 2.4.2~2.4.4
  • Hystrix 1.2
  • Hystrix 1.3
  • Play 1: Play-1.xのインストゥルメンテーションは、拡張機能としては使用できません。
  • Play 2.0
  • Play 2.1
  • Play 2.2
  • Solr 3.1~3.4
  • Solr 3.5
  • Solr 3.6
4.12.0

リリースノート:Javaエージェント 4.12.0

非推奨のAPI:

カスタムトランスポートチャネルAPIは、ディストリビューティッド(分散)トレーシングAPIを使用するようになったため、非推奨となっています。

@Trace アノテーションのskipTransactionTrace属性は、非推奨となりました。代わりに、excludeFromTransactionTrace属性を使用します。

非推奨のインストゥルメンテーション:

JetS3t: JetS3tの組み込みインストゥルメンテーションは削除されました。エージェントは引き続き、JetS3tクライアントで作成された外部呼び出しをレポートします。

4.4.0

リリースノート:Javaエージェント 4.4.0

Java 6サポートを削除:

4.3以下のバージョンを使用する必要があります。

EUデータセンター:

EUデータセンターでの使用に必要な最低バージョン。

SSL設定オプションを削除:

SSLが常に、New Relic Serversとの通信に使用されるようになりました。newrelic.yml ssl設定および-Dnewrelic.config.sslシステムプロパティは今後使用されません。いずれかの値をtrue以外に設定すると、ログで警告が発生します。

レガシーエージェント 2.21.7

リリースノート:Javaエージェント 2.21.7

Java SE 5.0:

これは、エージェントのレガシーJava SE 5.0のバグフィックスリリースです。Java SE5を使用している場合を除き、最新バージョンのNew Relic Javaエージェントを使用してください。これにより、次のものに影響が生じます:

  • Linux、Solaris、Windows、OS X用Oracle Hotspot JVMバージョン5.0
  • Oracle JRockit(1.6.0_50まで)

その他のヘルプ

推奨する詳細情報: