1、简介
Jvm探针是一个jar包,位于agent的probes文件夹中,名为yonyou-yyy.jar。探针代码在宿主应用main方法之前启动,由于用到java Instrumentation包提供的检测 Java 编程语言代码所需的服务,因此需要在jvm启动参数中添加javaagent参数。Jvm探针部署也就是添加jvm参数,以及添加java安全例外的过程。其中大部分的工作都由友云音部署工具自动完成。
2、部署JVM探针
进入agent安装目录,运行config.bat(windows) 或 sh config.sh
(linux),启动部署工具。
选中“JVM探针部署”页签,点击开始,进入JVM探针部署过程。
默认自动部署(推荐)
操作步骤为:选择应用地址->检查应用类型是否正确(若不正确请重新调整路径)->立即部署。
在WAS集群中,部署工具做了以下几件事:
- 找出所有的服务实例名称以及端口号的对应关系
- 生成实例与端口的映射文件wasMapping.properties
- 备份所有服务对应的server.xml文件、server.policy文件、wasConfig.properties文件
- 写备份记录文件
- 为server.xml添加启动参数
- 为waslib/wasconfig.properties添加参数,防止再次补丁部署后重启使jvm探针失效。
- 修改server.policy文件,添加安全白名单
- 复制配置文件为对应端口号的配置文件
若日志中无异常信息打出,则为部署成功。
手动部署(不推荐)
选中“手动部署” -> 选择端口 -> 点击复制,友云音JVM启动参数将被复制到剪贴板,直接粘贴到指定位置即可。下面介绍几种中间件的粘贴位置:
NC单节点或NC集群
在NCHOME/ierp/bin/prop.xml中添加参数:
<domain>
<server>
<javaHome>$JAVA_HOME</javaHome>
<name>server</name>
<jvmArgs>-server -Xmx768m -XX:PermSize=128m -XX:MaxPermSize=512m -Djava.awt.headless=true -Dfile.encoding=GBK -javaagent:D:\develop\yonyou-yyy-agent\probes\yonyou-yyy.jar=appId=OEqqVeDYEo0249025661,serverPort=9083</jvmArgs>
<servicePort>9083</servicePort>
<master>false</master>
<single>false</single>
<http>
<address>10.11.67.13</address>
<port>8009</port>
</http>
</server>
</domain>
WAS集群
①安全文件修改
安全文件位置为:
YOUR_WEBSPHERE_INSTALL_DIRECTORY/profiles/YOUR_APP_SERVER_NAME/properties/server.policy
e.g./home/pt/IBM/WebSphere/AppServer/profiles/AppPMT01/properties/server.policy
例如在文件末尾添加:
grant codeBase "file:D:/nccode/Exmobi/yonyou-yyy-agent/probes/-" {
permission java.security.AllPermission;
permission java.net.SocketPermission "*", "connect,accept,resolve";
};
②was控制台添加启动参数
注意:需要为每一个节点都添加启动参数!!
③部署-JVM页签添加JVM参数
-Xms1024m -Xmx3072m -noverify -Xshareclasses:none -Dsun.reflect.inflationThreshold=0 -javaagent:D:\\nccode\\Exmobi\\yonyou-yyy-agent\\probes\\yonyou-yyy.jar=appId=VwQZleQzXe4320189539
3、回滚
如果部署是通过自动部署完成,而在一次部署后如果发现影响了宿主应用的正常运行,可以通过回滚功能回滚到某一时间点: