背景

Jmeter原生的实时监控每半分钟收集一次数据,只能在Linux控制台查看日志输出,界面看起来不直观,图表报告只能等压测结束后才能生成。如下图为jmeter在Linux下运行的实时日志:

那么如何在压测过程中实时生成图表监控数据呢?这里介绍一种实现方案:搭建Jmeter + Grafana + InfluxDB性能测试监控环境。

实现方案

BackendListener:Jmeter中的监听器

InfluxDB:存储实时数据的DB

Grafana:DB中存储的实时数据可以在浏览器查看

软件安装

1、安装InfluxDB

新建InfluxDB下载源

cat << EOF | tee /etc/yum.repos.d/influxdb.repo

[influxdb]

name = InfluxDB Repository - RHEL \$releasever

baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable

enabled = 1

gpgcheck = 1

gpgkey = https://repos.influxdata.com/influxdb.key

EOF

使用yum下载InfluxDB

yum install -y influxdb

修改InfluxDB的配置,主要配置jmeter存储的数据库与端口号,还有需要将UI端口开放

[root@localhost ~]# vi /etc/influxdb/influxdb.conf

# 找到graphite并且修改它的库与端口

[[graphite]]

enabled = true

database = "jmeter"

bind-address = ":2003"

protocol = "tcp"

consistency-level = "one"

启动InfluxDB

[root@localhost ~]# /etc/init.d/influxdb restart

Stopping influxdb...

influxdb process was stopped [ OK ]

Starting influxdb...

influxdb process was started [ OK ]

2、安装Grafana

使用yum下载Grafana并且安装

yum install https://grafanarel.s3.amazonaws.com/builds/grafana-3.0.1-1.x86_64.rpm

启动Grafana

[root@localhost ~]# /etc/init.d/grafana-server restart

OKopping Grafana Server ...                                [  OK  ]

Starting Grafana Server: .... OK

打开浏览器,访问测试机IP

- 8086端口是Grafana用来从数据库取数据的端口

- 2003端口是Jmeter往数据库发数据的端口

3、配置Jmeter

 

配置Grafana数据源

配置图表

图表配置比较麻烦,可以直接导入别人配置好的图表:https://grafana.com/dashboards/4026

大致介绍几种常用的监控:

名称

描述

jmeter.all.h.count

所有请求的TPS

jmeter.<请求名称>.h.count

对应<请求名称>的TPS

jmeter.all.ok.pct99

99%的请求响应时间

jmeter.<请求名称>.ok.pct99

对应<请求名称>99%的请求响应时间

jmeter.all.test.startedT

线程数

如果要监控<请求名称>的话,Jmeter上的“Backend Listener”修改如下参数

1. 将“summanyOnly”修改成False,

2. 将“userRegexpForSamplersList”修改成True,

3. 并且要设置“samplersList”的值,“samplersList”是可以支持正则表达式的,“samplersList”的设置要与请求对应,否则找不到该请求。

配置好的监控图:

