使用代理接入Agent
通常部署APM Agent时,必须确保接入APM的机器与APM服务网络连通,Agent才能正常工作。如果接入APM的机器与APM服务网络无法连通,可以通过接入代理的方式完成APM Agent接入。
可使用“curl -kv”命令测试目标机器与APM服务器网络是否连通。例如,以检查华北-北京四区域,且接入方式选择“增强型探针”的连通性为例,请登录应用所部署的机器,并输入命令curl -kv 100.125.12.108:41333,其他区域地址请参考探针接入地址。
使用限制
- Agent 2.4.1之后版本支持采用代理接入。
- Java语言支持增强型探针。
获取接入javaagent所需的AK/SK
- 登录APM控制台。
- 单击左侧
,选择“管理与监管 > 应用性能管理 APM”,进入APM服务页面。
- 选择“系统管理 > 访问密钥”进入访问密钥页面,查看获取接入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配置文件,详见修改apm.config配置文件。master.address配置请参见探针接入地址,将获取接入javaagent所需的AK/SK中获取的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时会自动创建出来,包括子应用、组件、环境及环境标签等。
同一个应用下,组件名称不能重复。
- 重新部署应用。