JMeter + Grafana +InfluxDB性能监控 (二)
您可以通过JMeter、Grafana 和 InfluxDB来搭建一个炫酷的基于JMeter测试数据的性能测试监控平台。
下面,笔者详细介绍具体的搭建过程。
- 安装并配置InfluxDB
您可以从清华大学开源软件镜像站等获得InfluxDB的RPM包,这里笔者下载的是influxdb-1.8.0.x86_64.rpm包文件,大家可以依据自己机器情况选择适合的版本,将其上传到虚拟机的/usr/local目录下,如图10-4所示。
图10-4
应用rpm -ivh influxdb-1.8.0.x86_64.rpm命令安装InfluxDB,如图10-5所示。
图10-5
应用vi /etc/influxdb/influxdb.conf命令修改InfluxDB配置文件,这里主要打开并修改图10-6所示的enabled、database和bind-address配置项的值。
图10-6
下面简单对这几个配置项做下介绍:
enabled = true # 是否启用该模块,默认值 :false
database = "jmeter" # 数据库名称,默认值:"graphite"
bind-address = ":2008" # 绑定端口,默认值:":2003"
protocol = "tcp" # 协议,默认值:"tcp"
consistency-level = "one" # 一致性级别,默认值:"one"
修改完成后,保存该配置文件。
启动并登录到InfluxDB客户端,创建一个名称为jmeter的数据库,如图10-7所示。
图10-7
启动InfluxDB对应的命令为systemctl start influxdb。
登录InfluxDB客户端的命令为influx -host 127.0.0.1 -port 8086,127.0.0.1为本机,InfluxDB默认使用的是8086端口。注,该端口不是influxdb.conf配置文件的2008,2008为JMeter往InfluxDB数据库写数据的端口。创建好jmeter数据库后,就可以输入exit退出InfluxDB客户端了。
- 安装并配置Grafana
您可以从清华大学开源软件镜像站等获得Grafana的RPM包,这里笔者下载的是grafana-7.1.5-1.x86_64.rpm包文件,大家可以依据自己机器情况选择适合的版本,将其上传到虚拟机的/usr/local目录下,如图10-4所示。
应用rpm -ivh grafana-7.1.5-1.x86_64.rpm命令安装Grafana,如图10-8所示。
图10-8
依次执行systemctl daemon-reload、systemctl enable grafana-server.service和systemctl start grafana-server.service这3条命令,如图10-9所示。
图10-9
打开浏览器,输入URL地址为http://localhost:3000,如图10-10所示。默认用户名和密码都是admin。
图10-10
输入用户名和密码后,单击Login按钮,将让您设置新的密码,如图10-11所示。
图10-11
单击Sumbit按钮,则进入到Grafana主页面,如图10-12所示。
图10-12
如图10-12所示,单击Add data source按钮为Grafana添加一个要展示的数据源,在弹出的图10-13所示对话框,选择InfluxDB数据类型。
图10-13
在设置页面,主要配置2项内容,即:URL和Database,URL输入InfluxDB服务器所在地址和端口,因为笔者将InfluxDB和Grafana均部署在这台CentOS虚拟机上了,所以URL地址填写为http://localhost:8086,Database则填写刚才我们在InfluxDB中建的数据库名称,即:jmeter,如图10-14所示。
图10-14
单击Save &Test 按钮保存并测试配置是否成功,若出现绿色的“Data source is working”则表示成功连接到指定的数据源,如图10-15所示。
图10-15
Grafana官网提供了丰富的Dashboard模版可供我们选择,这里笔者搜索jmeter相关的Dashboard模版,可以看到出现了很多内容,这里我们查看目前下载最多的也就是第一项,如图10-16所示。
图10-16
查看该Dashboard模版可以看到其对应的ID为5496,如图10-17所示。
图10-17
接下来,您就可以进入到Grafana,导入该Dashboard模版。如图10-18所示,依次单击对应的菜单项或按钮。
图10-18
当出现图10-19所示页面时,输入Dashboard模版对应的ID,即:5496,单击Load按钮。
图10-19
则自动加载导入Dashboard的信息,您可以依据自身的实际情况配置,这里笔者金修改DB name选项为InfluxDB即可,如果前期您创建的数据库名称不是jmeter,则在Measurement name要设置为对应的数据库名称,如图10-20所示。
图10-20
如图10-20所示,单击Import按钮后,将显示图10-21所示界面信息。您将会看到非常丰富的JMeter结果图表信息,当然因为现在我们并没有执行JMeter脚本,自然不会产生相应的执行结果,也就不会有数据写入到InfluxDB的jmeter数据库,所以Grafana展现数据为空。
图10-21
- 配置JMeter
这里笔者创建了一个访问搜搜首页(www.soso.com)的脚本,如图10-22所示。
图10-22
为了能够让Grafana展现炫酷的压测结果相关性能指标数据,需要添加一个Backend Listener元件,如图10-23所示。
图10-23
在弹出的Backend Listener对话框中,您需要配置Backend Listener implementation,选择org.apache.jmeter.visualizers.backend.influxdb.InfluxdbBackendListenerClient选项,切记不要选错。在influxdbUrl中输入InfluxDB所在服务器地址,这里我们输入虚拟机所在的地址(192.168.176.129),完整influxdbUrl信息为http://192.168.176.129:8086/write?db=jmeter
同样提醒您的是数据库的名字千万不要写错了,应填写您实际创建的数据库名称。
measurement保留默认值jmeter,参见图10-24所示。压测过程中JMeter将向InfluxDB回写压测结果数据,其会自动创建一些measurement(类似于mysql数据库的表),从图10-25大家不难发现events、jmeter等就是它自动创建的measurement,而此处的jmeter并非创建的数据库jmeter,只是同名而已,大家必须要清楚这点。
为了区分不同的应用在application处,笔者填写的是192.168.176.129_soso,它将作为Grafana过滤数据的一个条件,参见图10-28。
图10-24
图10-25
为了能让大家看到压测结果的一些图表信息,笔者设置100秒内加载10个用户且每个用户执行10次,也就是在100秒内执行100次访问搜搜首页的测试场景,如图10-26所示。
图10-26
待该测试计划场景执行完成后,访问Grafana,单击最近查看的面板下方的Apache JMeter Dashboard using Core InfluxdbBackendListenerClient链接,如图10-27所示。
图10-27
在展现的JMeter面板中,可以看到出现了带数据的漂亮图表,清楚的看到本次执行压测共发送了100个请求,没有失败的请求等,如图10-28所示。当数据量大时,可以通过先前在JMeter配置时设置的application值来进行结果数据的过滤。
图10-28
相关文章:

