背景

平时一般用Jmeter的Gui模式,添加对应的插件,查看每秒线程数、TPS、响应时间等曲线,其实高并发是不建议这么看的。

解决方案

可以搭配InfluxDB+Grafana工具,使Jmeter异步发送数据到InfluxDB,然后由Grafana查询并展示出来,方便查看与比对。

之前使用Docker方式搭建过这个监控平台,这里记录下。

安装Docker

网上安装Docker的方式很多,我之前也写过一篇Centos7下安装Docker可以参考,本次是CentOS8.2安装(华为云 root账户)。

安装所需软件包:

yum install -y yum-utils device-mapper-persistent-data lvm2

发现报错了,原来是镜像链接不对,官方描述该版本停止更新相应依赖了

于是换源:参考链接,重新执行命令

添加阿里云镜像:

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

直接安装最新版本:

yum install docker-ce

安装完成后,输入systemctl start docker命令启动docker。

安装InfluxDB

InfluxDB是一个时间序列数据库,旨在处理高写入和查询负载。用作涉及大量带时间戳数据的任何用例的后备存储,包括DevOps监控,应用程序指标,物联网传感器数据和实时分析。

使用docker命令拉取容器镜像(由于2.x版本与1.x版本语法不一样,这里安装1.8版本的):

docker pull influxdb:1.8

运行容器(这里如果不用镜像id会默认拉取influxdb的最新版本):

docker run --name my_influxdb -p 8086:8086 镜像id

为了保存jmeter的发送的数据,需要先建一个数据库,进入容器(docker ps查看容器id)

docker exec -it 容器id /bin/bash

输入influx进入数据库交互命令行,创建一个jmeter的数据库。

influx
show databases;
create database jmeter;
show databases;
use jmeter;
select * from jmeter;
exit;

安装Grafana

Grafana是一个跨平台的开源的度量分析和可视化工具,可以通过将采集的数据查询然后可视化的展示,并及时通知,有着精美的可视化图表模板。

使用docker命令拉取容器镜像:

docker pull grafana/grafana

运行容器:

docker run --name my_grafana -p 3000:3000 grafana/grafana

输入IP:3000就可以访问grafana了, 默认用户名:admin,密码admin。(本地访问华为云,需要在云服务器控制台—安全组,找到对应的安全组开放出入端口)

Grafana配置数据源

登录grafana,在界面中找到配置中心

接着添加数据源

选择influxDB

配置数据源的名称,远程URL为上面influxdb的ip:8086,database为jmeter

点击save&test按钮,会自动连接保存,出现下面弹窗就ok了

数据源添加好后,接着导入图表展示模板,可以官方下载导入json文件方式,也可以直接输入模板id导入,这里选择后面一种。

直接填写模板id5496,点击load

修改模板名称,匹配数据源,点击import就ok了

如下所示:

Jmeter配置

Jmeter的安装就省略了,这里说下插件配置,添加后端监听器:

后端监听器配置如下,其他配置不用动:

调试对比数据

添加一个简单jmeter脚本,运行5分钟

查看聚合报告

查看grafana图表,选择最近15分钟的数据,和上面的报告数据也能对得上。

