本文へスキップ

IBM BlueMix

エージェントの適用

IBM BlueMixを使用してデプロイする場合、WhaTapエージェントを有効にする方法です。

IBM BlueMixは、コンテナでWebSphere Liberty環境を提供します。Libertyは、WebSphere Application Serverと異なる環境でSpring Bootが動作する方式と類似しています。

ノート

Platform as a Service(PaaS) の環境では、対象アプリケーションにWhaTapエージェントの設定を含めて配布します。

以下は設定環境の例です。 ガイドによる環境を設定する場合、ローカル開発環境で生成するファイルです。

whatap@vmwas01:/apps/bluemix/java-helloworld$ ls -alrt
合計 64
drwxrwxr-x 3 whatap whatap 4096 1029 13:13 ..
-rw-rw-r-- 1 whatap whatap 1079 1029 13:13 .classpath
-rw-rw-r-- 1 whatap whatap 1184 1029 13:13 .project
-rw-rw-r-- 1 whatap whatap 39 1029 13:13 .gitignore
-rw-rw-r-- 1 whatap whatap 151 1029 13:13 CONTRIBUTING.md
drwxrwxr-x 2 whatap whatap 4096 1029 13:13 .settings
-rw-rw-r-- 1 whatap whatap 2823 1029 13:13 pom.xml
-rw-rw-r-- 1 whatap whatap 122 1029 13:13 manifest.yml
-rw-rw-r-- 1 whatap whatap 3522 1029 13:13 README.md
-rw-rw-r-- 1 whatap whatap 11323 1029 13:13 LICENSE
drwxrwxr-x 3 whatap whatap 4096 1029 13:13 src
drwxrwxr-x 2 whatap whatap 4096 1029 13:13 target
drwxrwxr-x 8 whatap whatap 4096 1029 13:13 .git
drwxrwxr-x 6 whatap whatap 4096 1029 15:26 .
  1. ${APP_HOME}で_src/main/resources/whatap-agent/_ディレクトリを作成し、jarファイルと confファイルをコピーします。

    $ mkdir -p src/main/resources/whatap-agent/
    $ cp /apps/whatap/whatap.agent.tracer-1.5.4.jar src/main/resources/whatap-agent/
    $ cp /apps/whatap/whatap.conf src/main/resources/whatap-agent/
  2. _${APP_HOME}/manifest.yml_ファイルにオプションを追加します。ymlファイルですので、スペースとインデントに従って作成します。

    ---
    applications:
    - name: sample-java-helloworld
    random-route: true
    memory: 256M
    path: target/JavaHelloWorldApp.war
    # ここから追加します。
    env:
    JAVA_OPTS: "-javaagent:/{APPLICATION_DIR}/WEB-INF/classes/whatap-agent/whatap.agent-X.Y.Z.jar -Dorg.osgi.framework.bootdelegation=whatap.* "
ノート

Java 17 以降では、reflectionに関する次のオプションを追加します。


--add-opens=java.base/java.lang=ALL-UNNAMED

ノート
  • whatap.conf設定は、PaaS以外の環境と同様に適用します。適用後、エージェント名の識別が特定するのが難しい場合があるため、状況に応じたエージェント名を適用してください。
  • エージェントネーミングの詳細については、次の文書を参照にしてください。

ヒープヒストグラム照会

WhaTapのJavaモニタリングでは、JVMメモリのヒープ占有オブジェクト現況(ヒープメモリ上のオブジェクト別サイズ)を照会できる機能を標準として提供します。 アプリケーション > インスタンスパフォーマンス分析メニューからヒープヒストグラムタブを選択してください。

Java 6~8バージョンでは、JVMオプションなしで標準対応しますが、一部のJavaバージョンによっては次のようにJVMオプションを適用する必要があります。

  • Java 9 ~ Java 15バージョン

    -Djdk.attach.allowAttachSelf=true
    example
    java -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-UNNAMED
    example
    java -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.conf
    weaving=spring-boot-3.0,feign-11,okhttp3-4.4

    ユーザーのアプリケーション環境に合わせたフレームワークやオープンソースライブラリを設定する方法は、次の文書を参照してください。

  • インストールの点検

    プロジェクトの作成とエージェントのインストール、JVMオプションまですべて適用したら、次の文書でチェック事項を確認します。

  • インストール問題の解決

    エージェントをインストールする際に発生する可能性がある問題と、これを解決するための具体的なガイドを提供します。 ファイアウォールの設定、SpringBoot及びTomcat JMXの設定、OSGIフレームワーク使用サーバーの設定など、様々な状況に対する解決策を案内します。 詳細については、次の文書を参照にしてください。

  • エージェント設定

    エージェント設定(whatap.conf)ファイルにオプションを適用して、モニタリングのための様々な機能を提供します。 デフォルト設定から、サーバーの接続とデータ転送の設定、複数のアプリケーションサーバーの設定ファイルの管理方法、トランザクションの追跡などが含まれます。 詳細については、次の文書を参照にしてください。

  • モニタリングの開始

    すべての設定を完了してから、アプリケーションサーバーを再起動します。 エージェントが情報の収集を開始します。 まず、アプリケーションメニューでモニタリングデータが収集されていることを確認します。 アプリケーションメニューの詳細については、次の文書を参照にしてください。