当前位置: 代码迷 >> 综合 >> Jmeter+Grafana+Influxdb可视化性能监控平台搭建:让压测实时的“酷炫”起来
  详细解决方案

Jmeter+Grafana+Influxdb可视化性能监控平台搭建:让压测实时的“酷炫”起来

热度:33   发布时间:2023-11-22 02:37:50.0

目录

    • 一、前言
        • 1.1 三种查看测试结果方式
        • 1.2 需求及原理
    • 二、Influx安装及配置
        • 2.1 Docker安装Influx
        • 2.2 创建数据库
    • 三、Grafana安装及配置
        • 2.1 Docker安装Grafana
        • 2.2 Grafana配置influx
        • 2.3 Grafana使用模板文件创建仪表盘
    • 四、Jmeter配置及压测效果
        • 4.1 添加监听器
        • 4.2 效果显示
    • 五、写在最后

一、前言

1.1 三种查看测试结果方式

在使用Jmeter性能测试的时候,我们一般有三种查看性能测试结果的方式。分别为控制台查看结果使用插件查看结果生成HTML查看结果

  • 控制台:通过修改Jmeter相关配置,并使用命令运行脚本并实时查看压测结果。参考链接
    图片来自高楼老师-性能测试30讲课程
  • 插件:在GUI图形化界面运行脚本时,通过添加相关插件,查看结果变化趋势。参考链接:jp-gc系列监听器
    图片来自高楼老师-性能测试30讲课程
  • HTML报告:通过jmeter命令执行测试时,加上-o HTML路径方式,生成性能测试的HTML报告。参考链接:我的这篇博客最后一部分
    在这里插入图片描述

  这三种方式都可以用来统计性能测试的结果。但对于性能测试结果而言,我们最多只需要关注三条曲线的数据:TPS响应时间错误率
  且上面这三种方法以下几点问题:
(1)整理数据结果比较浪费时间,且结果保存后后续查看还有一个个找。
(2)GUI使用插件查看数据,做高并发不合适,且一般不建议使用GUI方式去进行测试。
(3)如果场景运行时间比较长,使用HTML生成报告的方式会消耗过多的内存,且生成的报告中,有很多图片不是我们关注的。

1.2 需求及原理

由于上面三种方式都存在或多或少的问题。所以出现了Jemter+Granafa+Influxdb性能监控的方式。它们各自负责对应的作用

  • Jemter:压测脚本中添加Backend Listener的监听器,在Jmeter脚本对服务器进行压测的同时,统计下TPS、相应时间等数据。然后通过Backend Listener监听器将统计数据异步的传送Influxdb数据库中
  • Influxdb:一种时序数据库,这里用来存储Jmeter发送过来的数据
  • Granafa:一种可视化监控工具,在其中配置好Influxdb数据库信息后,这里最后用来展示性能测试结果信息。
    在这里插入图片描述

二、Influx安装及配置

这里安装Influx和Grafana都是通过Docker安装的,关于Docker的安装,可以参考我的这篇博客的前面一部分:Docker安装Jenkins,它不香吗?

2.1 Docker安装Influx

  • 查看并拉取镜像
    ##查看镜像
    docker search influx
    ## 根据镜像名称拉取镜像
    docker pull influxdb
    
  • 运行镜像并生成容器
    docker run --name my_influxdb -p 8086:8086 -v /home/influxdb:/var/influxdb influxdb
    
    在这里插入图片描述
  • 验证容器是否生成成功
    ## 查看正在运行的Docker容器
    docker ps
    
    可以用个http://服务器IP:端口号查看是否访问无问题。
    在这里插入图片描述

2.2 创建数据库

  • 创建步骤如下
    ##进入Influxdb的Docker容器内
    docker exec -it 容器id /bin/bash
    ##打开influx
    influx
    ##查看数据库并创建jmeter数据库
    show databases;
    create database jmeter;
    show databases;
    use jmeter;
    select * from jmeter;
    exit;
    
    在这里插入图片描述

三、Grafana安装及配置

2.1 Docker安装Grafana

  • 查看并拉取镜像
    ##查看镜像
    docker search grafana
    ## 根据镜像名称拉取镜像
    docker pull grafana/grafana
    
  • 运行镜像并生成容器
    docker run --name my_grafana -p 3000:3000  grafana/grafana
    
    在这里插入图片描述

2.2 Grafana配置influx

  • 访问Grafana:访问网址为 http://ip:端口,登录用户名和密码都为admin
    在这里插入图片描述
  • 添加数据源,并选择InfluxDB
    在这里插入图片描述
    在这里插入图片描述
  • 配置InfluxDB相关数据
    在这里插入图片描述
    在这里插入图片描述

2.3 Grafana使用模板文件创建仪表盘

  • 下载模板:访问链接下载模板文件,下载的模板文件官网:https://grafana.com/grafana/dashboards
    在这里插入图片描述
    在这里插入图片描述
  • 导入模板:点击+号->Import->upload .json file,选择下载好的模板文件。
    在这里插入图片描述
    在这里插入图片描述
  • 最后效果,点击Import之后,显示的仪表盘界面如下,并设置自动刷新时间
    在这里插入图片描述

四、Jmeter配置及压测效果

4.1 添加监听器

  • 测试计划->添加监听器->后端监听器
    在这里插入图片描述
  • 配置监听器
    在这里插入图片描述

4.2 效果显示

  • 启动Jemter脚本进行压测,压测的相关结果就会显示在Grafana上。
    在这里插入图片描述

五、写在最后

学习该内容中的参考链接:
(1)3种方式:JMeter+Grafana+Influxdb搭建可视化性能测试监控平台
(2)16丨案例:性能监控工具之Grafana+Prometheus+Exporters