GoReplay-从.log而不是.gor重播

时间:2019-04-26 14:50:14

标签: http nginx tcpreplay

我正在调查GoReplay,以重现昨天发生的部分生产流量。

我想复制的流量已经用nginx记录了,我可以将其另存为.log或.csv文件。

根据我从replay http traffic docs得知的信息,可以使用以下命令重现流量:

sudo gor --input-file request.gor --output-http="http://localhost:3001"

但这需要一个.gor文件。

我的问题是,将流量复制(使用GoReplay)限制为.gor个文件,还是我可以使用nginx .log个文件来做到这一点?

如果这不可能,并且鉴于我没有描述昨天请求的.gor文件,建议您创建一个文件转换脚本,以将日志文件转换为.gor文件,或者您可以推荐一种更好的方法?

2 个答案:

答案 0 :(得分:0)

在GoReplay GitHub页面上问了这个问题之后,我得到的答案是:  *无法直接从日志中复制流量;  *您必须使用.gor文件来重新创建流量;

因此,从流量中重播的唯一方法是创建一个.log到.gor文件转换器。

链接到官方答案:https://github.com/buger/goreplay/issues/668

答案 1 :(得分:0)

我发现我可以使用another package在本地按原样重播我拥有的日志。同时,您可以让goreplay监听流量以捕获该流量并将其保存到日志文件。然后,您可以使用这些新创建的日志运行goreplay,更新域以及您需要的其他任何内容。

让我知道是否要我提供逐步说明。