分享好友 最新动态首页 最新动态分类 切换频道
grafana后端二次开发详细流程
2024-12-26 23:53


在使用JMeter做性能测试时,需要查看压测过程中请求的响应情况,如需要实时显示20w qps的压测数据监控,接下来使用JMeter+Influxdb+Grafana方案打造压测可视化实时监控

  • 数据流程

JMeter引入Backend Listener,用于在压测过程中实时发送统计指标数据给时序数据库Influxdb,通过配置Grafana数据源连接到Influxdb,就可以创建炫酷的可视化看板,并实时获取到测试指标数据

  • 处理流程图

2.1 时序数据库

处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据
可以理解成它就像一个sql表,其中时间是它的主键

2.2 influxdb

一款用Go语言编写的开源分布式时序、事件和指标数据库,无需外部依赖。该数据库现在主要用于存储涉及大量的时间戳数据,如DevOps监控数据,APP metrics, loT传感器数据和实时分析数据

2.3 数据DEMO

  • 通过grafana查询

数据:

  • 通过java查询

数据:

2.4 名词解释

  • 与传统数据库中的名词做比较
  • influxdb中独有概念

point由时间戳(time)、数据(field)、标签(tags)组成

3.1 jmeter配置

  1. 创建一个测试计划,并添加Backend Listener
  2. 设置Backend Listener中influxdb的url等信息
  3. 运行测试,等待运行一段时间
  4. 查看JMeter是否生成错误日志查看JMeter是否生成错误日志

字段信息

  • percentiles
    默认百分位设置为“90;95;99”,即百分位数为90%,95%和99%
  • summaryOnly
    summaryOnly=true且配置BackendListenerSamplersList时,jmeter还会发送匹配样本名称的指标

3.2 上报确认

查看fagent表中的数据

确定已经将统计指标数据成功发送到influxdb

4.1 grafana介绍

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

4.2 grafana数据源配置

  • 打开页面选择配置数据源
  • 配置influxdb数据源信息

4.3 数据信息

  • 线程数/用户相关指标

test.minAT-Min active threads:最小活跃线程数
test.maxAT-Max active threads:最大活跃线程数
test.meanAT-Mean active threads:活跃线程数
test.startedT-Started threads:启动线程数
test.endedT-Finished threads:结束线程数

  • 响应时间指标

.ok.count:采样器的成功响应数
.h.count:每秒点击数
.ok.min:采样器成功最短响应时间
.ok.max:采样器成功最长响应时间
.ok.avg:采样器成功平均响应时间
.ok.pct:采样器成功响应百分比
.ko.count:采样器失败响应数
.ko.min:采样器失败的响应最短时间
.ko.max:采样称失败最长响应时间
.ko.avg:采样器失败平均响应时间
.ko.pct:采样器失败响应百分比
.a.count:采样器响应数(ok.count和ko.count的总和)
.a.min:采样器最小响应时间(ok.count和ko.count的最小值)
.a.max:采样器最大响应时间(ok.count和ko.count的最大值)
.a.avg:采样器平均响应时间(ok.count和ko.count的平均值)
.a.pct:采样器响应百分比(根据和失败样本的总数计算)

4.4 导入grafana展示模版

  • 导入文件


  • 模板json

如果从零开始自己设计一个好看的Dashboard,估计大家难度较大,其实grafana官网提供丰富的模版的库,可以自己上去找然后进行二次扩展官网模版库

在上面找了一个对应的模板,修改后的模板json数据 influxdb_grafana_v1.0

  • 导入模板

4.5 数据展示

需要展示像jmeter一样的聚合结果数据

5.1 数据上报

使用开源项目JMeter-InfluxDB-Writer对上报数据进行了二次开发

5.2 grafana配置

使用对应对的grafana配置信息,具体的json配置json数据

5.3 报告效果


6.1 问题描述

使用开源组件JMeter-InfluxDB-Writer进行数据上报,将jar放入到jmeter的lib/ext目录下

执行后发现报错

根据报错信息,应该是未支持https请求

6.2 查看源码

查看JMeter-InfluxDB-Writer源码中代码文件



在源码中已经增加influxHTTPScheme字段来解决这个问题,增加该字段设置,但是仍失败,为什么最新包请求https请求仍提示报错呢?

6.3 issue

查看issue,发现有issue提出对应的问题


此问题在另外一个issue中已经标为已解决

  • 解决代码


6.4 包版本

但是为何最新包打包日期在该代码提交时间之后,代码逻辑没有问题,但是为什么就是不生效呢?

解压最新的jar包

将文件 拖拽到IntelliJ IDEA,IDEA自动反编译为Java文件


发现其实最新包并未包含最新提交的代码其实也有人在issue中提到最新包版本的问题

6.5 重新打包

项目使用的是方式打包,根据文件

  • 依赖包
  • 打包操作
  • 调用异常

可正常打包,但是打包后调用jar包,抛异常


说明并未将依赖文件完全打包ok

  • 问题解决

使用一种比较搓的方式,替换文件:
将解决问题的代码问题通过maven打包然后替换原打包文件的对应InfluxDBConfig.class文件

重新压缩jar包后可正常调用

  • 新jar包

针对修复问题的代码进行了打包,但是不晓得为什么可以打包成功

下载后重新替换lib/ext上的jar文件,可正常实现逻辑

最新文章
科大新闻 | 智能时代新文科本科教学论坛成功举办
12月8日,由中国科学技术大学人文与社会科学学院主办的智能时代新文科本科教学论坛在东校区人文楼顺利举行。专家学者共同探讨本科教学中的创新应用、课程设计优化、人才培养模式变革等核心议题,助力智能时代新文科本科教学的高质量发展。
移动硬盘删除的文件夹怎么恢复?这几招,真应该提早知道的
移动硬盘删除的文件夹怎么恢复?移动硬盘作为便携式存储设备,广泛应用于我们的工作、学习和生活中。但是,在使用过程中,不小心删除了重要文件夹的情况也时有发生。为了找回丢失误删的文件夹,接下来,我们会为你介绍一些实用的恢复方法,
盖世小鸡GameHub:手机变身PC游戏神器!
在数字娱乐飞速发展的今天,游戏行业逐渐突破了传统的设备限制,玩家的选择也愈加多样化。最近,国内知名模拟器品牌盖世小鸡宣布推出一款名为GameHub的PC模拟器应用,标志着手机游戏体验的一个重大突破。据悉,该应用预计将在2024年春节前
网络推广的方法有哪些?这几个方法效果好!
网络推广的方法有哪些?这几个方法效果好!网络推广的方法有哪些?这几个方法效果好!网络推广是当今企业竞争中的重要手段之一,它能帮助企业快速扩大知名度,提升品牌影响力。本文将介绍几种常见的网络推广方法,并分析这几个方法的效果。
微信小程序用户破9亿,月活超8亿领域曝光!
微信小程序用户规模持续扩大,活跃度显著提升。最新统计数据显示,直至今年十月,微信小程序的累计用户数已突破9.49亿大关。这一数字不仅彰显了微信小程序在用户群体中的广泛影响力,也反映出其日益增长的受欢迎程度。在用户行为方面,微信
绝了,2024 最新百度网盘/阿里云盘/夸克网盘/迅雷云盘网盘资源搜索神器,全网资源任你搜...
今天分享几个2024最新阿里云盘/百度网盘/夸克网盘/迅雷云盘资源搜索神器网站和app,全网资源任你搜,无需注册使用,关键还免费,网站和app地址在公众号后台对话框回复 网盘第1个混合盘,一个搜索网站规则引
正在阅读:翻新机旧芯换新壳 360优化大师一键验真翻新机旧芯换新壳 360优化大师一键验真
  随着双十一电商热潮的临近,各大电商渠道、3C卖场均掀起了一番智能机购机潮,面对此般热潮,一些占据价格优势的水货及翻新机产品也就此浑水摸鱼,对于一些不懂行的消费者而言,就很容易陷入商家的陷阱之中。  往往购机后被曝出各种质
高测股份
高测股份(688556)业绩预告公告日期2024-02-27报告期2023-12-31类型预增业绩预告摘要预计2023年1-12月归属于上市公司股东的净利润为:1461450211.57元,与上年同期相比变动幅度:85.32%。业绩预告内容预计2023年1-12月归属于上市公司股东的
word一键生成ppt 分页_如何将word快速生成PPT
许多人的制作方法或许都是这样的: 第一步:新建一个空白的PPT文件 第二步:把word文档中的内容一点一点的复制在PPT文件中 第三步:对PPT文件排版如果是你,你也会是这样操作的吗? 实际上,完
谷歌搜索引擎优化(SEO)入门指南
随着互联网的快速发展,搜索引擎优化(SEO)已成为众多企业和个人网站不可或缺的一部分。SEO能够帮助您的网站在搜索引擎结果页(SERP)中获得更高的排名,从而增加曝光率和流量,提高销售和品牌知名度。在本文中,我们将向您介绍SEO的基本
相关文章
推荐文章
发表评论
0评