はじめに

New Relicのご利用をご検討頂き、ありがとうございます。このブログは、Javaで実装されたPetClinicというWebアプリケーションを用いて、APMの理解を深めるための環境を用意するための情報をまとめています。特に、自由に変更したり、再起動をかけたりするWebアプリケーションの準備が難しい方にお薦めの内容となっています。

具体的な手順をお知らせする前に、このブログを作成する上での環境の前提条件を記載させて頂きます。

  • 既にNew Relicを利用できるアカウントを持っている。
    • もしまだアカウントを持っていない場合は、こちらからフリーアカウントを取得して下さい。
  • AWS EC2 Amazon Linux 2を用いています。
    • EC2で別のOSを用いている、あるいは、オンプレ環境という方は適宜読み替えて下さい。
  • PetClinicを用いたJavaアプリケーションを用います。
    • ソースコードを読める必要はありませんが、コマンドプロンプトの利用方法を理解されている方を想定しています。
  • 作業自体をec2-userのホームディレクトリで実施する想定で記載しています。
    • 別のパスで実施する必要がある場合は、読み替えて下さい。
  • PetClinicを実装する環境は、APMのネットワーク要件を満たしている。
    • 詳細については、こちらのブログを参照して下さい。

それでは、具体的な手順を見ていきましょう。

PetClinicの導入

PetClinicを導入するサーバにログインして作業を進めていきます。以下のコマンドを順次実行して下さい。

Javaの導入を行う

$ sudo yum update 
$ sudo yum install java

Gitの導入を行う

$ sudo yum install git

Petclinicのコードの取得を行う

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

PetClinicを起動する

補足: ./mvnwコマンドを実行時に、必要なモジュールの取得などを行うため、完了まで時間がかかる可能性があります。

$ cd spring-petclinic
$ ./mvnw package
$ java -jar target/*.jar

8080/tcpにPetClinicはbindするので、手元のWebブラウザでアクセスし、PetClinicにアクセスできることを確認して下さい。

例) http://<サーバのIPアドレス>:8080

 

APMエージェントの導入を実施する前に

New Relicポータル上でどの様な導線でエージェントインストールのUIまで移動するかを動画にて説明します。
補足: 既にご存知の方は飛ばしもらって問題ありません。

New Relic Java APMエージェントを導入するためのポータル内の導線

New Relic Java APMエージェントの導入

New Relic ポータル(https://one.newrelic.com)にログインし、以下の作業を行います。

ログイン後、Add dataよりJava APMエージェントの導入を行います。具体的なステップは穀術しますが、以下の動画をご確認頂くことで、導入ステップ確認までの流れをご理解頂けるかと思います。

ステップ

  • New Relicプラットフォームにログインし、Add Dataにアクセスする
  • Application monitoringセクションのJAVAのタイルを選択する
  • もし複数のアカウントを導入している場合、登録先として適切なアカウントを指定し、Continueボタンをクリックする
  • Begin installationボタンをクリックする
  • 導入方法は、実際の環境に併せて選択する必要があるが、今回はOn a hostを選択する
  • 【重要】Guided Installという呼ばれているコマンドが表示されるが、右下のOther Java Installation optionsボタンを選択し、具体的な作業内容をしたがって進める(導入作業の内容を理解するため)
    • 識別しやすいアプリケーション名を指定する (1番の作業を実施する)
    • 設定ファイルをローカル環境にダウンロードする (2番の作業を実施する)
      • 注意: 上で指定した表示上のアプリケーション名や、データ登録の際に認証を行うためのキー情報が含まれているため取り扱いに注意する
      • ダウンロードして得られたnewrelic.ymlファイルあるいは、その内容を、PetClinicが起動している環境にコピーする
        • 便宜上、作業ユーザのホームディレクトリ配下にて実施する
    • 表示されているコマンドを用いて、Java APMエージェントのモジュールをPetClinicが稼働している環境にダウンロードする (3番の作業を実施する)
      • この作業を実施する際に、コマンドの下部に記載された手順を実施する
        • $ unzip newrelic-java.zip
          $ cp ./newrelic.yml ./newrelic/newrelic.yml

後続のステップは本来であれば実施しますが、挙動確認という観点から今回はスキップします。

PetClinicの再起動

PetClinicを起動しているターミナルに戻り、Ctrl + Cなどでアプリケーションを一旦停止します。この時点で、spring-petclinicディレクトリで作業を行っているため、再度、以下のコマンドを実施して下さい。

$ java -javaagent:<configurationファイルのフルパスを記載> -jar target/*.jar

例: java -javaagent:/home/ec2-user/spring-petclinic/newrelic/newrelic.jar -jar target/*.jar

ここまで完了したら、APM導入作業の後続作業はスキップします。再度、WebブラウザでPetClinicにアクセスし、APMの計測データがNew Relicポータル上に反映されることを確認します。

PetClinic Top
APM - First Data coming-up