基于Docker 部署Jmeter + Grafana + InfluxDB 性能测试监控配置(亲测可用)

工具介绍:

InfluxDB:是一款用Go语言编写的开源分布式时序、事件和指标数据库,无需外部依赖。该数据库现在主要用于存储涉及大量的时间戳数据,如DevOps监控数据,APP metrics, loT传感器数据和实时分析数据。时间序列数据库:时间序列是随时间变化采集的数据序列。时序数据库是处理时间序列数据的软件应用程序。想象它就像一个sql表,其中时间是主键!

官方网址:https://www.influxdata.com

Grafana是一个开源软件,拥有丰富的指标仪表盘和图形编辑器,适用Graphite, Elasticsearch, OpenTSDB, Prometheus,InfluxDB。简单点说就是一套开源WEB可视化平台。

官方网址:https://grafana.com

 

从这个几个问题出发

  1. 这是什么,Jmeter 一款性能测试工具,InfluxDB时序存储数据库 Grafana监控面板

  2. 给谁用,当然给测试人员使用,在内部团队中推广起来

  3. 为什么用,比Jmeter原生的报告美观,可以实时观察,监控

  4. 怎么用,看安装及使用

准备工作:

  1. Linux 系统 CentOS

  2. 已经安装好 Docker version 19.03.3

  3. 已经安装好 Jmeter 5.1版本,配置 Jmeter插件包 装好 中文 后端监听器,英文:Backend Listener插件

安装:

    jmeter 可以去官网下载   
    http://jmeter.apache.org/download_jmeter.cgi

Docker 环境安装,配置镜像加速,镜像加速提升容器镜像下载的速度

https://yeasy.gitbooks.io/docker_practice/content/install/

或者访问官方网站

Docker 安装命令写到 shell 命令中,新建文件名 jmeterGra.sh 

 $ docker run -d -p 8086:8086 -p 8083:8083 --name=jmeterdb tutum/influxdb

 $ docker run -d -p 3000:3000 --name=jmeterGraf grafana/grafana

docker 命令

run 运行容器

-d 指在后台运行

-p 8086:8086  暴露端口,宿主机(可以理解为主机的)端口:容器端口

-- name 容器的名字

tutum/influxdb  为镜像的名称

这里 InfluxDb 会暴露两个端口,8086 提供给 Grafana 使用。8083 提供给InfluxDB web服务使用

已经安装好 InfluxDB Grafana 镜像

#查看镜像

docker images 

#查看正在运行的容器

 $ docker ps

访问InfluxDB ip+8083 端口

# 创建数据库命令,名字为 jmeter
CREATE DATABASE "jmeter"
# 查看所有数据库
SHOW DATABASES

#查看数据库表结构

show measurements

访问 Grafana ip+3000端口,初始账号密码都是 admin,可以跳过修改密码

  • Grafana配置

选择 InfluxDB 

Grafana 创建监控面板,这里使用官网提供的监控面板 ID 5496
官网  https://grafana.com/grafana/dashboards,搜索jmeter

导入 Grafana 面板的 jmeter ID

就可以看到漂亮的Grafana 监控 jmeter 资源面板了

接下来配置 Jmeter 的 Backend Listener 插件

线程组-->添加-->监听器--> 后端监听器

启动Jmeter 压测,配置5个线程数

可以去Grafana 刷新页面,查看监控信息

通过Docker 服务来搭建 InfluxDB Grafana 监控是比较容易的,只需要配置一些 数据库链接方式,以及数据源,如果使用软件安装的方式,软件很多的地方需要自己去配置。使用Docker 来搭建环境,很方便,可以及时的去监控到 Jmeter 发出去的请求,以前还需要使用Jmeter 自带插件查看报告。切换到 Grafana 就直接在网站上查询就可以了

原文地址:https://www.cnblogs.com/shen-qiang/p/11826312.html