Jmeter - 性能监控系统搭建
性能监控系统
InfluxDB
存储压力测试结果,go 语言开发,8086 端口
# 新建容器网络
$ docker network create grafana
# 运行容器
$ cd ~/volumes
$ docker run -d --name=influxdb --network grafana -p 8086:8086 -v ${PWD}/influxdb/:/var/lib/influxdb/ influxdb:1.7.10
# 创建数据库
# 方式一
$ curl -i -XPOST http://localhost:8086/query --data-urlencode "q=CREATE DATABASE jmeter"
# 方式二
$ docker exec -it infulxdb influx
> create database jmeter;
> show databases;
> use jmeter;
> show measurements;
> select * from jmeter limit 3;
Grafana
读取数据以图形化方式展示测试结果
$ docker run -d --name grafana --network grafana -p 3000:3000 grafana/grafana:6.6.2
# 默认账号和密码都是 admin
配置数据源:设置 -> Data Sources -> Add data source -> influxdb
- URL:http://influxdb:8086,通过容器名加端口号可以访问
- InfluxBD Details: Database -> jmeter
- Min time interval: 配置为 5s,因为 jmeter 每 5s 写入一次,同步一下
测试,出现绿色提示即为成功。
URL 如果不使用容器名的话,可以进入 influxdb 容器内,cat /etc/hosts 找到 IP 地址,填入也行,就是会比较麻烦。
接下来,需要导入一个 dashboard
- Dashboards -> Manage -> Import -> https://grafana.com/grafana/dashboards/5496 -> Load
- 名称可以随意更改
- DB nam 选择 InfluxDB
- Measurement name 填写 jmeter
- 刷新时间为 5 秒,跟前面配置一样
- 点击 Import
Jmeter
运行测试生成测试数据,存储到 InfluxDB 内
打开界面
- 创建线程组,添加 http 请求
- 添加监听器 - 后端监听器
- 后端监听器实现修改为 influxdbBackendListener
- InfulxdbUrl 修改为:http://localhost:8086/write?db=jmeter
- application 自定义修改,区分与其他人的数据
- measurement 需要与 jmeter 保持一致
- summaryOnly 修改为 false,会在页面展示错误信息
http 请求内填入本机地址,或者 localhost,发起请求,刷新 grafana 页面,可以看到请求数据。