New Relic APMはアプリケーションのパフォーマンスやエラーをリアルタイムに観測し、システム障害やユーザー体験の低下につながる原因の特定と解決を支援します。この記事ではNTTデータイントラマート社の intra-mart にNew Relic APMを導入してみます。
New Relic APMの概要について理解されたい方は以下の記事をご確認ください。
New Relic APMは様々な開発言語やアプリケーションサーバに導入することができます。
intra-martはJavaで開発されています。また、intra-martはいくつかのアプリケーションサーバでの動作に対応していますが、今回はよく利用される Resin にNew Relic APMの Java Agent を導入してみます。
今回導入する環境
- New Relic APM
- intra-mart
- OS: Amazon Linux 9.4
- JDK: Amazon Corretto 17.0.12
- AP Server: Resin 4.0..66
intra-martにNew Relic APMのJava Agentを導入してみましょう。
-
[+Integrations & Agents]を選択し、”
java
” を検索して表示されるJava
のアイコンをクリックします。
-
画面の指示にしたがい、インストールされているJavaがサポートされているバージョンであることを確認します。
-
「Choose your download option」では画面の指示にしたがいます。
-
Java Agentを起動する方法が例示されます。
resin.properties のjvm_args
に-javaagent:/\
の引数を追加してください。/newrelic.jar
また環境によっては 「NoClassDefFoundError: java/sql/SQLException」例外によってJava Agentが起動しない場合があります。この場合はjvm_args
に-Dnewrelic.config.sql.platformClassloader=false
を追加してください。このパラメータでjava.sqlのクラスローダーのロードを無効にします。resin.propertiesの例
# Arg passed directly to the JVM # Tuned by NTTDATA INTRAMART # jvm_args : -Dfile.encoding=UTF-8 -Xmx4096m # jvm_mode : -server jvm_args : -javaagent:/opt/newrelic/newrelic.jar -Dnewrelic.config.sql.platformClassloader=false -Dfile.encoding=UTF-8 -Djava.io.tmpdir=tmp.....
-
intra-martを再起動します。
-
Visual Studio CodeなどIDEとAPMの計測データを連携できるCodeStreamという機能の連携を求められますが、今回はスキップします。
-
intra-martにアクセスし、トランザクションを発生させたあとに [Test connection] をクリックして計測したデータが取得できていることを確認します。
intra-martのパフォーマンスやエラー、ログなどがNew Relic APMで可視化できることを確認してみましょう。
New Relic APMの簡単なセットアップで、intra-martのパフォーマンスやエラー、ログなどが確認できるようになりました。エラーやトランザクションからトラブルシューティングなどに必要なログにピンポイントでたどり着けるようにもなります。
皆さんのアプリケーションの品質維持や改善にぜひご活用ください!
New Relicでは、新しい機能やその活用方法について、QiitaやXで発信しています!
無料でアカウント作成も可能なのでぜひお試しください!
Views: 0