借助Docker搭建JMeter+Grafana+Influxdb监控平台的详细教程

 更新时间:2021年01月15日 09:35:31   作者:Tynam.Yang  
这篇文章主要介绍了借助Docker搭建JMeter+Grafana+Influxdb监控平台,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

我们都知道Jmeter提供了原生的结果查看,既然有原生的查看结果,为什么还要多此一举使用其他工具进行查看呢,除了查看内容丰富外还有最主要的原因:
Jmeter提供的查看结果插件本身是比较消耗性能的,所以在正式压测中应当禁用。但是我们又需要在脚本运行时实时查看结果,这时就需要借助外在工具实现。
除此之外,在真实压测过程中还需要注意Jmeter图形化模式只适合调试使用,不要进行压测。图形化的压测方式会消耗较多的客户端性能,在压测过程中容易因为客户端问题导致内存溢出。官方也给出了提示通过命令行执行。执行命令:

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

influx
show databases;
create database jmeter;
show databases;
use jmeter;
select * from jmeter;
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脚本。

设置后端监听器

运行脚本后可查看结果

到此这篇关于借助Docker搭建JMeter+Grafana+Influxdb监控平台的文章就介绍到这了,更多相关Docker搭建JMeter+Grafana+Influxdb监控平台内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker新手初探之常用命令实践记录

    Docker新手初探之常用命令实践记录

    这篇文章主要给大家介绍了关于Docker新手初探之常用命令实践的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2020-08-08
  • 详解Docker 配置国内免费registry mirror

    详解Docker 配置国内免费registry mirror

    本篇文章主要介绍了 Docker 配置国内免费registry mirror,具有一定的参考价值,有兴趣的小伙伴们可以参考一下
    2017-07-07
  • docker部署mysql 9.0.1的实现

    docker部署mysql 9.0.1的实现

    本文主要介绍了docker部署mysql 9.0.1的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-02-02
  • docker安装jenkins的过程并配置jdk、node和maven

    docker安装jenkins的过程并配置jdk、node和maven

    本文介绍了如何从拉取Jenkins镜像开始,通过创建文件夹、准备JDK、Maven和Node环境,修改settings.xml支持http协议,到建立Dockerfile进行Jenkins镜像的二次打包,同时涉及容器的运行、Jenkins初始化设置、插件安装和环境变量配置等步骤,帮助用户成功部署并运行Jenkins服务
    2024-10-10
  • Docker构建Java镜像并部署Java项目的完整步骤

    Docker构建Java镜像并部署Java项目的完整步骤

    这篇文章主要给大家介绍了关于Docker构建Java镜像并部署Java项目的完整步骤,Docker是一种容器化技术,可以帮助开发者轻松打包应用程序和依赖项,并在任何地方运行它们,需要的朋友可以参考下
    2023-10-10
  • Docker部署Laravel应用的实现示例

    Docker部署Laravel应用的实现示例

    这篇文章主要介绍了Docker部署Laravel应用的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • docker使用jdk21启动jar包报错的解决方案

    docker使用jdk21启动jar包报错的解决方案

    这篇文章主要介绍了docker使用jdk21启动jar包报错的解决方案,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-07-07
  • ps命令在docker容器不存在的问题

    ps命令在docker容器不存在的问题

    这篇文章主要介绍了ps命令在docker容器不存在的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • idea + Docker + 阿里镜像服务打包部署的过程

    idea + Docker + 阿里镜像服务打包部署的过程

    本文介绍了如何在IDEA中使用Docker打包镜像,并将镜像推送到阿里云镜像服务,同时,还详细说明了如何在ECS服务器上安装和配置Docker,并提供了常用的Docker命令和操作技巧,感兴趣的朋友一起看看吧
    2025-02-02
  • Dockerfile 部署java web的环境详解

    Dockerfile 部署java web的环境详解

    这篇文章主要介绍了Dockerfile 构建java web 环境详解的相关资料,这里对Dockerfile 进行基本介绍,并说明如何构建java web环境进行详解,需要的朋友可以参考下
    2016-12-12

最新评论