Jmeter监控平台搭建:JMeter+InfluxDB+Grafana的更多相关文章

  1. 【Docker】性能测试监控平台搭建:InfluxDB+Grafana+Jmeter+cAdvisor

    前言 在做性能测试时,如果有一个性能测试结果实时展示的页面,可以极大的提高我们对系统性能表现的掌握程度,进而提高我们的测试效率.但是我们每次打开Jmeter都会有几个硕大的字提示别用GUI模式进行负载 ...

  2. jmeter的性能监控框架搭建记录(Influxdb+Grafana+Jmeter)

    查看笔记 http://note.youdao.com/noteshare?id=c700365713abb98bd3d10e6f45393af9&sub=6F4E14FF3F9D4167AE ...

  3. Docker系列——InfluxDB+Grafana+Jmeter性能监控平台搭建(三)

    在之前系列博文中,已经介绍完了数据采集和数据存储,那数据如何展示呢?所以今天就专门来讲下数据如何展示的问题. 以前博文参考: Docker系列--InfluxDB+Grafana+Jmeter性能监控 ...

  4. inux监控平台搭建-监控项

    linux监控平台搭建-监控项 本人运维某生态互联网监控平台服务.过程中遇见了很多问题.目前互联网有很多的开源监控工具:nagios.zabbix.falcon.cacti...各有优点.这里不讲解监 ...

  5. linux监控平台搭建-cpu

    linux监控平台搭建-cpu 目前服务器的主流CPU是intel或者AMD.到底主频是什么.多核.多线程.并发.并行.超频.一级缓存.二级缓存.三级缓存.i386.x86 cpu:含有算术逻辑.控制 ...

  6. linux监控平台搭建-内存

    linux监控平台搭建-内存 上一篇文章说的硬盘.就写一下.更加重要的东西.在手机上面是RAM.机器是memory.内存是按照字节编址.每个地址的存储单元可以存放8bit的数据.cpu 通过内存地址获 ...

  7. linux监控平台搭建-磁盘

    linux监控平台搭建-磁盘 磁盘:随着大数据快速发展.人工智能.自动化.云平台.数据量指数的增长.磁盘的使用量也在增长.目前的机器基本上采用SSD或者SATA盘,一直有人比较那个好.会不会使用时间短 ...

  8. Docker系列——InfluxDB+Grafana+Jmeter性能监控平台搭建(一)

    在做性能测试的时候,重点关注点是各项性能指标,用Jmeter工具,查看指标数据,就是借助于聚合报告,但查看时也并不方便.那如何能更直观的查看各项数据呢?可以通过InfluxDB+Grafana+Jme ...

  9. Docker系列——InfluxDB+Grafana+Jmeter性能监控平台搭建(二)

    在上一篇博文中,主要是讲了InfluxDB的配置,博文链接:https://www.cnblogs.com/hong-fithing/p/14453695.html,今天来分享下Jmeter的配置. ...

随机推荐

  1. MapReduce: Simplified Data Processing on Large Clusters 翻译和理解

    MapReduce: Simplified Data Processing on Large Clusters 概述 MapReduce 是一种编程模型,用于处理和生成大型数据集的相应实现.用户定义一 ...

  2. wordpress在线检测主题和插件

    http://wpthemedetector.coderschool.cn/ http://www.wpthemedetector.com/ http://whatwpthemeisthat.com ...

  3. 17调试经验之串口读写flash协议

    一是设计功能 我的理解协议就是一个命令包,通过给出不同的控制命令,来调动不同的功能模块,实现不同的功能,如读数据,写数据,擦除等. 二设计过程 先看了尤老师的视频,主要讲了大致设计原理和总体框架,当然 ...

  4. Rabbit MQ 怎么保证可靠性、幂等性、消费顺序?

    RabbitMQ如何保证消息的可靠性 RabbitMQ消息丢失的三种情况 生产者弄丢消息时的解决方法 方法一:生产者在发送数据之前开启RabbitMQ的事务(采用该种方法由于事务机制,会导致吞吐量下降 ...

  5. 解决Idea.exe无法启动问题(idea2017.3版本)

    问题: 最近在用idea时,突然弹出了以下消息框(图片不是我的): 将Xmx的值调大以后,idea还是闪退了.并且再点击idea.exe时,idea已经木有反映了,无法启动. 解决方案: 方案一(失败 ...

  6. 如何在网上找MySQL数据库的JDBC驱动jar包?

    当我们在开发程序,涉及数据库时,总是需要用到相应的jar包,这不小编就给大家介绍一下如何下载相应的jar包 方法/步骤   1 在百度搜索栏上搜索MySQL 2 选择Downloads 3 选择 Co ...

  7. ApplicationContext通常的实现是什么?

    FileSystemXmlApplicationContext :此容器从一个XML文件中加载beans的定义,XML Bean 配置文件的全路径名必须提供给它的构造函数. ClassPathXmlA ...

  8. 一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 MySQL 数据库,又插入了一条数据,此时 id 是几?如何获取当前数据库版本?

    一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 MySQL 数据库,又插入了一条数据,此时 id 是几? 一般情况下,我们创建的表的类型是InnoDB,如果新增一条记录(不重启mysq ...

  9. JVM的基础知识

    一.JVM的基础知识 1.JVM内存结构: 1.JVM堆内存结构: 2.JVM内存分配: 3.Java的堆机构和垃圾回收: 4.Jvm堆内存配置参数: 5.JVM新生代概念和配置: 6.JVM老生代概 ...

  10. 运筹学之"概率"和"累计概率"和"谁随机数"

    概率 = 2/50 = 0.2 累计概率 = 上个概率加本次概率 案例1 概率=销量天数 / 天数 = 2 /100 = 0.02 累计概率 = 上个概率加本次概率 = 0.02 +0.03 = 0. ...