前几天刚做了一个在 web 端执行 Jmeter 压测的项目
https://github.com/lihuacai168/Jmeter-Toolkit
生成报告使用的 Jmeter 原生的报告,看起来少了点东西,不够高大上
要上档次,那必须是 Grafana
所以,开始搞起来吧
搭建服务最方便的还是 docker-compose
只需要创建一个文件docker-compose.yml
,把下面的内容粘贴进去
然后执行docker-compose up -d
,就能把服务启动好啦
默认创建一个db
叫做jmeter
,记住它,下面会用到
为了方便,就没设置账号密码
# docker-compose.yml
version: "3"
services:
influxdb:
image: influxdb:1.8
container_name: influxdb
ports:
- "8086:8086"
volumes:
- ./influxdb_data:/var/lib/influxdb
environment:
- INFLUXDB_DB=jmeter
# - INFLUXDB_USER=jmeter
# - INFLUXDB_USER_PASSWORD=jmeter
# - INFLUXDB_ADMIN_USER=admin
# - INFLUXDB_ADMIN_PASSWORD=admin
grafana:
image: grafana/grafana:8.1.5
container_name: grafana
ports:
- "3000:3000"
depends_on:
- influxdb
volumes:
- ./grafana_data:/var/lib/grafana
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=admin
服务启动好之后,需要登录到 grafana,地址是http://localhost:3000
(默认用户名和密码是 admin/admin)
添加 InfluxDB 数据源:点击左侧菜单中的 “Configuration”(齿轮图标),然后选择 “Data Sources”,点击 “Add data source”,选择 “InfluxDB”,并输入相关信息。
看到这个就成功啦
如果写错了,会看到类似这样的报错信息
数据源配置好之后,就开始配置 Jmeter 面板喽
没有意外的话,就能看到下面这个啦,到这里,Grafana 相关配置已经全部完成
给测试计划增加一个监听器
这里需要修改的地方有两个,第一个安装下面图片的就好
第二个根据实际情况填写,192.168.199.215
是 Influxdb 所在机器的 ip
db 是 2.1 章节中配置的 db 名称
如果你配置了用户密码,那么参考这个文档地址
https://docs.influxdata.com/influxdb/v1.5/query_language/authentication_and_authorization/
配置完之后,点击开始执行(GUI 不适合真实压测,实际压测请使用非 GUI 模式,导出 jmx 运行即可)
过一会就能在 Grafana 上看到数据啦
如果没有,可以看看 log