1

我正在研究GoReplay以重现昨天发生的部分生产流量。

我想重现的流量已经用 nginx 记录了,我可以保存为 .log 或 .csv 文件。

从我从重播 http 流量文档中可以看出,可以使用如下命令重现流量:

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

但这需要一个.gor文件。

我的问题是,流量的再现(使用 GoReplay)是否仅限于.gor文件,或者我可以使用 nginx.log文件来这样做吗?

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

4

2 回答 2

0

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

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

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

于 2019-04-29T08:12:06.203 回答
0

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

如果您希望我提供一步一步的信息,请告诉我。

于 2020-03-27T17:18:35.740 回答