New Relic Java APMエージェントを導入してみたよ

記事タイトルとURLをコピーする

みなさんこんにちは。マネージドサービス課の塩野です。

New RelicのAPMを導入したいけどどうやって設定するかイメージが付かないという方のために、今回はJAVA環境にエージェントを仕込んだ際の検証結果の記事になります。

目次

概要

最初に実際にJava Agentを動かす流れですが、こちらの記事を参考に検証してみました。

newrelic.com

検証時の環境は下記のとおりです。

openjdk 21.0.8 2025-07-15
OpenJDK Runtime Environment (build 21.0.8+9-Ubuntu-0ubuntu124.04.1)
OpenJDK 64-Bit Server VM (build 21.0.8+9-Ubuntu-0ubuntu124.04.1, mixed mode, sharing)

※アプリケーションのビルドにJDKが必要になりますので、事前に準備しておいてください。

試してみた

アプリケーションの単体起動

OSSで公開されているPetClinicを使ってのインストール確認になります。

1.リポジトリからアプリケーションコード一式を取得します。

git clone https://github.com/spring-projects/spring-petclinic.git

2.ダウンロードしたコード一式が入っているフォルダに移動します。

cd spring-petclinic

3.アプリケーションの単体ビルドを行います

./mvnw package

※New Relicのブログに書かれたコマンドを使用してみましたが私の環境ではうまくビルドができなかったため、下記コマンドを使用してビルドしました
※今回はエージェントの動作が目的のため、アプリケーションのビルドに関しては最低限ビルドができることという前提で下記コマンドを使用しました

mvn clean package -DskipTests

4.アプリケーションを起動します

java -jar target/*.jar

下記のようなページが表示されれば成功です

New Relicエージェントのインストール

ここからNew RelicのAPMエージェントをインストールしていきます。

※New Relicのブログ記事にはエージェントをダウンロードしてきてフォルダにコピーするような記載がありますが、現在の仕様では pom.xml に設定を追加することで自動的にエージェントがダウンロードされるようになっているため、特にファイルをダウンロードしてきて事前に仕込むような作業は不要になります

APMエージェントの設定

  1. New Relicの管理画面にログイン

  2. Integrations & Agents > Java を開く

  3. Maven をクリック

  4. Create a new key をクリックしてキーを作成し、continueをクリック

  5. お使いの環境に合わせてOSを選択し、continueをクリック

  6. Javaがインストールされていることを確認

  7. What framework are you usingでフレームワークを選択、ここではspring bootを選択

  8. リポジトリのトップにある pom.xml を編集する

    8.1. dependency の項に下記を追加

    ※追加の際に JAVA_AGENT_VERSION の書き換えを必ず実施すること

    <dependency>
        <groupId>com.newrelic.agent.java</groupId>
        <artifactId>newrelic-java</artifactId>
        <version>JAVA_AGENT_VERSION</version>
        <scope>provided</scope>
        <type>zip</type>
    </dependency>
    

    8.2. pluginの項に下記を追加

    <!-- Unzip New Relic Java agent into target/ -->
    <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-dependency-plugin</artifactId>
    <version>3.1.1</version>
    <executions>
        <execution>
        <id>unpack-newrelic</id>
        <phase>package</phase>
        <goals>
            <goal>unpack-dependencies</goal>
        </goals>
        <configuration>
            <includeGroupIds>com.newrelic.agent.java</includeGroupIds>
            <includeArtifactIds>newrelic-java</includeArtifactIds>
            <!-- you can optionally exclude files -->
            <!-- <excludes>**/newrelic.yml</excludes> -->
            <overWriteReleases>false</overWriteReleases>
            <overWriteSnapshots>false</overWriteSnapshots>
            <overWriteIfNewer>true</overWriteIfNewer>
            <outputDirectory>${project.build.directory}</outputDirectory>
        </configuration>
        </execution>
    </executions>
    </plugin>
    

    8.3. New Relicの設定ファイルを取得し、ビルド先ディレクトリに保存

    ※今回のファイルは、spring-petclinic 配下の target/newrelic に保存

    8.4. New Relicの画面の一番下のContinueをクリック

  9. New Relicの画面は「Add the Java agent argument」と記載されていますので、コマンドをメモしてContinueをクリック

  10. インフラエージェントのインストール画面になりますので、必要に応じて実施

  11. リポジトリの登録ですが、必要似応じて実施

  12. Test ConnectionやSee your dataを開いて、データの到達性を確認

  13. New Relic側の画面を先に完了させましたので、APMの設定に戻ります
     下記コマンドを使用してリビルドを実施

    mvn clean package -DskipTests
    
  14. 正常にビルドできたら、New Relicの画面の指示通りにアプリケーションを起動

    java -javaagent:/full-path-to-spring-petclinic/target/newrelic/newrelic.jar -jar target/*.jar
    

    ※私の環境ではユーザーディレクトリ直下にgit cloneしましたので、下記のようなコマンドになりました

    java -javaagent:/home/ubuntu/spring-petclinic/target/newrelic/newrelic.jar -jar target/*.jar
    
  15. コンソール上でエラーなくJavaアプリが起動でき、ブラウザでアクセスしてPetClinicの画面が表示されていれば成功です

New Relicコンソールの状況

APM &Services を開き、登録したAPM名をクリックすると下記のような画面が表示されれば、設定は完了です。

まとめ

Javaエージェントのインストール自体は以前より簡単になっているように思いますが、一部設定ファイルの編集が必要になったり、New Relicの設定ファイルを配置したりとアプリケーションに詳しくない方が作業をされる場合は多少ハマりポイントがあるかなと思います。

この記事がどなたかのお役に立てれば幸いでございます。

◆ 塩野 正人
◆ マネージドサービス部 所属
◆ X(Twitter):@shioccii
◆ 過去記事はこちら

前職ではオンプレミスで仮想化基盤の構築や運用に従事。現在は運用部隊でNew Relicを使ってサービス改善に奮闘中。New Relic User Group運営