実行中の JVM プロセスへの Java エージェントの添付

実行中の JVM にエージェントを添付すると、JVM を再起動せずに Java エージェントをインストールできます。このアプローチは通常、‑javaagent 引数を JVM の起動スクリプトに追加する時、もしくはその他の継続的なアプローチとあわせて使用され、次回の JVM 起動時にエージェントが再びロードされます。ただし、JVM の再起動ができない、または不便な場合は、動的に添付することでエージェントをインストールできます。

注: 一部のシナリオでは、単一のバックスラッシュの代わりに二重バックスラッシュを使用する必要があります。例:
-javaagent:C:\\appdynamics\\javaagent.jar

以下の場合に動的なエージェントの添付が可能です。

  • JVM は 1.6 以降。
  • JVM は Oracle(HotSpot)の JVM(IBM または JRockit の JVM の場合は不可)。

その他の考慮すべき事項

  • すでに(Splunk AppDynamics Java エージェントまたは別のタイプのエージェントのいずれかにより)インストゥルメント化されている環境に、エージェントを動的に添付しないでください。添付すると、予期せぬ問題やエラーが起こる可能性があります。
  • 実行中の環境に Splunk AppDynamics Java エージェントを添付すると、アプリケーションのインストゥルメント化に必要なクラスの再トランスフォーメーションをエージェントが実行しますが、アプリケーションのパフォーマンスに影響を与えます。エージェントのオーバーヘッドはプロセスを終了すると、通常のオペレーティングレベルに戻りますが、プロダクションサービスのパフォーマンスに影響を与える可能性があることを考慮してください。

Attach the Agent to the JVM

To attach the agent to the JVM:
  1. Determine the PID of the JVM to which you want to attach.
    • For Linux, use:
      ps -A | grep java
    • On Windows, use:
      jps -l
  2. Run the following command, replacing the placeholders for the path to the tools.jar file in your JDK, path to the Splunk AppDynamics Java Agent home directory, and the JVM process ID with values appropriate for your environment:
    java -Xbootclasspath/a:<path_to_jdk>/lib/tools.jar -jar /<agent_home>/javaagent.jar <jvm_process_id> appdynamics.controller.hostName=<controller_hostname>,appdynamics.controller.port=<controller_port_no>,appdynamics.controller.ssl.enabled=false,appdynamics.agent.applicationName=<app_name>,appdynamics.agent.tierName=<agent_tier_name>,appdynamics.agent.nodeName=<agent_node_name
    Use the equivalent paths for Windows, including drive letter. The following shows an example with system output included:
    [appduser@my_centos6 ~]$ ps -A | grep java 6780 pts/1 00:00:04 java [appduser@my_centos6 ~]$ java -Xbootclasspath/a:/usr/java/jdk1.7.0_79/lib/tools.jar -jar /home/appduser/appagent/javaagent.jar 6780 Attaching to VM [6780] agent path >>>/home/appduser/appagent/javaagent.jar=