51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4528|回复: 0
打印 上一主题 下一主题

[转贴] 借助Docker搭建JMeter+Grafana+Influxdb监控平台

[复制链接]
  • TA的每日心情
    擦汗
    5 天前
  • 签到天数: 1027 天

    连续签到: 2 天

    [LV.10]测试总司令

    跳转到指定楼层
    1#
    发表于 2021-6-24 10:12:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    我们都知道Jmeter提供了原生的结果查看,既然有原生的查看结果,为什么还要多此一举使用其他工具进行查看呢,除了查看内容丰富外还有最主要的原因:
      Jmeter提供的查看结果插件本身是比较消耗性能的,所以在正式压测中应当禁用。但是我们又需要在脚本运行时实时查看结果,这时就需要借助外在工具实现。
      除此之外,在真实压测过程中还需要注意Jmeter图形化模式只适合调试使用,不要进行压测。图形化的压测方式会消耗较多的客户端性能,在压测过程中容易因为客户端问题导致内存溢出。官方也给出了提示通过命令行执行。执行命令:
    1. jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
    复制代码
    -n 表示在非 GUI 模式下运行 JMeter;
      -t 表示要运行的 JMeter 测试脚本文件,一般是 jmx 结尾的文件;
      -l 表示记录结果的文件,默认以 jtl 结尾;
      -e 表示测试完成后生成测试报表;
      -o 表示指定的生成结果文件夹位置。
      实现原理
      接下来详解借助 docker 使用 InfluxDB 和 Grafana 搭建性能可视化监控平台。
      InfluxDB概念:InfluxDB是一款用Go语言编写的开源分布式时序、事件和指标数据库,无需外部依赖。该数据库现在主要用于存储涉及大量的时间戳数据,如DevOps监控数据,APP metrics, loT传感器数据和实时分析数据。
      InfluxDB概念特点:
      · 无结构(无模式):可以是任意数量的列;
      · 可以设置metric的保存时间;
      · 支持与时间有关的相关函数(如min、max、sum、count、mean、median等),方便统计;
      · 支持存储策略:可以用于数据的删改。(influxDB没有提供数据的删除与修改方法);
      · 支持连续查询:是数据库中自动定时启动的一组语句,和存储策略搭配可以降低InfluxDB的系统占用量;
      · 原生的HTTP支持,内置HTTP API;
      · 支持类似sql语法;
      · 支持设置数据在集群中的副本数;
      · 支持定期采样数据,写入另外的measurement,方便分粒度存储数据。
      Grafana概念:一个开源软件,拥有丰富的指标仪表盘和图形编辑器,适用Graphite, Elasticsearch, OpenTSDB, Prometheus,InfluxDB。简单点说就是一套开源WEB可视化平台。
      JMeter引入Backend Listener将在压测过程中实时发送统计指标数据发送到Influxdb数据库,Grafana(开源的WEB可视化看板)数据源连接到Influxdb,创建可视化看板,并实时获取到测试指标数据。

      安装InfluxDB
      docker 下进行安装
      拉取influxdb镜像:docker pull influxdb
      运行influxdb容器:docker run --name my_influxdb -p 8086:8086 influxdb
      进入容器:docker exec -it 容器id /bin/bash
      创建数据库 jmeter
    1.  influx
    2.   show databases;
    3.   create database jmeter;
    4.   show databases;
    5.   use jmeter;
    6.   select * from jmeter;
    7.   exit;
    复制代码

    安装Grafana
      拉取grafana镜像:docker pull grafana/grafana
      运行容器:docker run --name my_grafana -p 3000:3000 grafana/grafana
      访问grafana:http://ip:3000
      用户名与密码都是"admin"

      进入后添加数据库


      进入后对数据库进行配置

      保存并且测试

      配置展示模板
      模板比较丰富,可以预览进行查看,选择合适的进行下载
      下载地址:https://grafana.com/grafana/dashboards

      下载json文件

      准备导入

      将下载下来的json文件导入之后即可。

      设置完成后进入面板

      在此可设置刷新频率

      配置Jmeter
      创建Jmeter脚本

      设置后端监听器

      运行脚本后可查看结果





    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-10-5 05:22 , Processed in 0.070804 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表