New RelicのJavaエージェントを使用すると、コード内のパフォーマンスの問題から小さなエラーまですべてを追跡できるようになります。エージェントは1分ごとにメトリックタイムスライスとイベントデータをNew Relicのユーザーインタフェースに載せます。該当するデータの所有者(オーナー)はインタフェースにサインインしてデータを使用し、ウェブサイトのパフォーマンスを確認することができます。
ヒント
Javaなどのエージェント、およびその他のオブザーバビリティ プラットフォームを使用するには、New Relicファミリーに参加してください。サインアップして、わずか数秒で無料アカウントを作成できます。次に、毎月最大で100GBのデータを無料で取り込みます。期間無制限です。
インストレーション
Javaエージェントを使用するには:
- お使いのシステムがJavaエージェントの互換性要件を満たしていることを確認してください。
- New Relic アカウントにサインアップします。
- ランチャーを使用して、または次の標準的なインストレーション手順に従ってJavaエージェントをインストールします。ご利用のツールやフレームワークに応じて、追加のインストール手順を参照してJavaエージェントのインストレーションや設定を行います。
New Relic UI でアプリケーションのパフォーマンスを表示するには: https://one.newrelic.com> (アプリケーションを選択) > Summaryの順に移動します。APM のユーザーインタフェースには専用のJVMメトリックスページ、トランザクションとエラー情報、スレッドプロファイラツールが含まれており、Javaスレッドの標本化やスタックトレースのレポートなどを行うことができます。
また、エージェントインストゥルメンテーションを拡張し、New Relic Oneのデータエクスプローラーやダッシュボードなどの他のNew Relic製品を使ってデータを調査することもできます。
起動設定
Javaエージェントは、newrelic.jar
と同じディレクトリにある必要がある、newrelic.yml
ファイルからスタートアップ設定を読み込みます。また、Javaシステムのプロパティを使用して設定を上書きすることもできます。
エージェントは、スタートアップ(ブートストラップ)時に、license_key
とapp_name
の設定を必要とします。ログファイルの場所、およびその他設定は、newrelic.yml
ファイルでカスタマイズできます。また、アプリケーションサーバーが同一のJVMで複数のアプリケーションを実行している場合は、命名設定を調整することができます。
設定オプション
New Relic ウェブインタフェースからアプリケーションのレポーティングをサーバーサイドコンフィグレーションを使用して設定できます。変更内容はJVMを再起動した際にアプリケーションをレポートするすべてのエージェントに適用されます。ただし、サーバーサイドコンフィグレーションを使用する場合は、引き続き必要な設定(license_key
とapp_name
)をローカル設定ファイルに保持する必要があります。
トランザクションのトレースとエラーのスナップショットの両方で、HTTP パラメーターを記録することもできます。HTTPパラメーターには、クレジットカード番号のような機密情報が含まれる場合があります。エージェントには特定の名前を持ったパラメーター以外のHTTPパラメーターを収集するような、データセキュリティを確保するための設定オプションが複数存在します。
追加のインストゥルメンテーション
Javaエージェントをインストール後、以下のいずれかの方法を使用してインストゥルメンテーションを拡張できます。
- カスタムインストゥルメンテーション:注釈やXMLを使用したJavaのカスタムインストゥルメンテーションを実行します。
- ディストリビューティッド(分散)トレーシングの有効化: リクエストのパスが分散されると、複数サービスのアーキテクチャ全体に展開する様子を見ることができます。
- カスタムアトリビュートの収集: APIまたはXMLファイルを介してカスタムアトリビュートを収集します。
- JavaエージェントのAPI: APIを使用して、Javaエージェントの機能を制御、カスタマイズ、または拡張します。
- ブラウザのインストゥルメンテーション: Javaエージェントをブラウザモニタリングと統合して、エンドユーザーのアクティビティを可視化します。
- Javaカスタムインストゥルメンテーション向けブレーカー: ブレーカーを使って、過度のインストゥルメンテーションからアプリケーションを守ります。
- YAMLによるカスタムJMXインストゥルメンテーション: YAMLカスタムインストゥルメンテーションファイルでカスタムJMXメトリックスを表示します。
- JVMメトリックスページ: 最も一般的なアプリケーションサーバーからJMXを通してメトリックスを収集します。
- オープンソースのテレメトリー: Kamon Reporter、OpenTelemetry エクスポーター、Micrometer メトリックスのレジストリ、Java Telemetry SDK などのさまざまなツールを提供しています。
JVMの再起動タイミング
設定ファイルやカスタムXMLに変更を行った場合は、ほぼすべての場合においてJVMを再起動する必要があります。再起動が不要なのは、以下の4つの場合に限定されます。
JVMの再起動は次の場合に不要です。 | コメント |
---|---|
ログレベルや監査モードの変更 | Javaエージェント設定ファイルで |
カスタムインストゥルメンテーションXMLファイルの変更 | JVMを再起動するかどうかは、お使いのJavaエージェントのバージョンによります。
|
ブレーカーの変更 | Javaカスタムインストゥルメンテーション用のブレーカーを変更する場合は、JVMの再起動は不要です。 |
無視された、または想定済みのエラー |
|
その他すべての変更についてはエージェントの再起動、つまりJVMの再起動が必要です。
JSR 163準拠
New Relic Javaエージェントはウェブのトランザクションを監視し、その情報を受信し、強力なデータセキュリティ対策を施したNew Relicのユーザーインタフェースにその情報を伝達します。このエージェントは、JVMの起動処理を変更することでJVMによってアクティブ化される、JSR 163準拠のjavaagent
としてパッケージ化されています。有効化されると、エージェントは自身をクラス読み込み処理の中に組み込み、バイトコード・インストゥルメンテーション(BCI)を使用してクラスメソッドをインストゥルメントします。
Webアプリケーションへの影響を最小限に抑えるように設計されたクラスはすべて、ユーザー独自クラスと衝突しないように、newrelic
パッケージネームスペースに存在します。このエージェントは、ソフトウェアプローブの挿入にASMのbciエンジンを使用します。
このエージェントは、オペレーティングシステム、Javaのバージョン、システムのプロパティ、New Relicの設定ファイルなど、使用中のホスト環境に関する基本的な情報を受信します。また、このエージェントはJVMとJMXからデータをポーリングします。
トラブルシューティング手順
Javaエージェントに問題が発生した場合は、トラブルシューティング関連ドキュメントをご覧ください。
その他のヘルプ
さらに支援が必要な場合は、これらのサポートと学習リソースを確認してください:
- Explorers Hubを参照して、コミュニティから支援を受け、ディスカッションに参加してください。
- 当社のサイトで回答を見つけ、サポートポータルの使用方法について学びます。
- Linux、Windows、およびmacOSのトラブルシューティングツールであるNew Relic Diagnosticsを実行します。
- New Relicのデータセキュリティとライセンスドキュメントを見直してください。