为JAVA应用手工安装Agent
前提条件
- 部署APM Agent时,必须确保接入APM的机器与APM服务网络连通,Agent才能正常工作。
可使用Telnet命令测试目标机器与APM服务器网络是否连通。
例如,以检查华北-北京四区域,且接入方式选择“增强型探针”的连通性为例,请登录应用所部署的机器,并输入命令telnet 100.125.12.108:41333,其他区域地址请参考探针接入地址。如果接入APM的机器与APM服务网络无法连通,可以接入代理。
- 修改javaagent中的apm.config配置文件。将apm.proxy写入配置文件中,如下图所示。
图1 写入代理配置
Agent 2.4.1之后版本支持采用代理接入。格式:apm.proxy=ip:port
Java语言支持增强型探针、OpenTelemetry和Skywalking。
- 选择“系统管理 > 访问密钥”进入访问密钥页面,查看获取接入javaagent所需的AK/SK。
图2 获取AK/SK
操作步骤
- 使用PuTTY等远程登录工具,登录待安装Agent的Linux操作系统主机,并以root权限执行相关命令。
- 下载JavaAgent,参考探针下载地址下载apm-javaagent,并将javaagent下载到需要接入APM机器的任意目录。
示例命令:
curl -O https://xxx/apm-javaagent-x.x.x.tar
- 执行tar命令解压javaagent。
示例命令:
tar -xvf apm-javaagent-x.x.x.tar
- 修改javaagent中的apm.config配置文件。master.address配置请参见探针接入地址,将AK/SK写入配置文件中,如下图所示。
图3 写入AK/SK
- 修改java进程启动脚本。
在服务启动脚本的java命令之后,配置apm-javaagent.jar包所在路径,并指定java进程的组件名。
添加-javaagent参数示例:
java -javaagent:/xxx/apm-javaagent/apm-javaagent.jar=appName={appName}
当企业业务很多的情况下,也支持更为复杂一些的配置,添加-javaagent参数的复杂模式如:
java -javaagent:/xxx/apm-javaagent/apm-javaagent.jar=appName=myApp,env=myEnv,envTag=myTag,business=myBusiness,subBusiness=mySub- 上述参数属于APM内置的CMDB信息,具体详情见CMDB管理章节。
- 由于历史原因,APM启动参数设置的元数据,跟CMDB概念有一些冲突,这里进行说明。
启动参数一般会设置 -javaagent:D:\javaagent-package\apm-javaagent\apm-javaagent.jar=appName=xxx,env=yyy,business=zzz,subBusiness=sss,envTag=xxx,在这里appName代表组件,business代表应用,subBusiness代表子应用,envTag代表环境标签。
如果没有在web界面对business参数进行设置,启动javaagent时系统就会报错;其他参数如果没有设置,在启动javaagent时会自动创建出来,包括子应用、组件、环境及环境标签等。
同一个应用下,组件名称不能重复。
- 重新部署应用。