mysql oracle replay_GoReplay 的简单使用

Gorelapy 简介

goreplay 是一款从生产环境 copy 流量到测试环境的工具,且不会影响生产环境的业务响应,又能很简单的达到复用 http 请求来做稳定性测试的目的。

GoReplay 工作方式:listener server 捕获流量,并将其发送至 replay server 或者保存至文件。replay server 会将流量转移至配置的地址

3fbb4365465d74d532eb318f9b145e67.png

最简单的使用模式是:listener server 捕获流量,并将其发送至 kafka,然后解析 kafka 的消息并存入 mysql,处理起来还是比较方便的.

环境准备

1、安装 kafka

启动 zookeeper 和 kafka server,并创建一个 topic

温馨提示:server.properties 中的 PLAINTEX 后面需要把 ip 加上,否则其他服务器上的消息接收不到

2、安装 mysql

创建 db 和表,用来保存请求数据

监听消息发送到 kafaka

1、在目标服务器上安装 gorepay

b、二进制包:百度或者找我要吧。如果你的服务器是 centos7 以上,可以直接解压使用。建议使用这种方式

2、监听并往 kafka 发消息

使用 HTTP 请求输出到 kafka - HTTP 原始信息

sudo ./goreplay --input-raw :8179--output-kafka-host '10.8.1.43:9092' --output-kafka-topic 'test'

使用 HTTP 请求输出到 kafka - JSON 格式

sudo ./goreplay --input-raw :8080 --input-raw-track-response --output-kafka-host '10.8.1.43:9092' --output-kafka-topic 'test' --output-kafka-json-format

查看监听消息

在 kafka 所在的服务器上启一个 consumer,查看这个 topic 中的消息,可以看到监听端口的流量了

bin/kafka-console-consumer.sh --bootstrap-server 10.8.1.43:9092 --topic test

解析 kafka 的消息并保存到 mysql

安装依赖库:confluent-kafka、records、PyMySQL

sh

pip install confluent-kafka

pip install records

pip install PyMySQL

records 一个非常简单但功能强大的库,用于对大多数关系数据库进行原始 SQL 查询

PyMySQL 是从 Python 连接到 MySQL 数据库服务器的接口

编写解析 kafka 消息的 python 代码,进行解析并且保存落库

常用命令

基本命令:

1、获取经过本地 8080 端口的请求流量,然后打印出来

sudo ./goreplay --input-raw :8080 --output-stdout

2、获取经过本地 8080 端口的请求流量,然后保存在.gor 文件中

sudo ./goreplay --input-raw :8080 --output-file=request.gor

3、从保存下来的流量文件中提取流量并向某的地址的某个端口输出

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

4、转发

sudo ./goreplay --input-raw :8080 --output-http="http://localhost:8000"

5.请求过滤

例如只收集 /api 下的请求

./gor --input-raw :8080 --output-http staging.com --http-allow-url /api

例如只收集请求头中符合 api-version 为 1.0x 的请求

./gor --input-raw :8080 --output-http staging.com --http-allow-header api-version:^1\.0\d

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值