- 接入 Agent 流程图
- 附件下载
- Demo应用说明
- 前置环境准备
- 1、Agent 探针配置
- 1.1、解压Agent
- 1.2 配置探针用户 UserAppKey
- 1)获取用户UserAppKey
- 2)配置用户UserAppKey
- 1.3、配置日志路径
- 1.4、请求防火墙开通 IP
- 2、修改DemoApp1配置
- 2.1、修改 DemoApp 1 数据库
- 2.2、确保有JAVA_HOME 路径
- 2.3、修改DemoApp1 启动配置加载Agent
- 3、修改DemoApp2 配置
- 3.1、修改 DemoApp2下zk和rds 地址
- 3.2、 修改DemoApp2 启动配置加载 Agent
- 4、修改DemoApp3配置
- 4.1、修改 DemoApp3 目录zk地址
- 4.2、修改DemoApp3 启动配置加载 Agent
- 5、在控制台查看应用
- 6、问题排查
- 6.1 agen.config.url is not assigned
- 6.2其他错误
接入 Agent 流程图
附件下载
附件: 下载地址 提取码: 3bry。附件文件说明如下:
- DemoAppFile:可以直接部署 Demo应用到您本地机子来快速试用;
- Agent:部署到您需要压测的应用,如何在应用中加载 Agent,可以直接查看步骤2.3-应用启动加载Agent。
- JmeterFile:Demo 应用创建压测时所对应的压测脚本和压测数据
Demo应用说明
我们提供3个Demo应用,分别作以下说明:
- 业务场景: 更新用户id=6的密码;
- 调用关系:DemoApp3->DemoApp2->DemoApp1->MySQL,其中DemoApp3 是入口应用,DemoApp1 是调用MySQL 的;
前置环境准备
- 演示 Demo涉及中间件: ZK、Dubbo、MySQL,需提前安装各中间件服务,其中MySLQL为5.7版本
- 建立 MySQL 数据库和表,数据库名是trodb,表名是user,可以直接使用附件中的user.sql创建。
- Linux 下 ZK 和 Dubbo 安装;
- Windows下 ZK 和 Dubbo 安装
1、Agent 探针配置
1.1、解压Agent
解压Agent到任意目录路径,后续配置App 启动文件(run.sh)时需要用到该 DIR 路径。
1.2 配置探针用户 UserAppKey
UserAppKey是代表当前用户的唯一标记,所以探针也需要和UserAppKey关联绑定。
1)获取用户UserAppKey
登录后点击菜单栏左下角的头像,再点击「系统信息」查看UserAppKey。
2)配置用户UserAppKey
然后把当前的UserAppKey填写到 Agent 的配置文件,路径/opt/pradar-agent/agent/simulator/config,修改simulator.properties文件的user.app.key值为刚刚获取的配置UserAppKey。
1.3、配置日志路径
在路径/opt/pradar-agent/config 下,修改agent.properties文件的simulator.log.path值为所需的日志路径,方便后续问题定位。
1.4、请求防火墙开通 IP
为了安全起见以及避免恶意访问,需要把各应用部署机器的公网 IP 给到我们,待我们在防火墙开通该 IP 地址,才能够在控制台看到相关链路数据。可以把 IP 给到我们与您的对接人,届时会为您开通。
2、修改DemoApp1配置
2.1、修改 DemoApp 1 数据库
用 Vim 命令修改 DemoApp1(rds 应用)目录下rds-mysql-demo-1.0.0.jar的 application.yml配置.
vim rds-mysql-demo-1.0.0.jar
然后输入
? application.yml
回车就可以打开修改了。
修改数据库配置的 jdbc 地址为数据库所在地址,把您的实际数据库账号名改为:root,密码为 shulie@2020,数据库名是trodb,表名是user,可以直接使用附件中的user.sql创建。
2.2、确保有JAVA_HOME 路径
因为要使用JDK,确保JAVA环境变量存在以下路径:
$JAVA_HOME/lib/tools.jar
2.3、修改DemoApp1 启动配置加载Agent
修改 run.sh文件,先复制下面的启动代码,然后按您的实际路径和需要修改:
1)避免应用重复,其中应用名Dpradar.project.name,所有 demo 应用需要按照自己定义的新应用名,避免和其他试用用户重复
2)DIR请填写您的探针包解压的目录
3)确保有步骤2.2配置的 JAVA_HOME路径
4)Dsimulator.delay参数为加载Agent 的时间(单位秒),为了不影响正常业务应用的启动,默认加载Agent时间为延时 5 分钟(即业务应用启动后 5 分钟,Agent 才加载),现在试用 Demo 用的是 10秒;
如果是JDK8及以下使用该配置
DIR="/opt/pradar-agent"
JAVA_OPTS="${JAVA_OPTS} -Xbootclasspath/a:$JAVA_HOME/lib/tools.jar"
JAVA_OPTS="${JAVA_OPTS} -javaagent:/${DIR}/simulator-launcher-instrument.jar"
JAVA_OPTS="${JAVA_OPTS} -Dpradar.project.name=test-rds-rds-mysql-demo-1.0.0"
JAVA_OPTS="${JAVA_OPTS} -Djdk.attach.allowAttachSelf=true"
JAVA_OPTS="${JAVA_OPTS} -Dsimulator.delay=10"
JAVA_OPTS="${JAVA_OPTS} -Dsimulator.unit=SECONDS"
nohup java ${JAVA_OPTS} -XX:+PrintGCTimeStamps -Xloggc:gc.log -jar ./rds-mysql-demo-1.0.0.jar &
如果是JDK9以上使用该配置
DIR="/opt/pradar-agent"
JAVA_OPTS="${JAVA_OPTS} -Xbootclasspath/a:$JAVA_HOME/lib/tools.jar"
JAVA_OPTS="${JAVA_OPTS} -javaagent:/${DIR}/simulator-launcher-instrument.jar"
JAVA_OPTS="${JAVA_OPTS} -Dpradar.project.name=test-rds-rds-mysql-demo-1.0.0"
JAVA_OPTS="${JAVA_OPTS} -Djdk.attach.allowAttachSelf=true"
JAVA_OPTS="${JAVA_OPTS} -Dsimulator.delay=10"
JAVA_OPTS="${JAVA_OPTS} -Dsimulator.unit=SECONDS"
--add-exports java.base/jdk.internal.module=ALL-UNNAMED
-Dsimulator.use.premain=true
nohup java ${JAVA_OPTS} -XX:+PrintGCTimeStamps -Xloggc:gc.log -jar ./rds-mysql-demo-1.0.0.jar &
执行以下命令启动应用:
sh run.sh
应用启动成功
启动应用之后,可以通过日志查看是否成功加载 Agent,查看日志命令如下:
tail -f nohup.out
如看到下图内容,表示应用成功加载 Agent启动 :
- Tomcat started on port :8091 启动成功,8091 端口后续在配置 DemoApp2 时用到;
- license 验证成功,表明 agent 加载成功。
- 因为试用环境的缘故,需要找我们的对接人,为您分配应用权限,然后才可以在控制台「应用管理」页面看到该应用。后续的应用也是如此操作。
3、修改DemoApp2 配置
3.1、修改 DemoApp2下zk和rds 地址
- 本 demo 应用使用到了 ZK 服务,所以需要提前装好 ZK 服务。
- 然后用 Vim 命令修改DemoApp2(provider) 目录下egg-provider-0.0.1-SNAPSHOT.jar的application.yml配置, ZK地址为装好 ZK 服务的机器地址。
- 修改调用的rds 地址,rds地址和端口要跟 DemoApp1 启动成功的端口地址一致。
3.2、 修改DemoApp2 启动配置加载 Agent
修改 run.sh文件,先复制下面的启动代码,然后按您的实际路径和需要修改:
其他应用也是如此操作接入,其中应用名Dpradar.project.name,要按照自己定义的新应用名
如果是JDK8 及以下使用该配置
DIR="/opt/pradar-agent"
JAVA_OPTS="${JAVA_OPTS} -Xbootclasspath/a:$JAVA_HOME/lib/tools.jar"
JAVA_OPTS="${JAVA_OPTS} -javaagent:/${DIR}/simulator-launcher-instrument.jar"
JAVA_OPTS="${JAVA_OPTS} -Dpradar.project.name=test-egg-provider-0.0.1-SNAPSHOT"
JAVA_OPTS="${JAVA_OPTS} -Djdk.attach.allowAttachSelf=true"
JAVA_OPTS="${JAVA_OPTS} -Dsimulator.delay=10"
JAVA_OPTS="${JAVA_OPTS} -Dsimulator.unit=SECONDS"
nohup java ${JAVA_OPTS} -XX:+PrintGCTimeStamps -Xloggc:gc.log -jar ./egg-provider-0.0.1-SNAPSHOT.jar &
如果是JDK9以上使用该配置
DIR="/opt/pradar-agent"
JAVA_OPTS="${JAVA_OPTS} -Xbootclasspath/a:$JAVA_HOME/lib/tools.jar"
JAVA_OPTS="${JAVA_OPTS} -javaagent:/${DIR}/simulator-launcher-instrument.jar"
JAVA_OPTS="${JAVA_OPTS} -Dpradar.project.name=test-egg-provider-0.0.1-SNAPSHOT"
JAVA_OPTS="${JAVA_OPTS} -Djdk.attach.allowAttachSelf=true"
JAVA_OPTS="${JAVA_OPTS} -Dsimulator.delay=10"
JAVA_OPTS="${JAVA_OPTS} -Dsimulator.unit=SECONDS"
--add-exports java.base/jdk.internal.module=ALL-UNNAMED
-Dsimulator.use.premain=true
nohup java ${JAVA_OPTS} -XX:+PrintGCTimeStamps -Xloggc:gc.log -jar ./egg-provider-0.0.1-SNAPSHOT.jar &
执行以下命令启动应用:
sh run.sh
应用启动成功
启动应用之后,可以通过日志查看是否成功加载 Agent,查看日志命令如下:
tail -f nohup.out
4、修改DemoApp3配置
4.1、修改 DemoApp3 目录zk地址
然后用 Vim 命令修改DemoApp3(consumer) 目录下egg-consumer-0.0.1-SNAPSHOT.jar的 application.yml配置文件的 zk地址。
4.2、修改DemoApp3 启动配置加载 Agent
修改 run.sh文件,先复制下面的启动代码,然后按您的实际路径和需要修改:
如果是JDK8 及以下使用该配置
DIR="/opt/pradar-agent"
JAVA_OPTS="${JAVA_OPTS} -Xbootclasspath/a:$JAVA_HOME/lib/tools.jar"
JAVA_OPTS="${JAVA_OPTS} -javaagent:/${DIR}/simulator-launcher-instrument.jar"
JAVA_OPTS="${JAVA_OPTS} -Dpradar.project.name=test-egg-consumer-0.0.1-SNAPSHOT"
JAVA_OPTS="${JAVA_OPTS} -Djdk.attach.allowAttachSelf=true"
JAVA_OPTS="${JAVA_OPTS} -Dsimulator.delay=10"
JAVA_OPTS="${JAVA_OPTS} -Dsimulator.unit=SECONDS"
nohup java ${JAVA_OPTS} -XX:+PrintGCTimeStamps -Xloggc:gc.log -jar ./egg-consumer-0.0.1-SNAPSHOT.jar &
如果是JDK9以上使用该配置
DIR="/opt/pradar-agent"
JAVA_OPTS="${JAVA_OPTS} -Xbootclasspath/a:$JAVA_HOME/lib/tools.jar"
JAVA_OPTS="${JAVA_OPTS} -javaagent:/${DIR}/simulator-launcher-instrument.jar"
JAVA_OPTS="${JAVA_OPTS} -Dpradar.project.name=test-egg-consumer-0.0.1-SNAPSHOT"
JAVA_OPTS="${JAVA_OPTS} -Djdk.attach.allowAttachSelf=true"
JAVA_OPTS="${JAVA_OPTS} -Dsimulator.delay=10"
JAVA_OPTS="${JAVA_OPTS} -Dsimulator.unit=SECONDS"
--add-exports java.base/jdk.internal.module=ALL-UNNAMED
-Dsimulator.use.premain=true
nohup java ${JAVA_OPTS} -XX:+PrintGCTimeStamps -Xloggc:gc.log -jar ./egg-consumer-0.0.1-SNAPSHOT.jar &
执行以下命令启动应用:
sh run.sh
应用启动成功
启动应用之后,可以通过日志查看是否成功加载 Agent,查看日志命令如下:
tail -f nohup.out
5、在控制台查看应用
以上配置处理完成后,需要重启各个应用,应用启动成功,找相关支持人员(销售、售前、试用负责人)给予分配应用查看权限,然后进入【应用管理】菜单页,可以看到已接入探针的应用。
6、问题排查
6.1 agen.config.url is not assigned
如果出现以上错误,则要看看各应用的 run.sh启动参数配置是否成功,可能的问题是:
1)JAVA_HOME路径不对
2)DIR 下的 JAR 路径不对
6.2其他错误
如果应用启动不成功,请打包各日志(日志路径在 1.2 配置)上传给相应对接人找开发排查;