zoukankan      html  css  js  c++  java
  • 3种方式:JMeter+Grafana+Influxdb搭建可视化性能测试监控平台

    用jmeter的朋友越来越多了,毕竟开源、免费、轻量,而且功能、自动化、性能,都能做,

    最近不少朋友问JMeter+Grafana+Influxdb可视化性能测试监控平台搭建的问题,虽然网上资料不少,但是有些是错的;

    so,抽时间总结了常用的3种搭建方式,供大家参考;

    方式一:运行自定义镜像

    方式二:docker方式安装

    方式三:rpm包方式安装

    建议通过云服务器来练习:https://www.cnblogs.com/uncleyong/p/12694334.html

    方式一:运行自定义镜像

    镜像方式可以快速部署到不同的环境上搭建可视化性能测试监控平台,我们也可以自定义镜像,参考:https://www.cnblogs.com/uncleyong/p/8894133.html

    我已经自定义好了镜像,大家直接pull下来,按如下方式操作即可;如果打镜像或者运行过程中有问题,欢迎进Q群交流;

    下面我简单介绍下pull下来如何使用。

    拉取:docker pull registry.cn-hangzhou.aliyuncs.com/qzcsbj/qzcsbj-influxdb_grafana:v1.0

    运行容器:docker run -tid --name qzcsbj-influxdb_grafana -p 4000:3000  -p 9086:8086 --privileged=true 9756039ba6b4 /sbin/init

    已经创建了数据库jemter,如果你要重新创建,进入容器:docker exec -it qzcsbj-influxdb_grafana /bin/bash

    influx
    show databases;
    create database jmeter;
    show databases;
    use xxx;
    exit;

    访问grafana:http://ip:4000,登录:admin/admin

     

     跳过

    添加数据源

     

    选择数据源为InfluxDB

     

    配置

    配置数据写库的频率

     

     测试数据源是否ok

     

     成功

     

     可以修改数据源

    下载模板

    https://grafana.com/grafana/dashboards

    搜索

    或者直接访问:https://grafana.com/grafana/dashboards?dataSource=influxdb&direction=asc&orderBy=name&search=jmeter

    导入json模板:

     

    修改为下面配置,然后点击“Import”

      

     

     

     修改模板

    可以删除

     下面展示的不是我们设置的值,是定义描述

    so,如果要修改,建议删除后,重新导入模板,修改参数值

    jmeter压测效果展示

    jmeter脚本

    效果图:

    示例配置2:

    summaryOnly:线程组有多个请求,展示明细,值改为false 

    transaction勾选HTTP请求1

    因为上面transaction勾选的HTTP请求1

    模板还很多配置,感兴趣的可以深入研究下。 

    方式二:docker方式安装

    和方式一类似,只是你需要自己拉取多个镜像

    建议通过云服务器来练习:https://www.cnblogs.com/uncleyong/p/12694334.html

    前提:

      安装docker,参考:https://www.cnblogs.com/uncleyong/p/8894133.html

    安装influxdb

    搜索influx:docker search influx

    拉取influxdb镜像:docker pull influxdb

    运行influxdb容器:docker run --name my_influxdb -p 8086:8086 influxdb

    进入容器:docker exec -it 容器id /bin/bash

    创建数据库jmeter

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

      

    安装grafana

    搜索grafana:docker search grafana

    拉取grafana镜像:docker pull grafana/grafana

    运行容器:docker run --name my_grafana -p 3000:3000 grafana/grafana

    配置

    (请参考方式一的截图)

    访问grafana:http://ip:3000 

    登录:admin/admin 

    添加、配置、测试数据源

    下载模板:https://grafana.com/grafana/dashboards?dataSource=influxdb&direction=asc&orderBy=name&search=jmeter

    导入json模板

    jmeter压测效果展示

    (请参考方式一的截图)

    jmeter脚本

    效果图

    方式三:rpm包方式安装

    influxdb下载、安装、配置、启动

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

    下载:wget https://dl.influxdata.com/influxdb/releases/influxdb-1.7.1.x86_64.rpm 

    安装:yum localinstall influxdb-1.7.1.x86_64.rpm

    配置:vim /etc/influxdb/influxdb.conf,搜索:graphite

    /graphite

    改为:

    2003是jmeter往数据库发数据的端口

    注意,后端监听器要用下面这个,才配置上面

    启动:systemctl start influxdb

    查看状态:systemctl status influxdb.service

    查看服务,默认启动了三个端口,分别是:8088,2003,8086 

    其中,我们要用到的8086是Grafana从数据库获取数据的端口

    下面也可以配置数据库认证

    命令行方式进入数据库

    创建数据库jmeter

    再创建一个jmeter2

    查看创建的数据库

    查询数据

    创建jmeter脚本

      

    influxdbUrl :http://ip:8086/write?db=jmeter

    ip写安装influxdb服务的ip地址+端口

    db指定数据库jmeter

    application名称自定义,后面grafana会用到

    jmeter中添加请求运行, 执行的数据就会记录到influxDB

    下面脚本运行一次

    有数据就说明jmeter入库成功。 

    Grafana下载、安装、配置

    下载:官网https://grafana.com/,或者用命令下载:wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana-4.6.3-1.x86_64.rpm

    安装:yum localinstall grafana-4.6.3-1.x86_64.rpm

    配置:vim /etc/grafana/grafana.ini

    端口默认是3000

    启动:systemctl start grafana-server,或者systemctl start grafana-server.service

    查看状态:systemctl status grafana-server,或者systemctl status grafana-server.service

    浏览器访问Grafana首页:ip:3000,账号/密码默认是admin/admin

    创建用户

    输入用户名、邮箱、登录名、登录密码

    如果这个账号登录,test/test,下面展示用户名

    再创建一个用户:qzcsbj2

    账号密码:test2/test2

    配置数据源 

    创建用户qzcsbj的数据源,名称就用用户名,对应的数据库是jmeter

    创建用户qzcsbj2的数据源,名称就用用户名,对应的数据库是jmeter2

    为qzcsbj用户添加模板

    导入模板

    下载模板:https://grafana.com/grafana/dashboards?dataSource=influxdb

    https://grafana.com/grafana/dashboards?dataSource=influxdb&search=jmeter

    复制id5496

    填写模板id:5496,然后点击“Load”

    选择数据源

    可以看到我们创建的两个数据源

    选择第一个数据源,另外,下面间隔时间可以改为1s

    但是,并没有显示模板(暂时怀疑是版本问题)

    不要的可以删除

    4026

    为qzcsbj2用户添加模板

    jmeter2为数据库

    用户qzcsbj的脚本,5u5min

    用户qzcsbj2的脚本,3u5min

    下面jmeter2不是数据,是添加模板的measurement名称,需要匹配

    先把数据库jmeter和jmeter2的数据清了,然后上面两份脚本分别发一笔请求 

    下面jmeter是measurement名称

    下面jmeter2是measurement名称

    第一份脚本场景是:5u5min

    第一份脚本场景是:3u5min

    运行完成后,

    用户qzcsbj看到的

    聚合报告845笔,加上最刚刚发的1笔,总共就是846

    用户qzcsbj2看到的

    聚合报告509笔,加上最刚刚发的1笔,总共就是510

    自定义

    点击【Graph】

    点击【Edit】

    修改名称

    选择数据库

    总结

    其实,很多测试朋友喜欢这个监控,是因为炫酷,可以在领导面前装逼,出个很炫的报告,

    我觉得真正性能监控分析,用这个没啥卵用(个人观点,只能做一个全局的监控,看到的都是表象,其实,我用命令也都能看到这些指标,最终都是需要定向监控分析,找出问题),

    总之我不喜欢用,喜欢原生的命令监控,so,模板配置,感兴趣的自己研究下,之所以写这篇,也是总结下大家的疑问,

    当然,如果你出去面试,可以把这个拿出去吹一下,毕竟工作不好找。

    有朋友问我用的什么监控?

    根据项目技术架构,如果是微服务,公司有类似skywalking的链路级监控平台;非微服务,我个人喜欢用命令或者写shell;

    还是那句话:没有绝对的好与不好,做性能,能发现性能瓶颈就好,能保证稳定运行就ok。

  • 相关阅读:
    AcWing 199. 余数之和
    AcWing 295. 清理班次
    AcWing 294. 计算重复
    Acwing 393. 雇佣收银员
    AcWing 362. 区间
    AcWing 361. 观光奶牛
    CSP-S 2019 Emiya 家今天的饭
    CSP-S 2019游记
    AcWing 345. 牛站 Cow Relays
    java 环境配置
  • 原文地址:https://www.cnblogs.com/uncleyong/p/11885192.html
Copyright © 2011-2022 走看看