1. 报错:端口9996被占用? 修改collector/collector.config配置项:collector.listen.port = 9996 修改javaagent/javaagent.config配置项:profiler.collector.port = 9996

  2. 报错:找不到JAVA_HOME? 在collector/run.sh和javaagent/attach.sh里手动添加JAVA_HOME 如果是windows系统,在启动命令中配置路径

  3. 报错:com.sun.tools.attach.AttachNotSupportedException: Unable to open socket file: target process not responding or HotSpot VM not loaded 确保对解压的文件已增加权限(参考采集部署说明) 如agent为独立部署,确保agent启动的账户和应用启动的账户一致

  4. windows如何启动? 配置与上面一致,只是启动方式不同 cmd进入collector的目录,执行命令: start /b java -jar javaagent-collector.jar

     cmd进入javaagent目录,执行命令:
     `java -cp "%JAVA_HOME%\lib\tools.jar;%cd%\javaagent-bootstrap.jar" com.alibaba.adam.javaagent.bootstrap.AgentAttacher -p %1`
    
     注意:$1替换为容器的pid
     随应用启动则修改对应的bat文件,参考上面方式二
    
  5. agent和collector重启的影响 collector重启会将已收集的数据和缓存清空,用户在重启前考虑是否需要做备份; agent重启,新数据会和原数据去重合并;

  6. 是否支持websphere 支持使用sun/oracle JDK 1.6+版本部署的websphere,不支持IBM自带的JDK

  7. 多个应用可以部署多个agent吗 一个JVM可部署一个agent用于监控,多个应用无论是在多台机器还是部署在一台机器上,只要是用多个服务容器独立部署,即可各自部署agent。 但如果多个应用部署在同一个服务容器中,由于已经在一个JVM内,一个agent会监控所有,无须部署多个agent,否则会报错,提示重复。

  8. 一个应用部署有多台服务器,是否需要全部采集监控? 如负载均衡,抽样部署2台即可

  9. 如果客户应用未使用jdk而使用jre,是否可以? 可以,需要客户将jdk里的tools.jar拷贝到${JAVA_HOME}/lib/目录下即可使用。

  10. 启动后,在container的标准输出中,报agent already loaded? 由于JVM不能重复加载agent,需要重启应用后,再进行attach操作。

  11. 启动失败,报Connection refused? 请验证PID是否正确。