Jmeter&Influxdb&Grafana 性能测试监控平台

工作原理

Jmeter&Influxdb&Grafana 性能测试监控平台

Influxdb作为一个时序性数据库,存储Jmeter任务执行后发送过来的测试数据,Grafana作为一个监控仪表盘,从Influxdb提取数据,再通过自身的模板功能,将Jmeter源数据在页面上按不同的分类展示,如下图
Jmeter&Influxdb&Grafana 性能测试监控平台

安装部署

Influxdb

Influxdb支持docker方式、传统的rpm安装等多种,本次使用的是docker方式部署,较为简单,无外网的机器可从其他机器docker push 后通过docker save保存在本地,再将镜像文件tar包拷贝至内网机器,最后再docker load(具体方式可百度)。


1.准备镜像文件,如下图
docker images 查看当前机器存在的docker镜像文件

Jmeter&Influxdb&Grafana 性能测试监控平台

2.启动服务
docker run -d --name my_influxdb -p 8083:8083 -p 8086:8086 influxdb:1.7.10
-d 后台方式运行
--name my_influxdb  应用名称  
-p 8083:8083 宿主主机暴露端口:容器内端口的映射,influxdb服务默认使用8086 8083端口
influxdb:1.7.10 应用启动使用的镜像名和版本
如下图,状态为Up即为正常

Jmeter&Influxdb&Grafana 性能测试监控平台

3.创建数据库,influxdb 1.2版本前可通过web页面操作,1.2之后取消,可通过Influxdb客户端和后台命令方式创建,本文采用方式二
3.1进入doker容器内 
docker exec -it abc641ce9060 /bin/bash,执行成功后主机名变更
exec -it 以交互方式进入容器    abc641ce9060 容器ID   /bin/bash执行容器内的 bash  

Jmeter&Influxdb&Grafana 性能测试监控平台

3.2连接数据库
influx

Jmeter&Influxdb&Grafana 性能测试监控平台

3.3创建新的数据库名
create database jmeter
(可选)CREATE USER 'admin' WITH PASSWORD 'admin' WITH ALL PRIVILEGES

Jmeter&Influxdb&Grafana 性能测试监控平台

Grafana

1.准备镜像文件,方式同influxdb

2.启动服务
docker run -d -p3000:3000 --name=my_grafana  grafana/grafana

3.访问http://10.10.4.169:3000,10.10.4.169替换为对应的IP,初始用户名admin\admin

Jmeter&Influxdb&Grafana 性能测试监控平台

4.添加数据源,对接Influxdb

Jmeter&Influxdb&Grafana 性能测试监控平台

5.类型选择Influxdb

Jmeter&Influxdb&Grafana 性能测试监控平台

6.配置明细

Jmeter&Influxdb&Grafana 性能测试监控平台

7.保存&测试,如下图即为添加成功

Jmeter&Influxdb&Grafana 性能测试监控平台

8.添加数据展示模板
可在grafana官网下载大佬们做好的模板,直接引用Id或导入json文件,本文下载的是
Apache JMeter Dashboard using Core InfluxdbBackendListenerClient,本文采用导入方式,因内网机器
Grafana官网:https://grafana.com/grafana/dashboards?dataSource=influxdb&search=jmeter

Jmeter&Influxdb&Grafana 性能测试监控平台

导入方式,选择上传下载好的模板json文件即可

Jmeter&Influxdb&Grafana 性能测试监控平台

使用说明

1.Jmeter配置,线程中添加后端监听器

Jmeter&Influxdb&Grafana 性能测试监控平台

2.配置说明
选择influxdb类型的监听,将jmeter数据发送给influx
influxdbUrl:influx数据库的url。example : http://influxHost:8086/write?db=jmeter
application:被测试的应用名称。此值也作为名为“application”的标记存储在“events”中,在grafana中可根据该字段过滤
measurement:使用默认的”jmeter“就行,
summaryOnly:为true的情况下,只输出所有请求的集合数据报告,为flase的情况下,输出每条数据的详情报告、
samplersRegex:正则表达式将与样本名称匹配并发送到后端。默认匹配所有
testTitle:测试名称。默认的设置为 Test name。该值作为名为“text”的字段存储在“事件”度量中。 JMeter在测试的开始和结束时自动生成一个注释,其值以'started'和'ended'结尾
percentiles:要发送到后端的百分位数,多个值已;分割
TAG_WhatEverYouWant:自定义标签。您可以根据需要添加任意数量的自定义标签。对于它们中的每一个,只需创建一个新行并在其名称前加“TAG_”

Jmeter&Influxdb&Grafana 性能测试监控平台

3.数据展示,选择对应的模板名即可,默认为导入时的文件名

Jmeter&Influxdb&Grafana 性能测试监控平台

上一篇:ECS入门训练营-DAY4 打卡 ECS云服务器新手上路


下一篇:Linux端口被占用解决