Jetty
JVMオプションの追加
Jettyアプリケーションサーバー環境でJavaモニタリングエージェントを効果的に使用するために必要なJVMオプションを追加する方法を案内します。
-
jetty.shファイルにJVMオプションを追加
$JETTY_HOME/bin/jetty.sh...
JAVA_OPTIONS+=("-javaagent:/home/vagrant/whatap/whatap.agent-X.Y.Z.jar -Dwhatap.port=8080")
usage()
{
echo "Usage: ${0##*/} [-d] {start|stop|run|restart|check|supervise} [ CONFIGS ... ] "
exit 1
}
[ $# -gt 0 ] || usage
... -
シェルスクリプトがいない状態でJettyの開始
$ java -javaagent:/home/vagrant/whatap/whatap.agent-X.Y.Z.jar -Dwhatap.port=8080 -jar start.jar &
Java 17 以降では、reflectionに関する次のオプションを追加します。
--add-opens=java.base/java.lang=ALL-UNNAMED
ヒープヒストグラム照会
WhaTapのJavaモニタリングでは、JVMメモリのヒープ占有オブジェクト現況(ヒープメモリ上のオブジェクト別サイズ)を照会できる機能を標準として提供します。 アプリケーション > インスタンスパフォーマンス分析メニューからヒープヒストグラムタブを選択してください。
Java 6~8バージョンでは、JVMオプションなしで標準対応しますが、一部のJavaバージョンによっては次のようにJVMオプションを適用する必要があります。
-
Java 9 ~ Java 15バージョン
-Djdk.attach.allowAttachSelf=true
examplejava -javaagent:{WHATAP_HOME}/whatap.agent-X.Y.Z.jar -Djdk.attach.allowAttachSelf=true -jar {application.jar}
-
Java 16バージョン以降
-Djdk.attach.allowAttachSelf=true
--add-opens=jdk.attach/sun.tools.attach=ALL-UNNAMEDexamplejava -javaagent:{WHATAP_HOME}/whatap.agent-X.Y.Z.jar -Djdk.attach.allowAttachSelf=true --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=jdk.attach/sun.tools.attach=ALL-UNNAMED -jar {application.jar}
Java 5以前の旧バージョン、IBM Javaには対応していません。
次の段階
-
オープンソース追跡
アプリケーションで使用するフレームワークやオープンソースライブラリによって、エージェントオプションの追加が必要になる場合があります。 たとえば、フレームワークやオープンソースでspring-boot-3.x、feign-client-11、okhttp3-4.4使用の際は、次のようにオプションを設定します。
whatap.confweaving=spring-boot-3.0,feign-11,okhttp3-4.4
ユーザーのアプリケーション環境に合わせたフレームワークやオープンソースライブラリを設定する方法は、次の文書を参照してください。
-
インストールの点検
プロジェクトの作成とエージェントのインストール、JVMオプションまですべて適用したら、次の文書でチェック事項を確認します。
-
インストール問題の解決
エージェントをインストールする際に発生する可能性がある問題と、これを解決するための具体的なガイドを提供します。 ファイアウォールの設定、SpringBoot及びTomcat JMXの設定、OSGIフレームワーク使用サーバーの設定など、様々な状況に対する解決策を案内します。 詳細については、次の文書を参照にしてください。
-
エージェント設定
エージェント設定(whatap.conf)ファイルにオプションを適用して、モニタリングのための様々な機能を提供します。 デフォルト設定から、サーバーの接続とデータ転送の設定、複数のアプリケーションサーバーの設定ファイルの管理方法、トランザクションの追跡などが含まれます。 詳細については、次の文書を参照にしてください。
-
モニタリングの開始
すべての設定を完了してから、アプリケーションサーバーを再起動します。 エージェントが情報の収集を開始します。 まず、アプリケーションメニューでモニタリングデータが収集されていることを確認します。 アプリケーションメニューの詳細については、次の文書を参照にしてください。