一、搭建influxdb + prometheus + grafana +Jmeter监控平台
1、目的:对性能测试的结果进行持久化存储。
2、每个组件介绍
- Jmeter:性能测试工具,可以收集到服务器的性能测试指标:统计TPS、响应时间、线程数、错误率等信息。
- influxdb: 一种时序数据库, 可以永久性保存数据【除非手动清除和数 据库坏了】
- 时序数据库:是一种时间相关的非关系型数据库,按照时间序列记 录数据,每一条数据都有一个时间,很方便用线性图展示数据。
- Jmeter通过一个【后端监听器】可以将统计出的结果实时异步发送 到 InfluxDB 中进行持久化存储
- Grafana:监控大屏, 一个web端的展示平台, 通过更换模板展示不同的 效果,可以直接拉取influxdb数据显示出来在页面图标里,直观并美观
图解释:Jmeter通过对服务器进行压测,得到性能的业务指标,再通过后端监听器把数据传输给influxdb存储,grafana从influxdb里读取数据展示。
3、安装和部署监控平台
Grafana
- 介绍:grafana是一款用go编写的开源应用,用于大规模指标数据的可视化 展示,是网络架构和应用分析中最流行的时序数据展示工具;【监控大屏】
- 支持的数据库:influxdb、prometheus、graphite等 【都是时序数据库】
- 官方网站:grafana.com网站
- 安装:安装建议使用独立机器,不要在被测项目服务器上,会占用系统资源影响性能 测试结果数据。【可以放在之前的助攻机上或者新建一个空的机器上】步骤如下:
- 将安装包放在服务器上grafana-9.5.21-1.x86_64.rpm
- 在线安装 yum install -y grafana-9.5.21-1.x86_64.rpm【或者rpm -ivh grafana-9.5.21-1.x86_64.rpm】
- 启动服务:systemctl start grafana-server | systemctl restart grafana-server 【启动 | 重启】
- afana-server 【启动 | 重启】 第四步: 查看一下grafana的服务: systemctl status grafana-server ,状态为active(running)
- web页面访问grafana服务:端口默认3000,账号和密码默认是 admin / admin
- 访问http://机器ip:3000,可以看到登录页面,输入账号和密码即可登录
此时,完成Grafana的安装
Influxdb
- 介绍:influxDB是一个时序数据库,使用Go语言编写,适合构建大部分分
布式监控系统。JMeter的业务指标支持的influxdb数据库,不支持prometheus数据库。 - 安装:使用独立机器安装,建议grafana和influxdb放在同一机器,安装步骤如下:
- 导入rpm包到服务器 influxdb-1.7.0.x86_64.rpm
- 在服务器上在线安装:yum install -y influxdb-1.7.0.x86_64.rpm
- 启动数据库:influx & 或者 service influxdb start,端口为8086(&是后台运行的意思)
- 查看服务启动情况:ps -ef | grep influxd,如下图:
Jmeter
- 在Jmeter与influxdb集成:添加后端监听器,选择influxdb,以及做好数据库
的信息配置:

备注:
1、application对应的值是事物名,可以不改
2、summyOnly对应的值是true,代表合并所有事物,就没有其他事物 None
Influxdb + Grafana结合使用:添加数据源【influxdb数据库】+ 添加面板【grafana的模板】
1、具体步骤
-
访问grafana,http://ip地址:3000,使用账号密码admin/admin 登录进去
-
默认没有数据源,添加数据源:Administrator-->data
Sources-->Add data source--->搜索influxdb,并选择influxdb: -
配置influxdb的ip和端口,并选择jmeter数据库:
4. Dashboard【New】 > import--> 输入5496, load >选择db名 字为刚刚添加的数据源【influxDB】--> import 即可: