7

借助Docker搭建JMeter+Grafana+Influxdb监控平台

 3 years ago
source link: https://www.daqianduan.com/21034.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

我们都知道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,创建可视化看板,并实时获取到测试指标数据。

M3IF73.png

安装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”

vayi6r.png

yaiaie.png

进入后添加数据库

FJryim.png

RZzYvi.png

进入后对数据库进行配置

beQr6z.png

保存并且测试

FbAFnq.png

配置展示模板

模板比较丰富,可以预览进行查看,选择合适的进行下载

下载地址: https://grafana.com/grafana/dashboards

immiqa.png

下载json文件

QZBFbq.png

准备导入

RVrYNf.png

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

iUNnAz.png

设置完成后进入面板

z6rIzy.png

在此可设置刷新频率

Bnq2Av.png

配置Jmeter

创建Jmeter脚本。

jAvuEr.png

设置后端监听器

3ErY3a.png

运行脚本后可查看结果

uQFvme.png

#感谢您访问本站#
#本文转载自互联网,若侵权,请联系删除,谢谢!657271#qq.com#

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK