jmeter 5.5+influxdb 2.0+grafana v9.3.2 - 压测看板setup

news2024/10/9 8:30:22

Docker set up

  1. 安装docker应用
    https://docs.docker.com/desktop/install/mac-install/,在官网下载docker安装包,和安装其他的mac应用是一样的操作。
    在这里插入图片描述
  2. 设置国内的镜像仓库(拉取镜像会快很多)
{
 "registry-mirrors": [
   "https://dockerproxy.com",
   "https://hub-mirror.c.163.com",
   "https://mirror.baidubce.com",
   "https://ccr.ccs.tencentyun.com",
 ]
}

在这里插入图片描述

influxDB set up

docker官方文档:https://hub.docker.com/_/influxdb/

  1. 拉取镜像文件,使用docker pull influxdb命令
    在这里插入图片描述
  2. 将influxdb2.0版本的config写入到宿主机当前目录下的config.yml文件中
    docker run --rm influxdb:2.0 influxd print-config > config.yml
  3. 使用宿主机文件目录下的config启动influxdb2.0版本,将数据持久化到宿主机当前目录下的data文件夹中
docker run -d -p 8086:8086 \
      -v $PWD/data:/var/lib/influxdb2 \
      -v $PWD/config:/etc/influxdb2 \
      -e DOCKER_INFLUXDB_INIT_MODE=setup \
      -e DOCKER_INFLUXDB_INIT_USERNAME=my-user \
      -e DOCKER_INFLUXDB_INIT_PASSWORD=my-password \
      -e DOCKER_INFLUXDB_INIT_ORG=my-org \
      -e DOCKER_INFLUXDB_INIT_BUCKET=my-bucket \
      -e INFLUXDB_DB=jmeter \
      influxdb:2.0

在这里插入图片描述

  1. 打开浏览器localhost:8086,检查服务是否正常启动,可使用my-user/my-password 进行登陆。
    在这里插入图片描述

  2. 获取到my-user的token,后续要用在jmeter的监听器配置和grafana的数据源配置中。
    在这里插入图片描述
    在这里插入图片描述

  3. 获取到bucket的id,后续要用在influxdb client的配置中。
    在这里插入图片描述

jmeter first running

  1. 准备测试的接口
  2. 添加backend监听器
  3. 具体设置如下图
    influxdbUrl使用宿主机ip+8086端口;
    db=jmeter指的是数据库名称,org=my-org,bucket=my-bucket,都是在启动influxdb的时候设置的名称;
    measurement指的是表的名称;
    influxdbToken是需要我们手动新增的一个参数,使用influxdb中my-user的token即可
    在这里插入图片描述
  4. 运行jmeter,会发现请求都是成功的,但是日志表明写入influxdb异常
    ERROR o.a.j.v.b.i.HttpMetricsSender: Error writing metrics to influxDB Url: http://192.168.60.242:8086/write?db=jmeter&org=my-org&bucket=my-bucket, responseCode: 401, responseBody: {“code”:“unauthorized”,“message”:“Unauthorized”}

我们可以通过安装influxdb client来解决此问题!

influxdb client set up

我们可以通过安装influxdb client来解决jmeter influx监听器无法向influxdb写入数据的问题

  1. 进入到influxdb的容器中,获取client的安装包
    wget https://dl.influxdata.com/influxdb/releases/influxdb2-client-2.4.0-linux-amd64.tar.gz
    在这里插入图片描述

  2. 解压安装包
    tar -xzvf influxdb2-client-2.4.0-linux-amd64.tar.gz在这里插入图片描述

  3. 创建influx client的配置,使其能够与influxdb连接成功(这里使用到influxdb中的token、org)
    influx config create -n influxdb-cli-config -u http://127.0.0.1:8086 -o my-org -t 7FlFxXV1LVKu21o7fmDFID6LLBB9A92VVACeAApBAL4tuJVY0D0j_0laaE7aUowAKiEUGe_4rTl-oSU4J7CcEg== -a
    在这里插入图片描述

  4. 创建库(这里使用到influxdb中的bucketId和DB名称jmeter)
    ./influx v1 dbrp create --db jmeter --rp jmeter --bucket-id afad123096ce5a98 --default
    在这里插入图片描述

jmeter running again

在配置好了influxdb client之后,再次尝试运行jmeter脚本,这次不再报错了,我们可以通过curl查询influxdb中的数据,脚本如下(记得替换ip和token)
在这里插入图片描述

