このページでは、サポートされているアプリケーションサーバーまたはJVMベースのフレームワークにおける、New Relic Javaエージェントの標準的なインストレーション手順について説明します。以下の手順に従ってエージェントをダウンロードして設定し、データがNew Relicに送信されていることを確認してください。
互換性および要件
サポート対象
- Java 8、11、17、21、24、25、および26(Java 7はエージェント6.5.4以前でのみサポート)
- JVMベースの言語:Java、Scala、Kotlin、Clojure
- アプリケーションサーバーとフレームワーク:Tomcat、Spring Boot、JBoss/WildFly、Glassfish、Jetty、WebLogic、WebSphere、Grails、ColdFusion、Solr、Play、Resin、Tanuki Wrapper、Geronimo — サポートされているバージョンの範囲については、互換性と要件を参照してください。
-javaagent引数を受け入れる任意のJVMプロセス
サポートされていない
- 他のAPMエージェントとの並行稼働 — 同じJVM内で別のAPMエージェントがアクティブな場合、Javaエージェントの正常な動作は保証されません。
必要なもの
- New Relicアカウントおよび
- SHA-2(256ビット)SSLをサポートするJVM
- アプリケーションサーバーの起動スクリプトまたはJVM設定を編集する権限
- エージェントファイルを保持するディレクトリを作成する権限
インストール
Javaエージェントをダウンロードする
以下のいずれかの方法を使用して、newrelic-java.zipをダウンロードします。
$curl -O https://download.newrelic.com/newrelic/java-agent/newrelic-agent/current/newrelic-java.zip
Invoke-WebRequest -Uri https://download.newrelic.com/newrelic/java-agent/newrelic-agent/current/newrelic-java.zip -OutFile newrelic-java.zip
Expand-Archive -Path newrelic-java.zip -DestinationPath .
解凍後、newrelic/ディレクトリには、次の手順で設定するエージェントのjar(newrelic.jar)と設定ファイル(newrelic.yml)が含まれています。
エージェントファイルを配置する
永続的なディレクトリを作成し、その中にエージェントファイルを移動します。
$mv newrelic/* /opt/newrelic/
Linux/macOSでは/opt/newrelic、WindowsではC:\opt\newrelicをお勧めします。newrelic.jarがアプリケーションのクラスパス、またはjava.endorsed.dirsにリストされているディレクトリにないことを確認してください。
次を渡す: -javaagent
アプリケーションサーバーのJVM起動設定に-javaagentフラグを追加し、newrelic.jarのフルパスを指定してください。方法はサーバーごとに異なります — ご使用の環境に一致するものを展開してください。
Tomcatのセットアップ方法を選択してください。
CATALINA_BASE/bin/setenv.shが存在しない場合は作成し、次を追加してください。
$export CATALINA_OPTS="$CATALINA_OPTS -javaagent:/opt/newrelic/newrelic.jar"
CATALINA_BASE/bin/setenv.batが存在しない場合は作成し、次を追加してください。
SET "CATALINA_OPTS=%CATALINA_OPTS% -javaagent:C:\opt\newrelic\newrelic.jar"
Start > Apache Tomcat X.Y.Z. > Configure Tomcat > Javaを選択します。
Javaオプションテキストボックスに、引数を入力します。パスの区切り文字には、フォワードスラッシュ/を使用します。Tomcat 6の場合は、-javaagent引数の後に改行を追加します。
-javaagent:/opt/newrelic/newrelic.jar
適用を選択し、Tomcatを再起動します。
コマンドラインで、-jar引数の前に-javaagent引数を追加します。
$java -javaagent:/opt/newrelic/newrelic.jar -jar /path/to/your-application.jar
domain/configuration/domain.xmlを編集し、サーバーグループのJVMオプションに-javaagentオプションを追加します。
<server-group name="main-server-group" profile="full">
<option value="-javaagent:/opt/newrelic/newrelic.jar"/>
プラットフォーム | 解説 |
|---|
Unix/macOS — JBoss 6.x EAPまたは7.0.xAS+ | bin/standalone.confの最終行に以下を追加します。 JAVA_OPTS="$JAVA_OPTS -javaagent:/opt/newrelic/newrelic.jar"
|
Windows — JBoss 6.x EAPまたは7.0.xAS+ | bin/standalone.batのset JBOSS_ENDORSED_DIRSの前に、以下を追加します: set "JAVA_OPTS=-javaagent:C:\opt\newrelic\newrelic.jar %JAVA_OPTS%"
|
Unix/macOS — JBoss 6.x以前 | bin/run.confの最終行に以下を追加します。 JAVA_OPTS="$JAVA_OPTS -javaagent:/opt/newrelic/newrelic.jar"
|
Windows — JBoss 6.x以前 | bin/run.batのset JBOSS_CLASSPATHの前に、以下を追加します: set "JAVA_OPTS=-javaagent:C:\opt\newrelic\newrelic.jar %JAVA_OPTS%"
|
domain/configuration/domain.xmlを編集し、サーバーグループのJVMオプションに-javaagentオプションを追加します。
<server-group name="main-server-group" profile="full">
<option value="-javaagent:/opt/newrelic/newrelic.jar"/>
プラットフォーム | 解説 |
|---|
Unix/macOS | bin/standalone.confの最終行に以下を追加します。 JAVA_OPTS="$JAVA_OPTS -javaagent:/opt/newrelic/newrelic.jar"
|
Windows | bin/standalone.batで、rem Setup JBoss specific propertiesの後に次を追加します: set "JAVA_OPTS=-javaagent:C:\opt\newrelic\newrelic.jar %JAVA_OPTS%"
|
Glassfishのアドミンコンソールから、Application Server > JVM Settings > JVM Optionsを選択します。
Add JVM Optionを選択して、以下を追加します。
-javaagent:/opt/newrelic/newrelic.jar
保存して、Glassfishを再起動します。
Glassfishが起動しない場合は、-javaagentのパスが正しくない可能性があります。domain.xmlを直接編集して、JVM引数を設定することもできます。
重要
Glassfish 2.1のバグにより、ブートストラップクラスローダーが読み込んだクラスではJavaロギングAPIを使用できません。この問題は、2.1.1以降で修正されています。
jetty.shスクリプトでJAVA_OPTIONSを編集します。
$export JAVA_OPTIONS="${JAVA_OPTIONS} -javaagent:/opt/newrelic/newrelic.jar"
start.ini設定ファイルに追加してください。
-javaagent:/opt/newrelic/newrelic.jar
ドメインのbin/ディレクトリにあるstartWebLogic.shを編集します。
ファイルの先頭付近に、以下を追加します。
$export JAVA_OPTIONS="$JAVA_OPTIONS -javaagent:/opt/newrelic/newrelic.jar"
ドメインのbin/ディレクトリにあるstartWebLogic.batを編集します。
ファイルの先頭付近に、以下を追加します。
set JAVA_OPTIONS=%JAVA_OPTIONS% -javaagent:"C:\opt\newrelic\newrelic.jar"
管理サーバーのインスタンスについては、上記のLinux/macOSまたはWindowsの手順を使用してください。アドミンコンソールから管理サーバーのインスタンスを設定することはできません。
管理対象サーバーのインスタンスについては、アドミンコンソールを使用します。
Environments > Servers > (select a server) > Server Start > Argumentsに移動します。
以下を追加します。
-javaagent:/opt/newrelic/newrelic.jar
保存して、サーバーインスタンスを再起動します。
アドミンコンソールから、サーバー > アプリケーションサーバー > (サーバーを選択) > 設定 > サービスインフラストラクチャ > Javaおよびプロセス管理を選択します。
プロセス定義 > 追加プロパティを選択し、Java仮想マシンを選択します。
汎用JVM引数フィールドに、次を追加します:
-javaagent:/opt/newrelic/newrelic.jar
Applyを選択し、Saveを選択します。
サーバーを再起動します。
詳細については、WebSphere PMIメトリクスの収集を参照してください。
起動コマンドを実行する際に、エージェントをJAVA_OPTSに追加します。
$export JAVA_OPTS="$JAVA_OPTS -javaagent:/opt/newrelic/newrelic.jar" && startup
${server.config.dir}/jvm.optionsを編集します。
以下を追加します。
-javaagent:/opt/newrelic/newrelic.jar
サーバーを再起動します。
$grails -noreloading -javaagent:/opt/newrelic/newrelic.jar run-app
grails-app/conf/BuildConfig.groovyで、以下を追加または編集します:
grails.tomcat.jvmArgs = ["-javaagent:/opt/newrelic/newrelic.jar"]
ColdFusionサーバーを起動し、ColdFusionアドミンコンソールを開きます。
左側のメニューから、サーバー設定 > JavaおよびJVMを選択します。
エージェントAPIを使用している場合、ColdFusionクラスパスフィールドでnewrelic-api.jarへのパスを指定します。
JVM引数フィールドに、次を追加します:
-javaagent:/opt/newrelic/newrelic.jar
Submit Changesを選択し、ColdFusionを再起動します。
-javaagentプロパティをbin/solr.in.shに追加します。
$SOLR_OPTS="$SOLR_OPTS -javaagent:/opt/newrelic/newrelic.jar"
start.jarの前に-javaagentを追加します。
$java -javaagent:/opt/newrelic/newrelic.jar -jar start.jar
アプリケーションサーバー内でSolrを実行する場合は、そのアプリケーションサーバーの手順に従ってください(このリストの他のエントリを参照してください)。また、JMXが有効になっていることを確認してください。SolrデータがAPMに表示されない場合は、Solrデータのトラブルシューティング手順を参照してください。
$play run your_app_name -javaagent:/opt/newrelic/newrelic.jar
startスクリプトを含む解凍済みの配布ファイルから開始します。
$play clean dist && unzip dist/*.zip
-javaagent引数から始めます。
$cd unzipped/folder; chmod a+x start; ./start -javaagent:/opt/newrelic/newrelic.jar
解凍済みの配布ファイルから開始します。
$play clean dist && unzip target/directory/universal/*.zip
-J-javaagentプレフィックスを使用してください。
$cd unzipped/folder; ./bin/scriptname -J-javaagent:/opt/newrelic/newrelic.jar
解凍済みの配布ファイルから開始します。
$activator clean dist && unzip target/directory/universal/*.zip
-J-javaagentプレフィックスを使用してください。
$cd unzipped/folder; ./bin/scriptname -J-javaagent:/opt/newrelic/newrelic.jar
Play 2.4でTypesafe Activatorを使用する場合は、build.sbtにも追加します。
javaOptions ++= Seq("-javaagent:/opt/newrelic/newrelic.jar")
conf/resin.confまたはconf/resin.xmlの<jvm-args>セクションに追加します。
<jvm-arg>-javaagent:/opt/newrelic/newrelic.jar</jvm-arg>
-javaagentがconf/resin.confまたはconf/resin.xmlに追加されている場合、Java 9モジュールシステムがNoClassDefFoundError: java/sql/SQLExceptionを引き起こす可能性があります。代わりに以下のいずれかの代替手段を使用してください。
オプション1 — コマンドライン:
$java -javaagent:/opt/newrelic/newrelic.jar -jar lib/resin.jar start
オプション2 — bin/resin.shを編集し、次を変更します:
$exec $JAVA_EXE -javaagent:/opt/newrelic/newrelic.jar -jar lib/resin.jar $@
次に、./bin/resin.sh startでResinを起動してください。
wrapper.confに、新しいwrapper.java.additionalオプションを追加します。XXXをファイル内の未使用の番号に置き換えてください。
wrapper.java.additional.XXX=-javaagent:/opt/newrelic/newrelic.jar
ヒント
Linuxでは、パスの周りに引用符は不要です。これは他のOSでは異なる場合があります。
Geronimoの起動コマンドを実行する際に、JAVA_OPTSでエージェントjarを渡します。
$export JAVA_OPTS="$JAVA_OPTS -javaagent:/opt/newrelic/newrelic.jar" && geronimo run
newrelic/newrelic.ymlを編集し、次の必須の2つの値を設定してください。
license_key: 'YOUR_LICENSE_KEY'
app_name: 'My Application'
エージェントは起動時に、newrelic.jarと同じディレクトリからnewrelic.ymlを読み取ります。Javaシステムプロパティを使用して任意の設定を上書きすることもできます(例:-Dnewrelic.config.license_key=YOUR_KEY)。または環境変数を使用することもできます。
設定ファイルを使用する場合は、パーミッションをアプリケーションサーバープロセスの所有者のみの読み取り/書き込みに制限してください。
$chmod 600 /opt/newrelic/newrelic.yml
利用可能なすべてのオプションについては、Javaエージェントの設定をご覧ください。
インストールの確認
アプリケーションサーバーを再起動してください。少なくとも2回リクエストを送信してから2~3分待つと、アプリがAPM & servicesに表示されます。
5分経過してもデータが表示されない場合は、データが表示されない(Java)をご覧ください。
関連記事