Jmeter那点事·Jmeter + Grafana + Chronograf + InfluxDB 性能测试监控

依赖的软件版本

influxdb-1.3.0.x86_64.rpm
chronograf-1.4.4.1.x86_64.rpm
grafana-6.2.1-1.x86_64.rpm

一、安装InfluxDB

安装完毕后,修改InfluxDB的配置:配置jmeter存储的数据库与端口号
vi /etc/influxdb/influxdb.conf
在graphite配置项下修改库与端口

  enabled = true
  database = "jmeter"
  bind-address = ":2003"
  protocol = "tcp"
  consistency-level = "one"

启动InfluxDB
/etc/init.d/influxdb restart

二、InfluxDB数据库配置

1、登录数据库
influx -host 127.0.0.1 -port 8086
2、数据库管理

# 创建数据库
create database <test_name>
# 查询所有数据库
> show databases
# 使用某个数据库
> use <test_name>

创建一个名为jmeter的数据库

3、表管理

# SHOW measurements命令查看所有的表,这个类似于mysql下的 show tables;
SHOW MEASUREMENTS;
# 创建表,直接在插入数据的时候指定表名
INSERT <measurement_name>,host=server1,region=cn_east-1 value=0.68
# 删除表
DROP MEASUREMENT <measurement_name>

三、配置InfluxDB web管理

InfluxDB 1.3以及之后的版本已经取消在InfluxDB中启用web管理了,取而代之的是使用Chronograf。
安装Chronograf 组件

wget https://dl.influxdata.com/chronograf/releases/chronograf-1.4.4.1.x86_64.rpm
sudo yum localinstall chronograf-1.4.4.1.x86_64.rpm

启动web服务:sudo systemctl start chronograf
然后通过http://localhost:8888连接Web页面

接下来的步骤将Chronograf连接到您的InfluxDB实例
对于Connection String,输入运行InfluxDB的机器的主机名或IP,并确保包含InfluxDB的默认端口:8086
接下来,命名连接字符串,这可以输入任何值。
最后三个输入框无需编辑。
Username并且Password可以保持空白,Telegraf的默认数据库名称telegraf

保存成功以后,可以在influxdb Admin看到数据库管理界面,
在这里可以看到刚刚新建的jmeter数据库


四、安装Grafana

根据官网指引下载安装Grafana
https://grafana.com/grafana/download

wget https://dl.grafana.com/oss/release/grafana-6.2.1-1.x86_64.rpm
sudo yum localinstall grafana-6.2.1-1.x86_64.rpm

启动Grafana /etc/init.d/grafana-server restart
打开浏览器,访问 http://localhost:3000
输入用户名和密码登录系统,用户名与密码都是admin
第一次登录成功以后会让你重置密码。
添加需要展示数据的数据库,这里我们配置Influxdb,
配置Influxdb URL


配置Influxdb 数据库,用户名和密码

五、配置Jmeter

jmeter中,添加【监听器 -> Backend Listener】,选择监听类型并配置graphiteHost

默认情况下,JMeter发送在samplerName“all”下累计的所有采样器的指标。 如果配置了 BackendListenerSamplersList,那么JMeter还会发送匹配样本名称的指标,前提是配置 summaryOnly=true
配置完毕后,发送接口请求,可以多发几次,
然后进入到chronograf的Data Explorer页面,在【Query Templates】下拉框中选择{Show Tag Value},然后依次选择jmeter数据库和任意一张指标表,会发现在上方到输入框里自动生产类似sql一样的语句,按下回车,就会在底部的图表模块生成数据,

这样表明Jmeter到InfluxDB配置正确

如果想要监控某个或某几个指定请求的话,Jmeter上的“Backend Listener”修改如下参数:将“summanyOnly”修改成False,将“userRegexpForSamplersList”修改成True,并且要设置“samplersList”的值,“samplersList”是可以支持正则表达式的,“samplersList”的设置要与请求对应,否则找不到该请求。如图

端口说明:
8086端口,Grafana用来从数据库取数据的端口
2003端口,JMeter往数据库发数据的端口

如果想要了解这些监控都代表什么意思,可以访问Jmeter的官网地址去查看阅读“http://jmeter.apache.org/usermanual/realtime-results.html

六、配置Grafana

1、点击左侧+号,选择Dashboard

2、在New Panel下选择【Add Query】

3、选择数据库类型和任意指标表名

最后生成图表如下

线程数/用户相关指标
test.minAT-Min active threads:最小活跃线程数
test.maxAT-Max active threads:最大活跃线程数
test.meanAT-Mean active threads:活跃线程数
test.startedT-Started threads:启动线程数
test.endedT-Finished threads:结束线程数

响应时间指标
.ok.count:采样器的成功响应数
.h.count:每秒点击数
.ok.min:采样器成功最短响应时间
.ok.max:采样器成功最长响应时间
.ok.avg:采样器成功平均响应时间
.ok.pct:采样器成功响应百分比
.ko.count:采样器失败响应数
.ko.min:采样器失败的响应最短时间
.ko.max:采样称失败最长响应时间
.ko.avg:采样器失败平均响应时间
.ko.pct:采样器失败响应百分比
.a.count:采样器响应数(ok.count和ko.count的总和)
.a.min:采样器最小响应时间(ok.count和ko.count的最小值)
.a.max:采样器最大响应时间(ok.count和ko.count的最大值)
.a.avg:采样器平均响应时间(ok.count和ko.count的平均值)
.a.pct:采样器响应百分比(根据和失败样本的总数计算)

七、Grafana导入Dashboard模版

Grafana官网提供丰富的模版的库,进行二次扩展。
官网模版库:https://grafana.com/dashboards
搜索看板模版


1、下载JMeter Load Test 的 JSON文件和Jmeter依赖包 https://grafana.com/dashboards/1152

2、在Grafana中导入json模版



设置DB

3、配置Jmeter
3.1 将下载的JMeter-InfluxDB-Writer-plugin-xx.xx.jar放到Jmeter的/lib/ext目录下
3.2 在Jmeter脚本中添加 Backend Listener (Add -> Listener -> Backend Listener)
3.3 Backend Listener implementation选择{JMeterInfluxDBBackendListenerClient}
3.4 配置参数列表


最后运行脚本,可以看到DashBoard


参考
https://xiexianbin.cn/database/influxdb/2018-04-09-influxdb/
https://blog.csdn.net/zuozewei/article/details/82911173

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容