Jmeter+influxdb+grafana 性能测试结果监控

我们做性能测试的时候使用Jmeter自身的监听器统计压测结果虽然可以统计到各个维度的信息,比如TPS,RT,Err等,但是这个Jmeter本身的监控没有办法做存储,也没有办法去找历史数据,所以如果想要持久化储存数据,我们就需要采用监控平台+ influxdb时序数据库进行性能测试结果的监控。

Jmeter+Influxdb+grafana工具之间的关系

  • Jmeter性能测试工具,可以收集到服务器的性能测试指标:统计 TPS、响应时间、线程数、错误率等信息;Jmeter通过一个【后端监听器】可以将统计出的结果实时异步发送到 InfluxDB 中

  • influxdb:时序数据库, 按照时间序列,记录数据,并可以永久性保存数据

  • grafana:监控大屏, 一个web端的展示平台, 通过更换模板展示不同的效果,可以直接拉取influxdb数据显示出来在页面图标里,直观并美观。

图片

工具安装和部署
1、grafana

介绍:是一款用go编写的开源应用,用于大规模指标数据的可视化展示,是网络架构和应用分析中最流行的时序数据展示工具。

  • DashBoard:仪表盘 ,包括图形和界面,可以做聚合数据展示,了解整体的数据情况;

  • Row:行,展示的数据结构是按照行来读取的

  • Panel:面板,支持定制化面板。

  • metrics:监控资源,数据变化的情况

  • logs:日志,拿到日志信息处理和展示

  • traces:跟踪链路的串联

  • 支持的数据库:graphite、influxdb、prometheus等 ,都是时序数据库。

  • 组成:

图片

安装:

  • http://机器ip:3000 admin admin

  • 官方网站:grafana.com网站

  • 第一步:先把老师给的安装包放在服务器上,这台服务器建议不要是被测试服务器,影响性能;

  • 第二步:在线安装 yum install -y grafana-xxx.rpm 【或者这个命令:rpm -ivh grafana-*.rpm】

  • 第三步:启动grafana服务:systemctl start grafana-server

  • 第四步:查看一下grafana的服务:systemctl status grafana-server

  • 第五步:web页面访问grafana服务:端口 默认3000,账号和密码默认是admin admin

2、influxdb:

介绍:influxDB是一个时序数据库,使用Go语言编写,无需外部依赖,适合构建大部分分布式监控系统。

特色:

  • 基于时间序列,因为每条数据都跟时间关联,所以能很好的支持时间相关函数

  • 可度量:每条数据都是个数字,在每一个点都可以比对这些数据,是很明确定值,方便度量;

  • 强大的类sql语法:类似于sql,语法有差异,做表查询 字段查询等可以通过类sql;但是我们很少需要去查询influxdb的数据,大部分数据在写入前已经确定好了,数据结构也比较简单,基本会在grafana里查看就可以。

安装influxdb :

  • 第一步:先把下载好的安装包-rpm包传到服务器上

  • 第二步:在Linux服务器上在线安装:yum install -y influxdb-1.7.0.x86_64.rpm

  • 第三步:启动数据库:influxd 或者 service influxdb start ,端口是8086

  • 第四步:查看服务启动情况:systemctl status influxdb

  • create database :建库

  • show databases:查库

  • drop databases:删库

  • use dbname:选择库

  • show measurements:查表

  • create table :建表

  • drop measurement:删表

  • 建议使用 独立机器, 不要在被测服务器上。可以grafana和influxdb放在同一个机器里。

  • 安装influxdb1.x数据库

  • 连接进入influxdb数据:

    在终端输入 influx 进入了 influxdb,进入了命令行窗口,influxdb语法跟sql的语法基本上差不多:

Jmeter与influxdb集成

安装好了工具之后,可以在Jmeter里实现跟influxdb的集成了。

  • 1、Jmeter里添加后端监听器,选择 influxdb,以及做好数据库的信息配置,如下图所示:

图片

  • 2、然后就可以再Jmeter里通过图形界面 或者CLI运行脚本:就会把数据写入到influxdb数据库里;

  • 3、运行脚本后,在数据库里就会创建出来一张表:并select查看里的数据可以看到存进去的数据:数据跟jtl文件记录的数据基本上一样。

图片

influxdb+grafana集成

influxdb里已经有数据了,我们现在需要把数据放在监控大屏grafana上进行展示。主要就是分为两步:添加数据源【influxdb数据库】+ 添加面板【grafana的模板】

  • 第一步:浏览器访问这个grafana,http://服务区的IP:3000并登录进去;

  • 第二步:默认没有数据源,添加数据源:setting-->data source-->add data source--->搜索influxdb,并选择influxdb:

图片

  • 第三步:配置influxdb的ip和端口,并选择jmeter数据库:

图片

图片

  • 第四步:manager【+】 > import--> 输入5496 load >选择db名字为刚刚添加的数据源【influxDB】--> import 即可:

图片

图片

  • 第五步:运行Jmeter的脚本,就可以再Dashboard上看到实时刷新的数据了:

图片

注意的问题

1、jmeter写数据到 influxdb数据库中, Jmeter到influxdb 8086端口要通 【Jmeter通过后端监听器写入数据到influxdb数据库】

2、grafana到 influxdb的网络+ grafana到influxd 8086端口要通 【grafana需要去influxdb的数据库里拿数据显示】

3、grafana的机器要能访问 **grafana.com网站。

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!

  • 15
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面我会为您详细讲解 jmeter+influxdb+grafana监控实例。 首先,JMeter 是一个用于性能测试的工具,可以进行压力测试、负载测试、功能测试等。它可以模拟多种不同的用户行为,以便评估系统的性能和稳定性。 InfluxDB 是一个高性能的时序数据库,可以存储和查询大量的时间序列数据。它具有高度可扩展性和灵活性,可以轻松地处理海量数据。 Grafana 是一个流行的开源数据可视化工具,可以连接多种数据源并将其可视化。它提供了灵活的图表和仪表板,可以帮助用户更好地理解数据。 下面是 jmeter+influxdb+grafana 监控实例的具体步骤: 1. 安装 InfluxDBGrafana 在官网下载最新版的 InfluxDBGrafana,然后按照官方文档进行安装和配置。 2. 配置 InfluxDB 数据库 在 InfluxDB 中创建一个新的数据库,并为其设置一个名称和一个保存策略。保存策略可以指定数据的保存时间和数据的复制系数。 3. 配置 JMeter 插件 在 JMeter 中安装 InfluxDBGrafana 插件,然后配置插件以连接到 InfluxDB 数据库。 4. 在 JMeter 中添加聚合器 在 JMeter 中添加聚合器,以便收集数据并将其发送到 InfluxDB 数据库中。 5. 创建 Grafana 仪表板 在 Grafana 中创建一个新的仪表板,并添加一个新的数据源。选择 InfluxDB 数据库作为数据源,并输入数据库的详细信息。 6. 创建 Grafana 图表 在 Grafana 中创建一个新的图表,并选择要显示的数据。可以使用不同的图表类型和样式来显示数据。 7. 测试 JMeter 脚本 使用 JMeter 运行测试脚本,并在 Grafana 中查看结果。可以使用 Grafana 的仪表板和图表来分析数据,识别瓶颈和优化性能。 以上就是 jmeter+influxdb+grafana 监控实例的具体步骤。希望可以对您有所帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值