JMeter + Grafana +InfluxDB性能监控 (二)
您可以通过JMeter、Grafana 和 InfluxDB来搭建一个炫酷的基于JMeter测试数据的性能测试监控平台。 下面,笔者详细介绍具体的搭建过程。 安装并配置InfluxDB 您可以从清华大学开源软件镜像站等获得InfluxDB的RPM包,这里笔者下载的是influxdb-1.8.0.x86_…...

springCloud实战
一、Feign的实战 1、使用 1.1步骤 ①引入feign依赖 ②在启动类上加上EnableFeignClients注解,开启Feign客户端 ③编写FeignClient接口 1.2开启feign调用日志 只需在yml配置文件中开启配置即可 feign:client:default:loggerLevel: FULL #feign接口被调用时的…...
从优化算法到分布式训练-提升AI模型收敛速度的系统性分析【附核心实战代码】
本文收录于专栏:精通AI实战千例专栏合集 https://blog.csdn.net/weixin_52908342/category_11863492.html从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 每一个案例都附带关键代码,详细讲解供大家学习,希望可以帮…...

如何在 Windows 10/11 上录制带有音频的屏幕 [3 种简单方法]
无论您是在上在线课程还是参加在线会议,您都可能需要在 Windows 10/11 上录制带有音频的屏幕。互联网上提供了多种可选方法。在这里,本博客收集了 3 种最简单的方法来指导您如何在 Windows 10/11 上使用音频进行屏幕录制。请继续阅读以探索! …...
鸿蒙应用开发(2)
鸿蒙应用开发启航计划-CSDN博客 鸿蒙应用开发(1)-CSDN博客 没看过前两篇的,建议请先看上面。 如果你学习完了前两篇,那么你学习这篇文章,就很容易理解了。 这一篇文章将介绍声明式UI的 渲染控制。你需要了解的是&…...

单片机-LED点阵实验
要将第一个点点亮,则 1 脚接高电平 a 脚接低电平,则第一个点就亮了;如果要将第一行点亮,则第 1 脚要接高电平,而(a、b、c、d、e、f、g、h )这些引脚接低电平,那么第一行就会点亮&…...

微服务-Nacos(注册中心)
Nacos Nacos可以看作注册中心配置中心,比Eureka更加强大。 注册中心 在父工程中引入SpringCloudAlibaba的版本依赖 <dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId&g…...
【Linux知识】shell编程知识科普
文章目录 概述文件格式语法及例子 文件读写文件读取文件写入错误处理 后台执行shell1. 使用 & 符号2. 使用 nohup 命令3. 使用 screen 或 tmux使用 screen使用 tmux 4. 使用 disown 命令5. 使用系统服务管理器(如 systemd) 概述 Linux shell脚本文件…...

小程序学习06——uniapp组件常规引入和easycom引入语法
目录 一 组件注册 1.1 组件全局注册 1.2 组件全局引入 1.3 组件局部引入 页面引入组件方式 1.3.1 传统vue规范: 1.3.2 通过uni-app的easycom 二 组件的类型 2.1 基础组件列表 一 组件注册 1.1 组件全局注册 (a)新建compoents文件…...

平安产险安徽分公司携手安徽中医药临床研究中心附属医院 共筑儿童安全防护网
为响应金融知识普及教育号召,平安产险安徽分公司联动安徽中医药临床研究中心附属医院,于近日在朝霞小学举办了一场儿童安全防范与健康守护活动。此次活动旨在提升学生的安全防范意识,守护儿童健康成长,同时有力推动金融知识与传统…...

C语言练习:求数组的最大值与最小值
文章目录 1. 提出任务2. 完成任务2.1 方法一:通过返回结构体指针来间接返回结果2.1.1 编写程序,实现功能2.1.2 运行程序,查看结果 2.2 方法二:通过参数传递数组,并在函数中修改传入的参数2.2.1 编写程序,实…...
c++ thread线程join、detach、joinable方法
(621条消息) 线程中断Thread的interrupt()方法_thread interrupt_萝卜阿咕咕的博客-CSDN博客 C/C编程:std::thread 详解-CSDN博客 #include <iostream> #include <thread>void do_some_work() {std::cout<<"Hello Concurrent World\n"…...

【算法刷题】leetcode hot 100 哈希篇
文章目录 1. 两数之和49. 字母异位词分组128. 最长连续序列总结 1. 两数之和 leetcode:https://leetcode.cn/problems/two-sum/description/?envTypestudy-plan-v2&envIdtop-100-liked暴力解决: public int[] twoSum(int[] nums, int target) {for …...

linux系统(ubuntu,uos等)连接鸿蒙next(mate60)设备
以前在linux上是用adb连接,现在升级 到了鸿蒙next,adb就不好用了。得用Hdc来了,在windows上安装了hisuit用的好好的,但是到了linux(ubuntu2204)下载安装了 下载中心 | 华为开发者联盟-HarmonyOS开发者官网,共建鸿蒙生…...
支付宝实名认证
实名认证后台服务主要涉及两个接口:人脸核身初始化接口、人脸核身结果查询接口 import com.alibaba.fastjson.JSONObject; import com.alipay.api.*; import com.alipay.api.domain.DatadigitalFincloudGeneralsaasFaceVerificationInitializeModel; import com.ali…...
GO随想:GO的并发等待
协程并发等待技术——WaitGroup 类型和 errgroup 包 waitgroup 阻塞等待多个并发任务执行完成。WaitGroup 类型主要包含下面几个方法。 func (wg *WaitGroup) Add(delta int) func (wg *WaitGroup) Done() func (wg *WaitGroup) Wait() 第一个是 Add 方法,在任务运…...

kubernetes第五天
1.容器的健康检查Probe(探针)之readinessProbe就绪探针 1.exec方式检查 #通过rc资源创建了三个pod,然后使用services资源,对外提供三个pod的容器的访问入口。 apiVersion: v1 kind: ReplicationController metadata:name: web-rc-readlinepr…...

扩散模型论文概述(三):Stability AI系列工作【学习笔记】
视频链接:扩散模型论文概述(三):Stability AI系列工作_哔哩哔哩_bilibili 本期视频讲的是Stability AI在图像生成的工作。 同样,第一张图片是神作,总结的太好了! 介绍Stable Diffusion之前&…...
JVM调优,参数在哪里设置的?
JVM调优,参数在哪里设置的? 在Java应用程序中,JVM(Java Virtual Machine)的调优通常通过设置JVM启动参数来实现。这些参数可以控制JVM的内存分配、垃圾回收策略、线程管理、性能优化等方面。 1. JVM参数的位置 JVM参…...

2024年最新Stable Diffusion 新手入门教程,安装使用及模型下载
一、安装要求: ① 操作系统:Windows10以后的系统 ② CPU:不做强制性要求 ③ 内存:推荐8G以上 ④ 显卡:必须是Nvidia的独立显卡,显存最低4G,推荐20系以后;A卡、核显只能用CPU跑 …...
Cursor 工具项目构建指南: Uniapp Miniprogram 环境下的 Prompt Rules 约束
简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 Cursor 工具项目构建指南: Uniapp Miniprogram 环境下的 Prompt Rules 约束前言项目简…...

亚马逊AWS云服务器高效使用指南:最大限度降低成本的实战策略
对于初次接触云计算的企业或个人开发者而言,亚马逊云服务器(Amazon EC2)的配置与成本控制往往面临双重挑战:既要理解数百种实例规格的技术参数,又要避免因配置不当导致的资源浪费。本文将深入剖析AWS EC2的核心使用场景…...

GeoBoundaries下载行政区划边界数据(提供中国资源shapefile)
要下载山东省济南市各个区的行政区划边界数据,你可以通过 geoBoundaries 提供的数据来实现。下面是详细步骤,包括网页操作和可选的 Python 自动化方式。 目录 ✅ 一、通过 geoBoundaries 官网手动下载1. 打开官网:2. 查找中国数据:…...

OneNet + openssl + MTLL
1.OneNet 使用的教程 1.在网络上搜索onenet,注册并且登录账号。 2.产品服务-----物联网服务平台立即体验 3.在底下找到立即体验进去 4.产品开发------创建产品 5.关键是选择MQTT,其他的内容自己填写 6.这里产品以及开发完成,接下来就是添加设…...
深入理解汇编语言中的顺序与分支结构
本文将结合Visual Studio环境配置、顺序结构编程和分支结构实现,全面解析汇编语言中的核心编程概念。通过实际案例演示无符号/有符号数处理、分段函数实现和逻辑表达式短路计算等关键技术。 一、汇编环境配置回顾(Win32MASM) 在Visual Studi…...
前端开发三剑客:HTML5+CSS3+ES6
在前端开发领域,HTML、CSS和JavaScript构成了构建网页与Web应用的核心基础。随着技术标准的不断演进,HTML5、CSS3以及ES6(ECMAScript 2015及后续版本)带来了诸多新特性与语法优化,极大地提升了开发效率和用户体验。本文…...
人工智能赋能高中学科教学的应用与前景研究
一、引言 1.1 研究背景 在科技飞速发展的当下,人工智能(Artificial Intelligence,简称 AI)已成为全球瞩目的关键技术领域,深刻地改变着人们的生活、工作和学习方式。从智能家居设备到智能交通系统,从医疗…...
正则表达式检测文件类型是否为视频或图片
// 配置化文件类型检测(集中管理支持的类型) const FILE_TYPE_CONFIG {video: {extensions: [mp4, webm, ogg, quicktime], // 可扩展支持更多格式regex: /^video\/(mp4|webm|ogg|quicktime)$/i // 自动生成正则},image: {extensions: [jpeg, jpg, png,…...
性能剖析:在 ABP 框架中集成 MiniProfiler 实现性能可视化诊断
🚀 性能剖析:在 ABP 框架中集成 MiniProfiler 实现性能可视化诊断 📚 目录 🚀 性能剖析:在 ABP 框架中集成 MiniProfiler 实现性能可视化诊断一、为什么选择 MiniProfiler? 🧐二、集成 MiniProf…...

零基础玩转物联网-串口转以太网模块如何快速实现与TCP服务器通信
目录 1 前言 2 环境搭建 2.1 硬件准备 2.2 软件准备 2.3 驱动检查 3 TCP服务器通信配置与交互 3.1 硬件连接 3.2 开启TCP服务器 3.3 打开配置工具读取基本信息 3.4 填写连接参数进行连接 3.5 通信测试 4 总结 1 前言 TCP是TCP/IP体系中的传输层协议,全称为Transmiss…...