阿里录制回放平台(Doom)试用记录(未完待续)

背景

在2019的MTSC,阿里开源了jvm-sandbox-repeater——可对java服务进行录制回放的工具。
jvm-sandbox-repeater是提供录制和回放的功能的底层组件,真正要在实际项目中应用起来,还必须有相关的配套服务配合才行。
于是乎我把目光,放到了阿里更早之前推出公测的录制回放平台——Doom。

Doom简介

在阿里云平台中,Doom被称为双引擎自动回归服务,属于测试管理中的一个服务。

关于Doom可以直接点击官方文档之平台介绍进行了解,因为官方介绍文档写的非常好,从适用场景、原理、使用常见问题以及解决方案都有给出,所以这里不做赘述。

接下来,我们直接进入正题,按照官方提供的双引擎接入使用文档进行接入。后面的接入步骤,同时打开官方双引擎接入使用文档,配合食用更佳。

快速入门之前

在doom平台上开始进行服务接入之前,需要做几个步骤。

  1. 注册一个阿里云账号
  2. 访问【云效】:https://my.rdc.aliyun.com/,并按照指引创建企业/加入企业。
  3. 在阿里云购买OSS服务,并创建Bucket以及配置好Access Key。(如已有OSS服务,可直接使用已有的OSS。不会操作的话按照官方的OSS说明文档操作即可)
  4. 访问【Doom平台】:https://doom.rdc.aliyun.com/,按照双引擎接入使用文档【1.2 数据存储设置】,进行OSS配置。
  5. 在【Doom平台】:https://doom.rdc.aliyun.com/上,按照双引擎接入使用文档【2. 应用接入申请】进行应用接入申请操作。这里的应用接入分云效应用和非云效应用两种,无论是否是云效上的平台,是否是部署在阿里云服务器上,都可以进行申请接入。由于我没有使用过云效,所以我申请的是非云效应用接入申请。申请的审批时效较长,这个过程需要耐心等待一下。
    注意:如果3个工作日都没有收到审批结果,可以发邮件到mufeng@aibaba-inc.com进行咨询。

快速入门

应用申请通过后,按照双引擎接入使用文档第3章节以及平台中的引导进行接入,官方文档中的步骤截图和说明都比较清晰,这里不做赘述。

补充说明

以下主要针对官方说明一些有疑问的地方,经过和负责Doom的技术同学确认后,给大家补充说明(未完待续)。

  • 在【3.2 设置IP】章节中的IP,填写应用服务器的网卡IP即可, 即使用ifconfig查看到的本机IP。不需要填写公网IP。这个IP主要是用来区分服务器的分组和类型(录制/回放)。
  • 应用服务器需要可访问公网,同时应用服务可被公网访问。(是否需要开启特定端口供公网访问,待确定)

接入过程中遇到的问题

按照接入文档完成了doom平台中的配置之后,在服务启动到录制还是遇到了一些问题。至今还没有完成一次录制回放。

以下接入尝试,Doom客户端的安装方式都是采取免变更模式,详情可参看双引擎接入使用文档【3.7 安装doom客户端】。

1 平台上显示doom客户端连上了,但录制没有成功

最初在公司的电脑进行接入尝试。

系统信息:Mac OS 10.14.3 (18D109)
java版本信息:
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)

网络环境:可访问外网,但外网不可访问本机服务

执行doom客户端安装脚本attach.sh成功。

doom客户端启动成功日志
doom平台显示客户端已连接上

由于没有配置流量入口,按照文档中的说明预期应该会录制所有的流量。

流量入口配置说明

但实际上当我对目标应用进行请求后,在用例中心却没有看到任何录制记录。


没有采集记录

于是需要通过日志去定位问题。客户端日志地址在使用默认配置的情况下是在/home/{username}/{接入应用名}/logs/doom.log,而在mac os下则是/Users/{username}/{接入应用名}/logs/doom.log。从下图日志上看会看到客户端不停地在建立连接,又失败的情况。
从这里的报错看不出更进一步的原因,考虑到公司电脑无法被外网访问,只能推测是网络原因,具体还有需要咨询一下Doom的同学。

报错日志

2 doom客户端安装脚本执行完成,doom平台显示没连上客户端

考虑到是之前由于网络原因,没有录制成功,于是第二次我使用一台vps来进行应用部署。

系统版本信息:
Linux vultr.guest 4.4.0-154-generic #181-Ubuntu SMP Tue Jun 25 05:29:03 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

java版本信息:
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)

网络环境:可访问外网,但外网可访问本机服务8080端口

在ubuntu服务器上遇到的问题比较多。遇到的第一个问题就是

2.1 doom客户端安装脚本attach.sh的兼容问题

在已配置JAVA_HOME的情况下,会出现attach脚本执行失败的情况。


attach.sh执行报错
attach.sh执行报错定位

为了快速解决,我注释掉了attach.sh中修改JAVA_HOME的那段逻辑。从而成功启动了。

注释JAVA_HOME修改逻辑

attach.sh执行成功
2.2 attach.sh执行成功,平台显示客户端连接异常,且应用服务器无日志生成
平台显示连接异常

这时候就需要借助日志来进行排查,结果发现日志没有生成


找不到doom.log

查看过确定ip没有填写错误。如下图填写的是网卡的IP地址。


服务器IP信息

由于没有日志,无法进一步定位问题了。

推荐阅读更多精彩内容