JMeter+InfluxDB+Grafana实现可视化实时监控

简介:

        我们在使用JMeter进行接口自动化和性能测试的时候,很难及时察看执行过程中应用的性能状况和测试结果,非常依赖测试执行完成后的Report报告,如果是做长时间的压力测试及脚本执行,不能实时监控测试过程经常会出现一些问题。

本文我们将介绍如何使用JMeter+InfluxDB+Grafana打造可视化实时监控。 

简单介绍下原理实现:

        1、influxdb是一种时序数据库,用来存放监控数据;我们需要搭建这个时序数据库服务,用来存放监控jmeter执行结果。

        2、搭建好influxdb后,我们需要在jmeter中连接influxdb,将jmeter执行结果数据储存到influxdb;jmeter连接influxdb是通过“监听器”中的“后端监听器”建立连接的。

        3、Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示。我们最后利用grafana连接influxdb数据库,将Jmeter执行结果分析成美观的视图页面。

 

一、indluxdb安装和部署

1、indluxdb下载

        百度网盘下载链接: https://pan.baidu.com/s/1ou-kyIL4zN-p9NDFGMIuOg 提取码: jtyi

        官网:https://www.influxdata.com/get-influxdb/

        ps:官网下载2.0版本缺少配置文件,百度网盘中放的是1.8版本的influxdb,修改配置配置文件后启动就能用。

        下载解压influxdb后,可以看到indluxdb结构。

        JMeter+InfluxDB+Grafana实现可视化实时监控

2、修改influxdb.conf配置文件

        修改原因:Jmeter使用graphite协议去写入数据到InfluxDB,因此,需要在InfluxDB配置文件启用它;

        打开influxdb.conf配置文件,修改内容如下:

        ps:可以在文档中ctrl+f查找graphite,然后找到对应数据进行增加和修改(注意格式,参考原文档中格式),修改内容如下:

[[graphite]]
  # Determines whether the graphite endpoint is enabled.
  # enabled = true
  # bind-address = ":2003"
  # database = "jmeter"
  # retention-policy = ""
  # protocol = "tcp"
  # batch-size = 5000
  # batch-pending = 10
  # batch-timeout = "1s"
  # consistency-level = "one"
  # separator = "."
  # udp-read-buffer = 0

JMeter+InfluxDB+Grafana实现可视化实时监控

3、启动InfluxDB服务

        需要使用已配置的配置文件的话,需要指定conf配置文件进行启动,启动命令:influxd --config influxdb.conf

        ps:直接使用Influxd.exe启动服务会使用默认配置;

JMeter+InfluxDB+Grafana实现可视化实时监控

        出现如下信息启动成功

JMeter+InfluxDB+Grafana实现可视化实时监控

        如果出现下列情况,启动失败;还需要修改influxdb.conf配置文件,修改:bind-address = "0.0.0.0:8088"

JMeter+InfluxDB+Grafana实现可视化实时监控

JMeter+InfluxDB+Grafana实现可视化实时监控

        ps:修改influxdb.conf配置文件后,再次运行 influxd --config influxdb.conf 命令。

4、操作influDB数据库

        启动InfluxDB服务,窗口不要关闭。再启动一个cmd窗口,执行如下命令:influx

        ps:InfluxDB自带一个客户端程序influx,可用来增删改查等操作数据库,语法和sql语法相同。

JMeter+InfluxDB+Grafana实现可视化实时监控

        创建一个“jmeter”库(用于储存jmeter测试结果)

> show databases # 查看所有数据库

> create datbase "jmeter" # 创建数据库

> use jmeter               # 切换数据库

> create user "admin" with password "admin" with all privileges  # 创建管理员权限的用户

二、jmeter连接Influxdb

1、jmeter中通过Backend Listener连接Influxdb

        ip通常是本机127.0.0.1

JMeter+InfluxDB+Grafana实现可视化实时监控

2、然后运行jmeter脚本,查寻influx数据库里jmeter库中的数据

        命令:select * from jmeter

        ps:连接正常执行查询语句会显示数据的,显示空的说明连接失败了,检查前面连接步骤,重新尝试。

JMeter+InfluxDB+Grafana实现可视化实时监控

三、Grafana的安装和部署

1、Grafana下载地址:https://grafana.com/grafana/download?platform=windows

        安装成功之后,如图所示:

JMeter+InfluxDB+Grafana实现可视化实时监控

2、启动Grafana服务,控制面板—管理工具—服务

JMeter+InfluxDB+Grafana实现可视化实时监控

3、到目前你就可以运行Grafana了,默认端口号是3000

        打开浏览器访问http://localhost:3000,Grafana的默认登录名和密码admin/admin,第一次登录会提示修改密码。

JMeter+InfluxDB+Grafana实现可视化实时监控

4、登陆Grafana后,创建连接,配置连接相关信息。

JMeter+InfluxDB+Grafana实现可视化实时监控

JMeter+InfluxDB+Grafana实现可视化实时监控

JMeter+InfluxDB+Grafana实现可视化实时监控

JMeter+InfluxDB+Grafana实现可视化实时监控

5、创建仪表盘

JMeter+InfluxDB+Grafana实现可视化实时监控

JMeter+InfluxDB+Grafana实现可视化实时监控

        注意:需要导入一个json文件或者使用模版id,通过这个模版展示可视化报告的样式。

        模版下载方式:

                1、百度网盘下载链接:https://pan.baidu.com/s/1XGyCQA6hTXXapP431_P-9w 提取码: 35a7

                2、官网下载模板或提取模版id:https://grafana.com/dashboards

JMeter+InfluxDB+Grafana实现可视化实时监控

JMeter+InfluxDB+Grafana实现可视化实时监控

        导入json模版文件或者使用模版id加载后继续创建

JMeter+InfluxDB+Grafana实现可视化实时监控

JMeter+InfluxDB+Grafana实现可视化实时监控

四、测试

1、运行jmeter

2、刷新查看数据

JMeter+InfluxDB+Grafana实现可视化实时监控

搭建完成,恭喜大佬!

 

上一篇:Jmeter中正则表达式使用以及csv文档读取


下一篇:Android app自动化测试(Monkey的测试原理和方法),Android架构师教你如何突破瓶颈