背景:

  话说Jmeter原生的监控确实太丑了,听大佬们在讨论Jmeter+InfluxDb+Grafana的监控,于是,为了有一个漂亮的测试报告,就手动开始进行部署。

安装步骤:

1、influxdb下载安装

  [root@localhost ~]# wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.0.x86_64.rpm --no-check-certificate

  [root@localhost ~]# rpm -ivh influxdb-1.7.0.x86_64.rpm

  (如果未安装wget,需要先安装,安装命令:[root@localhost ~]# yum search wget、[root@localhost ~]# yum install wget.x86_64,安装rpm命令:(ubuntu系统:apt-get install rpm))

    安装完之后,配置文件路径为: /etc/influxdb/influxdb.conf

修改配置文件:

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

  在配置文件中找到graphite配置项    


[meta]
   # Where the metadata/raft database is stored
   # 存放最终存储的数据,文件以.tsm
   dir = "/usr/local/influxdb/meta"


[data]
   # The directory where the TSM storage engine stores TSM files.
   # 存放数据库的源数据wal
   dir = "/usr/local/influxdb/data"


# The directory where the TSM storage engine stores WAL files.
   # 存放预写日志文件
   wal-dir = "/var/lib/influxdb/wal"

[[graphite]]
# Determines whether the graphite endpoint is enabled.
enabled = true
database = "jmeter" # 数据库名称
retention-policy = ""
bind-address = ":2003" # 端口
protocol = "tcp"
consistency-level = "one"
修改HTTP端口信息
[http]
# Determines whether HTTP endpoint is enabled.
enabled = true # The bind address used by the HTTP service.
bind-address = ":8086"

   启动influxd服务:

[root@localhost ~]# influxd &  

influxDB的tcp端口:8088
      查看端口有没有起来:

[root@localhost ~]# netstat -anp|grep 8088

  influxDB数据库操作:

[root@jmeter ~]# influx    # 登录数据库
Connected to http://localhost:8086 version 1.6.0
InfluxDB shell version: 1.6.
> show databases # 查看数据库
name: databases
name
----
_internal
jmeter
> create database "jmeter" # 创建数据库
> use jmeter #切换数据库
Using database jmeter
> create user "admin" with password '' with all privileges # 创建管理员权限的用户

开启需要用到的接口:         

[root@localhost ~]# firewall-cmd --zone=public --add-port=/tcp --permanent
success
[root@localhost ~]# firewall-cmd --zone=public --add-port=/tcp --permanent
success
[root@localhost ~]# firewall-cmd --zone=public --add-port=/tcp --permanent
success
[root@localhost ~]# firewall-cmd --reload
success

2、Jmeter配置

  创建一个测试计划,并添加监听器-Backend Listenter,Backend Listener implementation 选择org.apache.jmeter.visualizers.backend.graphite.GraphiteBackendListenerClient
  添加线程
  设置influxDB IP及端口
  运行测试,等待几秒看数据

端口说明:

2003端口:Jmeter往数据库发数据的端口

8086端口,Grafana从数据库取数据的端口

 查看Jmeter数据库的表信息:

[root@jmeter ~]# influx
Connected to http://localhost:8086 version 1.6.0
InfluxDB shell version: 1.6.
> show measurements
ERR: database name required
Warning: It is possible this error is due to not setting a database.
Please set a database with the command "use <database>".
> show databases
name: databases
name
----
_internal
jmeter
> use jmeter
Using database jmeter
> show measurements
name: measurements
name
----
jmeter.all.a.avg
jmeter.all.a.count
jmeter.all.a.max
jmeter.all.a.min
jmeter.all.a.pct90
jmeter.all.a.pct95
jmeter.all.a.pct99
jmeter.all.h.count
jmeter.all.ko.avg
jmeter.all.ko.count
jmeter.all.ko.max
jmeter.all.ko.min
jmeter.all.ko.pct90
jmeter.all.ko.pct95
jmeter.all.ko.pct99
jmeter.all.ok.avg
jmeter.all.ok.count
jmeter.all.ok.max
jmeter.all.ok.min
jmeter.all.ok.pct90
jmeter.all.ok.pct95
jmeter.all.ok.pct99
jmeter.all.rb.bytes
jmeter.all.sb.bytes
jmeter.test.endedT
jmeter.test.maxAT
jmeter.test.meanAT
jmeter.test.minAT
jmeter.test.startedT

这个时候已经可以将统计数据成功发送到InfluxDB

补充:

   可以将JMeter-InfluxDB-Writer-plugin-1.2.jar放到jmeter的lib\ext目录下,这时可以选择:

3、Grafana和influxDB数据源配置

     安装Grafana:

官网:https://grafana.com/grafana/download

下载地址:https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-5.2.1-1.x86_64.rpm
          安装:rpm -ivh grafana-5.2.1-1.x86_64.rpm

(如果提示:

    警告:grafana-5.2.1-1.x86_64.rpm: 头V4 RSA/SHA1 Signature, 密钥 ID 24098cb6: NOKEY
    错误:依赖检测失败:
    fontconfig 被 grafana-5.2.1-1.x86_64 需要
    urw-fonts 被 grafana-5.2.1-1.x86_64 需要

    执行命令:[root@localhost ~]#  yum install fontconfig freetype* urw-fonts -y

后,再进行安装

  )

  启动
    [root@jmeter ~]# service grafana-server start
    Starting Grafana Server: ... [ OK ]  

开启3000访问端口:

    [root@bogon benben]# firewall-cmd --zone=public --add-port=3000/tcp --permanent
    success
    [root@bogon benben]# firewall-cmd --reload
    success

    浏览器访问:http://IP:3000/login
    grafana的默认用户名密码都是admin,第一次登录会要求更改密码

    

     创建influxDB数据源

    单击save & Test,提示:data source is working,说明保存和连接成功

    创建dashboard

    新建Graph面板

    数据绑定

    选择influxdb的数据源库名,jmeter的相关表

    定义显示的名称

    保存数据模板
    直接按ctrl+s或点击保存按钮

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

线程数/用户相关指标
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:采样器响应百分比(根据和失败样本的总数计算)
Backend Listener的默认百分位设置为“;;”,即百分位数为90%,%和99%。
Graphite使用点(“.”)去拆分的元素,这可能与十进制百分位值混淆。JMeter转换任何此类值,用下划线(“ - ”)替换点(“.”)。例如,“99.9 ”变为“99_9 ”
默认情况下,JMeter发送在samplerName“all”下累计的所有采样器的指标。 如果配置了 BackendListenerSamplersList,那么JMeter还会发送匹配样本名称的指标,前提是配置 summaryOnly=true

    导入Dashboard模版

    从Grafana官网下载相应的模板
    官网模版库:https://grafana.com/dashboards
    搜索看板模版

    下载:jmeter load test 

   下载的jar包复制到jmeter的/lib/ext下面

    导入模板

    加载模板文件,将下载的json文件打开,将源码复制粘贴到第二个框中

    选择模板数据源

    重启jmeter,再添加一个后置处理器-Backend Listener,选择rocks.nt.apm.jmeter.JMeterinfluxDBBackendListenerClient,输入influxDB的host和端口,之前创建用户名和密码 

    压测的效果图

==============================================================================================================================================================================

 以上为centos系统上的安装方法,以下为ubuntu系统的安装方法:

1、Influxdb下载和安装:      

wget https://dl.influxdata.com/influxdb/releases/influxdb_1.2.4_amd64.deb (如果在线下载慢,可以先下载到本机,再上传到centos系统)

sudo dpkg -i influxdb_1..4_amd64.deb

2、Grafana下载和安装:

wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_5.1.3_amd64.deb   (如果在线下载慢,可以先下载到本机,再上传到centos系统)
sudo apt-get install -y adduser libfontconfig
sudo dpkg -i grafana_5..3_amd64.deb
启动服务:
sudo service grafana-server start

图片和操作步骤转自https://www.cnblogs.com/mike-liu/p/10080351.html博客,感谢!

jmeter+influxdb+grafana性能测试监控的更多相关文章

  1. influxDB1.6版安装与配置(windows环境)、Jmeter+influxDB+Grafana性能监控

    influxDB1.6版安装与配置(windows环境).Jmeter+influxDB+Grafana性能监控 来源:https://blog.csdn.net/SwTesting/article/ ...

  2. 性能工具之JMeter+InfluxDB+Grafana打造压测可视化实时监控【转】

    概述 本文我们将介绍如何使用JMeter+InfluxDB+Grafana打造压测可视化实时监控. 引言 我们很多时候在使用JMeter做性能测试,我们很难及时察看压测过程中应用的性能状况,总是需要等 ...

  3. 搭建jmeter+influxdb+grafana压测实时监控平台(超详细,小白适用)

    1.前言 在使用jmeter做性能测试的时候,监控系统性能的时候,无论是使用插件还是报告生成,都没法实现实时监控.使用JMeter+Influxdb+Grafana可以实现实时监控. 本次环境搭建各软 ...

  4. 全网最详细!Centos7.X 搭建Grafana+Jmeter+Influxdb 性能实时监控平台

    背景 日常工作中,经常会用到Jmeter去压测,毕竟LR还要钱(@¥&*...),而最常用的接口压力测试,我们都是通过聚合报告去查看压测结果的,然鹅聚合报告的真的是丑到家了,作为程序猿这当然不 ...

  5. Centos7.X 搭建Grafana+Jmeter+Influxdb 性能实时监控平台(不使用docker)

    工具介绍 [centos7安装influxDB] Influxdata官网下载路径:https://portal.influxdata.com/downloads/ 1.直接执行以下命令安装 2.安装 ...

  6. Centos8.X 搭建Grafana+Jmeter+Influxdb 性能实时监控平台

    前言 本篇文章引用了小菠萝测试笔记,大部分内容非原创,基于自身实操过程中,完善了部分. 本篇随笔是在Linux上搭建的,后面会补充在docker以及k8s上如何部署安装 工具介绍 工具 介绍 Jmet ...

  7. Jmeter监控平台搭建:JMeter+InfluxDB+Grafana

    背景 平时一般用Jmeter的Gui模式,添加对应的插件,查看每秒线程数.TPS.响应时间等曲线,其实高并发是不建议这么看的. 解决方案 可以搭配InfluxDB+Grafana工具,使Jmeter异 ...

  8. Centos7 搭建Grafana+Jmeter+Influxdb 性能实时监控平台

    未完,待更新 背景 日常工作中,经常会用到Jmeter去压测,毕竟LR还要钱(@¥&*...),而最常用的接口压力测试,我们都是通过聚合报告去查看压测结果的,然鹅聚合报告的真的是丑到家了,作为 ...

  9. influxdb + Grafana可视化监控平台

    在centos6.5上influxdb + Grafana监控平台配置: 1.RedHat and CentOS users can install the latest stable version ...

随机推荐

  1. leetcode-Given a binary tree, find its minimum depth

    第一题 Given a binary tree, find its minimum depth.The minimum depth is the number of nodes along the s ...

  2. jq1.9.0以上版本不兼容live()解决方法

    最近一个项目里用bootstrap做图形渲染,需要用到jq1.9以上版本,而copy的js代码里用到了live()方法,故两者产生了兼容问题,下面是解决方案: $('#my').on("cl ...

  3. mysql新建数据库、新建用户及授权操作

    1.创建数据库create database if not exists test176 default charset utf8 collate utf8_general_ci; #utf8_gen ...

  4. Kafka笔记2(安装)

    1.安装java 2.安装zookeeper 3.安装kafka Broker 测试:发布消息 测试:读取消息 4,broker配置 常规配置: broker.id: 默认0  每个broker都需要 ...

  5. kali蓝牙渗透

    1.hcitool 通过前面讲的升级操作后,在BackTrack4 Linux或者Ubuntu系统下将会安装好蓝牙的全套操作工具,其中就包括hcitool.该工具支持大量的蓝牙设备操作,从扫描到查看设 ...

  6. mecacheq的配置

    在处理业务逻辑时有可能遇到高并发问题,例如商城秒杀.微博评论等.如果不做任何措施可能在高瞬间造成服务器瘫痪,如何解决这个问题呢?队列是个不错的选择.队列(Queue)又称先进先出(First In F ...

  7. 【2017-05-18】WebForm的Repeater控件及简单控件

    <%@ %> - 这里面写一些声明和引用的 <%  %> - 编写C#代码的 <%= %> - 往界面上输出一个变量的值 <%# Eval("属性名 ...

  8. flask_mail发送163邮件,报553错误的原因

    最近在练习用flask_mail发送163邮件时报错: reply: '553 authentication is required,163 smtp9,DcCowAD3eEQZ561caRiaBA- ...

  9. 转:图解C#的值类型,引用类型,栈,堆,ref,out

    C# 的类型系统可分为两种类型,一是值类型,一是引用类型,这个每个C#程序员都了解.还有托管堆,栈,ref,out等等概念也是每个C#程序员都会接触到的概念,也是C#程序员面试经常考到的知识,随便搜搜 ...

  10. oracel数据库主键自增

    -- Create sequence create sequence FILE_ID_SEQ   主键名(自增列) minvalue 1         起始 maxvalue 99999     最 ...