搭建Jmeter + Grafana + InfluxDB性能测试监控环境的更多相关文章

  1. [转]Jmeter + Grafana + InfluxDB 性能测试监控

    https://www.cnblogs.com/yyhh/p/5990228.html Jmeter + Grafana + InfluxDB 性能测试监控 效果不错

  2. 基于Docker 部署Jmeter + Grafana + InfluxDB 性能测试监控配置(亲测可用)

    工具介绍: InfluxDB:是一款用Go语言编写的开源分布式时序.事件和指标数据库,无需外部依赖.该数据库现在主要用于存储涉及大量的时间戳数据,如DevOps监控数据,APP metrics, lo ...

  3. Jmeter + Grafana + InfluxDB 性能测试监控

    阅读目录 1. 安装InfluxDB 2. 安装Grafana 3. 配置Jmeter 序章 前几天在群里看到大神们在讨论Jmeter + InfluxDB + Grafana监控.说起来Jmeter ...

  4. 借助Docker搭建JMeter+Grafana+Influxdb监控平台

    我们都知道Jmeter提供了原生的结果查看,既然有原生的查看结果,为什么还要多此一举使用其他工具进行查看呢,除了查看内容丰富外还有最主要的原因:Jmeter提供的查看结果插件本身是比较消耗性能的,所以 ...

  5. Grafana+Influxdb+Telegraf监控mysql

    Grafana+Influxdb+Telegraf监控mysql 一.安装 1.1安装Grafana+influxdb+telegraf 1.2启动服务,添加开机启动 1.3查看grafana界面 二 ...

  6. JMeter+Grafana+Influxdb搭建可视化性能测试监控平台(使用了docker)

    [运行自定义镜像搭建监控平台] 继上一篇的帖子 ,上一篇已经展示了如何自定义docker镜像,大家操作就行 或者 用我已经自定义好了的镜像,直接pull就行 下面我简单介绍pull下来后如何使用 拉取 ...

  7. JMeter+Grafana+Influxdb搭建可视化性能测试监控平台(待继续完善。。。)

    influxdb下载.安装.配置.启动 InfluxDB是一个当下比较流行的时序数据库,InfluxDB使用 Go 语言编写,无需外部依赖,安装配置非常方便,适合构建大型分布式系统的监控系统. 下载: ...

  8. Jmeter Grafana Influxdb 环境搭建

    1.软件安装 1.Grafana安装 本文仅涉及Centos环境 新建Grafana yum源文件 /etc/yum.repos.d/grafana.repo [grafana] name=grafa ...

  9. WIndows下使用Grafana+InfluxDB打造监控系统

     前言 对于一个运维DBA来说,了解数据库的TPS.QPS很有必要(QPS:每秒查询数,即对数据库每秒的DML的操作数:TPS:每秒事物处理,即对数据库每秒DDL操作数),通过了解他们,可以掌握一个实 ...

随机推荐

  1. laravel的测试工具debug安装:

    在项目根目录执行: composer require barryvdh/laravel-debugbar --dev

  2. nginx 实现所有的子域名301跳转到另外一个域名的对应子域名

    server { listen ; server_name *.olddomain.com; if ( $http_host ~* "^(.*?)\.olddomain\.com$" ...

  3. 关于sqlserver数据库max()方法的使用

    1.传送门:http://www.codesky.net/article/201009/144935.html 2.copy自传送门里的内容: max(字符串内容): 说明对字符型数据的最大值,是按照 ...

  4. js操作对象

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  5. python format(格式化)

    自 python 2.6 开始,新增了一种格式化字符串的函数str.format(),可谓威力十足.那么,他跟之前的%型格式化字符串相比,有什么优越的存在呢?让我们来揭开它羞答答的面纱.#语法它通过{ ...

  6. gitignore不起作用

    .gitignore中已经标明忽略的文件目录下的文件,git push的时候还会出现在push的目录中,原因是因为在git忽略目录中,新建的文件在git中会有缓存,如果某些文件已经被纳入了版本管理中, ...

  7. 网络请求get和post的区别

    网络请求get和post的区别 其实本文更应该放在HTTP相关的分类,但是目前我并没有开设这一个分类专栏,so临时储存在HTML分类吧 Get和post是HTTP请求的两种基本方式 get是从服务器上 ...

  8. dev控件 xtraTabbedMdiManager 如何将关闭子窗体改为收回主窗体内

    前言 本文主要讲解 xtraTabbedMdiManager 如何将关闭子窗体改为收回主窗体内,顺便附上Float(浮动)的时候使窗体最大化,及指定只能某一个子窗体能浮动放大. 下面进入正题. 一.首 ...

  9. JS 清除DOM 中空白元素节点

    HTML中的空白节点会影响整体的HTML的版面排榜 例如: 制作百度首页时,两个input之间的空白节点将本来是要整合在一起的搜索栏硬是把按钮和搜索框分离出现好丑的间隙 这时我们就可以用js清除这个空 ...

  10. elasticsearch5.0以上版本及head插件的安装

    本文转载至:https://www.cnblogs.com/hts-technology/p/8477258.html(针对5.0以上版本) 对于es5.0以下的版本可以参考:https://www. ...