curl --get http://192.168.60.242:8086/query \
--header "Authorization: Token fASVB9QFnVJ7fxgLbGXpmmS01Cs8rV0j_r_8jvZklLxRlp4hQMGYmXL5MZBheqoLNtPiMahpHvz4jizyo-jAuw==" \
--data-urlencode "q=select * from jmeter.jmeter.jmeter order by time desc limit 10;"

在这里插入图片描述

another fantastic backend listener

后面改成使用这个RawBackendListener,也发现行得通(在网上搜了下,说这个raw的监听器是用来适配2.x版本的influxdb的,上面那个是用来适配1.x版本的)

在这里插入图片描述

grafana set up

注意点:
grafana上要填写本机的ip地址,比如http://192.168.60.242:8086,不能使用localhost或者127.0.0.1。

在这里插入图片描述
第一次尝试用编号为5496的模板,数据显示不出来,都是感叹号。
在这里插入图片描述

后面在官网上搜索了influxdb2(https://grafana.com/grafana/dashboards/?search=influxdb2),依旧是不展示数据
在这里插入图片描述

在网上搜啊搜,搜到了解决方案

  1. 升级了jdk,从8升级到11
  2. 下载了jmeter-influxdb2的插件,我用的是版本2.6,放到jmeter的lib/ext文件夹中,重启jmeter(https://github.com/mderevyankoaqa/jmeter-influxdb2-listener-plugin/releases)
  3. 如图所示,有了influxdb2的listener,选中它
    在这里插入图片描述
  4. 编辑参数,主要是url、token、org、bucket
    在这里插入图片描述
  5. 执行jmeter,查看grafana的influxdb2 dashborad,终于成了~
    在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/135796.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

叠氮-聚乙二醇-羧酸;叠氮-单乙二醇-丙酸Azido-PEG1-acid;1393330-34-1小分子PEG衍生物

Azido-PEG1-acid 中文名称:叠氮-聚乙二醇-羧酸;叠氮-单乙二醇-丙酸 英文名称:Azido-PEG1-acid; 分子式:C5H9N3O3 分子量 :159.1 CAS:1393330-34-1 外观:粘稠液体或者固体粉末&#…

SHA和AES加密+GUI Swing写的一个本地运行和保存的密码管理小工具

目录效果项目结构功能1、登录2、加密3、解密4、列表代码1、先准备好两种加密方式的工具类SHAUtilAESUtil2、登录窗口3、主页窗口(加密和解密面板)4、主页窗口(列表面板)5、主程序(main)最后通过SHA和AES加密…

TestStand-序列步骤属性

文章目录GeneralRun OptionLoopingPost ActionSwitchingSynchronizationExpressionPreconditionsRequirementAdditional ResultPropertyCtrl-N创建一个新的Sequence,通过右键创建任意步骤 General Name -步骤的名称。 Type -步骤类型。一般不需要设置。 Adapter-适…

Android Kotlin之协程-异步流Flow的使用

数据流以协程为基础构建,与仅返回单个值的挂起函数相反,数据流可按顺序发出多个值。从概念上来讲,数据流是可通过异步方式进行计算处理的一组数据序列。所发出值的类型必须相同。 数据流包含三个实体: 提供方会生成添加到数据流…

信息安全技术 政务信息共享 数据安全技术要求

声明 本文是学习GB-T 39477-2020 信息安全技术 政务信息共享 数据安全技术要求. 下载地址 http://github5.com/view/790而整理的学习笔记,分享出来希望更多人受益,如果存在侵权请及时联系我们 政务信息共享 数据安全 范围 本标准提出了政务信息共享数据安全要求技术框架&…

2023年工作第一天心情感悟

我是卢松松,点点上面的头像,欢迎关注我哦! 今天是2023年1月3日,也是我们上班的第一天。今天这篇随记,也发表下我对2023年的看法,也对过去的2022年做过总结。 (2023年元旦,到门头沟…

Spring之ApplicationContext快速入门

目录 一:概述 二:代码演示 三:BeanFactory与ApplicationContext的关系 四:BeanFactory的继承体系 五:ApplicationContext的继承体系 一:概述 ApplicationContext称为Spring容器, 内部封装了…

面试官:能用JavaScript手写一个bind函数吗

经常会看到网上各种手写bind的教程,下面是我在自己实现手写bind的过程中遇到的问题与思考。如果对于如何实现一个手写bind还有疑惑的话,那么可以先看看上面两篇文章。 手写bind vs 原生bind 我们先使用一个典型的手写bind的例子,代码如下&a…

PHP命令执行的函数

在做面试题的时候发现,自己对PHP命令执行的函数的了解并不是很全面,就想这去学习一下。我也在网上找到了许多的资料,在这里我就相当于一个总结吧。 system(); System()函数的主要功能是在系统权限允许的情况是执行系统命令,windows系统和Lin…

【服务器数据恢复】EMC存储Zfs文件系统下raid5数据恢复案例

服务器存储数据恢复环境: 某公司一台EMC存储,12块硬盘组成raid5,2块热备盘; Zfs文件系统。 服务器存储故障: 硬盘故障导致存储崩溃。 服务器存储数据恢复过程: 1、对故障存储所有硬盘进行物理故障检测&…

详细软件著作权的申请

一,申请注册账号并进行实名认证 在中国版权保护中心官网注册账号。 我是自己申请的所以选择的个人,这里根据实际情况进行选择后注册。 注册后进行实名认证(3-7个工作日人工会进行审核,所以每个著作权人都要提前注册并进行实名认证…

论文投稿指南——中文核心期刊推荐(地球物理学)

【前言】 🚀 想发论文怎么办?手把手教你论文如何投稿!那么,首先要搞懂投稿目标——论文期刊 🎄 在期刊论文的分布中,存在一种普遍现象:即对于某一特定的学科或专业来说,少数期刊所含…

【电商】电商后台---商品上架前的最后准备

电商后台相关模块进行维护后,离商品上架越来越近。 在供应商、合同、商品、价税等都维护完成后,采购部创建采购单,离商品可以上架销售越来越近了。 本篇再接着梳理一下商品销售前的最后准备工作(没考虑促销)&#xff…

P1111 修复公路

题目背景 AA地区在地震过后,连接所有村庄的公路都造成了损坏而无法通车。政府派人修复这些公路。 题目描述 给出A地区的村庄数NN,和公路数MM,公路是双向的。并告诉你每条公路的连着哪两个村庄,并告诉你什么时候能修完这条公路。问…

Python-123练习-04简单分支

文章目录1. 判断闰年2. 今年多少天3. 今天是第几天4. 判断奇偶数5. 计算整数 n 的阶乘6. 判断是否直角三角形7. 判断三角形并计算面积8. 出租车计费9. 一元二次方程求根10. 个税计算器11. 分期付款计算器12. 字符大小写转换1. 判断闰年 描述‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪…

学习HTTP协议,这一篇就够啦

HTTP协议一、什么是HTTP1.1 应用层协议1.2 HTTP1.3 HTTP协议的工作过程二、HTTP协议格式2.1 Fiddler抓包工具2.2 协议格式三、HTTP请求 (Request)3.1 认识 "方法" (method)3.1.1 GET 方法3.1.2 POST 方法3.1.3 GET和POST比较3.1.4 其他方法3.2 认识URL3.2.1 URL基本格…

Elasticsearch:使用 Node.js 将实时数据提取到 Elasticsearch 中(一)

Elasticsearch 是一个强大的 RESTful 搜索和分析引擎,能够处理越来越多的用例。 它将集中存储你的数据,以实现闪电般的快速搜索、微调相关性以及可轻松扩展的强大分析。 关于如何使用 Elastic Stack(又名 ELK 堆栈)将数据摄取到 E…

【C++编程调试秘籍】| 总结归纳要点(上)

文章目录一、编译器是捕捉缺陷的最好场合1 如何使用编译器捕捉缺陷二、在运行时遇见错误该如何处理1 该输出哪些错误信息2 执行安全检查则会减低程序效率,该如何处理呢3 当运行时遇到错误时,该如何处理四、索引越界1 动态数组2 静态数组3 多维数组5 指针…

【回答问题】ChatGPT上线了!给我推荐20个比较流行的深度学习模型

目录给我推荐20个比较流行的nlp模型给我推荐20个比较流行的计算机视觉模型给我推荐20个比较流行的图像分类模型给我推荐20个比较流行的人脸识别模型给我推荐20个比较流行的实体识别模型给我推荐20个比较流行的语言识别模型给我推荐20个比较流行的激光雷达3D点云模型给我推荐20个…

计算机网络的一些常识

序 小白,啥也不会,所以要学习常识 快速总览 这个视频按照数据链路层——网络层——传输层——应用层的顺序,自下向上介绍的。虽然只有30分钟,但是挺全的,密度挺高的,而且小白友好。 计算机网络 Compute…