一、环境准备

当前仅支持mac或linux系统,安装包括repeater-console和repeater两个模块的安装

注:
在windows环境可能会遇到安装路径出错导致安装失败或者运行失败的情况

需要的中间组件:

  • linux/Mac os
  • jdk 1.8+
  • maven 3.2+
  • 数据库 mysql 5.7+

二、repeater-console安装与启动

2.1 下载源码

git clone https://github.com/alibaba/jvm-sandbox-repeater.git

2.2 数据库配置

- 位置:/repeater-console/repeater-console-start/src/main/resources/application.properties# 本地mysql数据源测试
spring.datasource.url=jdbc:mysql://数据库IP/域名:数据库端口/数据库名?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&useSSL=false
spring.datasource.username=用户名
spring.datasource.password=密码

2.3 初始化数据库

repeater-console/repeater-console-dal/src/main/resources/database.sql

2.4 console源码问题修复

- console代码在idea中启动时,不会报错,但是使用jar包启动时,页面会报异常,需要做如下调整- 位置 repeater-console/repeater-console-start/src/main/java/com/alibaba/repeater/console/start/controller/page/ReplayController.java
替换 return "/replay/detail"; 为 return "replay/detail";
解决跳转页面的问题- 位置 repeater-console/repeater-console-start/src/main/java/com/alibaba/repeater/console/start/controller/test/RegressPageController.java
替换 return "/regress/index"; 为 return "regress/index";
解决跳转页面的问题

2.5 编译并启动console

# 在 repeater 项目根目录进行
mvn install -DskipTests && java -jar repeater-console/repeater-console-start/target/*.jar

三、repeater安装

3.1 下载源码

git clone https://github.com/alibaba/jvm-sandbox-repeater.git

3.2 修改配置文件

- 位置:jvm-sandbox-repeater/bin/repeater.properties
如果是本机器则配置成127.0.0.1或lcoalhost,如果是远程主机部署则配置成服务IP端口# 录制消息投递地址
broadcaster.record.url=http://127.0.0.1:8001/facade/api/record/save# 回放结果投递地址
broadcaster.repeat.url=http://127.0.0.1:8001/facade/api/repeat/save# 回放消息取数据地址
repeat.record.url=http://127.0.0.1:8001/facade/api/record/%s/%s# 配置文件拉取地址
repeat.config.url=http://127.0.0.1:8001/facade/api/config/%s/%s# 心跳上报配置
repeat.heartbeat.url=http://127.0.0.1:8001/module/report.json# 是否开启脱机工作模式
repeat.standalone.mode=false# 是否开启spring advice拦截
repeat.spring.advice.switch=false

3.3 环境变量配置

启动参数中的 -Dapp.name=repeater -Dapp.env=daily
对应应用名和环境,是需要启动时添加的,不然jvm-sandbox启动后找不到对应的环境信息

代码中这个文件读取了这个环境变量信息
com.alibaba.jvm.sandbox.repeater.plugin.core.util.PropertyUtil getSystemPropertyOrDefault
通过代码知道可以通过在被测的jvm机器上设置环境变量设置应用名称和环境

3.4 编译repeater

# 在项目根目录下的bin目录中执行
cd bin
sh install-repeater.sh

在linux环境中执行可能会报如下错误:


编译失败后可以将repeater-stable-bin文件拷到对应目录~/.sandbox-module下同样可行

文件下载路径下载路径, 下载后对应文件目录

此时可以将/cfg/repeater.properties文件按照3.2 修改配置文件中进行配置,修改console服务的ip和port

3.5 启动被测服务

# 下载源码
git clone https://github.com/spring-guides/gs-rest-service.git# 在示例项目 clone 后的根目录中运行
cd complete
mvn install && java -jar target/*.jar

注: 如3.3 环境变量配置所说,启动方式也可以为:mvn install && java -jar -Dapp.name=repeater
-Dapp.env=daily target/*.jar

3.6 启动sandbox

sandbox的启动方法有两种,attach模式和agent模式

3.6.1 attach模式

# 启动命令
~/sandbox/bin/sandbox.sh -p ${被录制应用进程号} -P ${repeater启动端口}
# 关闭命令
~/sandbox/bin/sandbox.sh -S ${被录制应用进程号}

完整启动命令

sh ~/sandbox/bin/sandbox.sh -p `ps -ef | grep "target/gs-rest-service-0.1.0.jar" | grep -v grep | awk '{print $2}'` -P 12580

3.6.2 agent模式

java
-javaagent:${HOME}/sandbox/lib/sandbox-agent.jar=server.port=${repeater启动端口}\;server.ip=0.0.0.0 \
-Dapp.name=${录制应用名} \
-Dapp.env=${录制环境} \
-jar application.jar

agent模式下启动成功,但是在录制回放是无法连接对应的端口,通过server.port设置的端口无效

四、简单使用

4.1 页面

安装完成,进去前端页面:http://localhost:8001/online/search.htm

4.2 配置管理

应用名:unknown
环境名:unknown

{"useTtl" : true,"degrade" : false,"exceptionThreshold" : 1000,"sampleRate" : 10000,"pluginsPath" : null,"httpEntrancePatterns" : [ "^/greeting.*$" ],"javaEntranceBehaviors" : [ {"classPattern" : "hello.GreetingController","methodPatterns" : [ "greeting" ],"includeSubClasses" : false} ],"javaSubInvokeBehaviors" : [],"pluginIdentities" : [ "http", "java-entrance", "java-subInvoke", "mybatis", "ibatis" ],"repeatIdentities" : [ "java", "http" ]
}

4.3 在线模块

查看在线模块,可以看到被监控信息

4.4 发送请求

curl -s 'http://localhost:8080/greeting'
curl -s 'http://localhost:8080/greeting?name=User'

4.5 在线流量

在线流量列表中可以看到录制的流量信息

4.5 流量回放

选择对应的流量进行回放

【 jvm-sandbox-repeater】环境搭建部署相关推荐

  1. Hyperledger Fabric 2.4环境搭建部署及示例运行

    Hyperledger Fabric目前最新发布版本为2.4,本文将详细介绍Hyperledger Fabric 2.4的环境搭建步骤,并介绍结合fabric2.4完成的具体区块链项目实例,使用jav ...

  2. (转载):ganglia之环境搭建部署

    转载:http://www.360doc.com/content/19/0211/12/62122823_814215724.shtml 借鉴:https://blog.csdn.net/lswnew ...

  3. Centos7.2 ganglia(一)之环境搭建部署

    一.ganglia简介 1.1 ganglia介绍 ganglia是一款为HPC(高性能计算) 集群设计的可扩展性 的分布式监控系统,它可以监视和显示集群中节点的各种状态信息,他由运行在各个节点上的g ...

  4. 测试环境搭建/部署步骤

    一.准备工作 连服务 检查防火墙,关闭防火墙 二.服务部署 上传安装文件的安装包,并解压 解压后,进入目录对文件提升权限 进入指定文件夹后,上传需要的中间件(jdk.tomcat.数据库-MySQL安 ...

  5. Linux下Linpack测试CPU性能的相关库、环境搭建部署

    1.简介: Linpack是线性系统软件包(Linear system package) 的缩写,是国际上使用最广泛的测试高性能计算机系统浮点性能的基准测试. 2.相关条件: 编译器:支持C和Fort ...

  6. jmeter分布式环境搭建

    jmeter分布式环境搭建部署 jmeter分布式环境搭建 Jmeter运行方式:GUI和非GUI GUI.非GUI遇到的问题 如何解决? Jmeter分布式部署流程 Jmeter非GUI运行时动态参 ...

  7. Rancher环境搭建手册

    Rancher环境搭建部署手册 一.准备部署节点 关闭防火墙 (1)查看防火墙状态:firewall-cmd --state 防火墙关闭状态为:no running 防火墙开启状态为:running ...

  8. 【Java全栈学习笔记:第一阶段:JavaSE】:Java入门及环境搭建

    Java全栈课程网站: KuangStudy JavaSE课程地址: 狂神说Java 参考书籍:Java大学实用教程(第四版) 目录 Java入门及环境搭建 Java帝国的诞生 Java发展 Java ...

  9. CentOS+Nginx+Tomcat+Mysql+PHP 环境搭建及系统部署

    ==============安装centos 7.0======================= 选择最小安装,将相关的"调试工具"."兼容性程序库".&qu ...

  10. Apache Spark1.1.0部署与开发环境搭建 - Mark Lin

    Spark是Apache公司推出的一种基于Hadoop Distributed File System(HDFS)的并行计算架构.与MapReduce不同,Spark并不局限于编写map和reduce ...

最新文章

  1. NOIP2018TG 初赛复习
  2. 236. Lowest Common Ancestor of a Binary Tree
  3. 深度学习目标检测法进化史,看这一篇就够了
  4. 安卓平板排行榜_shopee虾皮台湾安卓市场, shopee虾皮直播下载
  5. httpservletrequest 设置请求头_请求和常用对象
  6. WordPress一个还不错的404html单页代码
  7. Android学习系列(27)--App缓存管理
  8. java 云服务器 linux,云服务器Linux部署JavaWeb项目
  9. jQuery API/1.1.1/CSS
  10. Extjs的文件上传问题
  11. WPS2000中实现立体字效果(转)
  12. pythonexcel怎么读_python怎么读excel
  13. Ghibli works
  14. C#获取本机局域网ip和公网ip
  15. 2021-10-21 markdown模板
  16. 中国移动呼叫转移设置
  17. 【Android音视频开发】【032】Android从RTMP流中提取H264和AAC数据进行播放
  18. 使用node.js实现图片压缩
  19. matlab之常用命令整理(持续更新中...)
  20. T13735 fateice-string洛谷八连测2

热门文章

  1. my ReadBook_zhulidianzishangwushi / dianzishangwushi
  2. appfuse mysql_Appfuse 使用
  3. 串口通信linux单片机,Linux与单片机串口通信
  4. 转:中文汉字占二个字节还是三个字节长度
  5. 宾馆客房管理系统设计
  6. Python 爬取4K美女图片
  7. 运维软件推荐(附带软件百度网盘分享)
  8. Android 录制gif图
  9. centos7 RPM包之rpm命令
  10. 新手网站建设优化,这些网站为你提供数之不尽的免费素材!(3)