文章目录
- 本示例是通过jmeter的插件暴露jmeter的监控指标,通过插件将监控指标数据写入influxdb中,然后利用grafana的dashboard模板来监控jmeter的性能指标。
- 本示例使用到的组件均是最新的,influxdb是2.7.10,grafana的版本是v11.1.4,jmeter的版本是5.6.3,jmeter是windows环境,其他是linux环境的centos。
- 本示例分为四个部分,即influxdb、grafana、jmeter的配置和三者集成后查看模板数据。
- 本文旨在说明三者如何使用,不涉及各自组件的介绍,如果需要使用到本文的,肯定都有了解。
说明:本示例仅仅是为了展示三者结合使用,故没有考虑集群部署以及实际环境的使用,都部署在server2上(jmeter在windows上,另外一台机器上),实际的使用则没有这样的要求。
该文章分为2个部分,即:
- 【运维监控】influxdb 2.0 + grafana 11 监控jmeter 5.6.3 性能指标(1)
- 【运维监控】influxdb 2.0 + grafana 11 监控jmeter 5.6.3 性能指标(2)
- 【运维监控】influxdb 2.0 + grafana 11 监控jmeter 5.6.3 性能指标(完整版)
一、部署influxdb2.0
参考文章:【运维监控】influxdb 2.0+grafana 监控java 虚拟机以及方法耗时情况(完整版) 关于influxdb部署部分。
grafana_21">二、部署grafana
参考:【运维监控】prometheus+node exporter+grafana 监控linux机器运行情况 关于grafana的部署。
jmeter_23">三、jmeter配置
本文的重点是该部分内容,关于jmeter的下载、部署不再赘述。
本处部署、配置的前提都是influxdb 2.0以及jdk11以上、grafana 11版本以上。
jmeter_26">1、下载jmeter插件
下载地址:https://github.com/mderevyankoaqa/jmeter-influxdb2-listener-plugin/
下载版本:jmeter-plugins-influxdb2-listener-2.8.jar
本示例使用的是2.8,从1.0就可以使用。
jmeter_30">2、部署jmeter插件
将下载的插件jmeter-plugins-influxdb2-listener-2.8.jar移动到~<JmeterPath<\lib\ext目录下。如下图所示。
3、添加Backend Listener
在jmeter创建好的压力测试脚本中添加Backend Listener,添加步骤如下图所示。
在选择的Backend Listener页面填写必要的信息,如下图所示。
- influxDBURL:填写influxdb的地址
- influxDBToken:bucket对应的token,也可以是全局token。
- influxDBOrganization:bucket所对应的organization
- influxDBBucket:influxdb对应的bucket。如果先导入grafana模板的情况下,有些模板是会自动创建bucket,不需要手动创建,有的则不会自动创建,需要手动创建。
以上四个参数是必须填写的,其他参数可根据需要进行调整或保持默认。其他重要参数说明如下:
- influxDBFlushInterval:多久刷新一次influxdb数据库,也就是多久往influxdb中存储一次数据
- influxDBMaxBatchSize:批量存储的最大记录条数
- influxDBThresholdError:influxdb的错误阈值
以上就是jmeter的全部配置。
grafanainfluxdbjmeter_49">四、grafana集成influxdb监控jmeter
grafana_50">1、建立grafana数据源
选择influxdb数据源,如下图所示。
在下图所示的页面,点击添加数据源按钮。
点击后进入下面页面中,针对红框内填写必要的信息
其中查询语言本示例选择的Flux(其中的区别参考官网,不同的类别下面需要填写的信息不同)
填写完成后,示例如下。
完成上图所示的信息后,继续往下填写,进行授权,如下图所示。
本示例填写的bucket是jmeter,可以使用influxdb部署成功后的token,也可以是用创建jemter时生成的token。保存成功的图示如下。
至此,grafana集成influxdb的工作完成,集成后,Organization名称为alanchan_win的所有bucket都可以在grafana的数据探索中查到数据(前提是有数据,如果是查jmeter的话,还没有做压力测试的时候是没有数据的)。示例如下图。
grafana_66">2、导入grafana模板
导入过程不再赘述,参考文章:【运维监控】Prometheus+grafana监控tomcat8.5 运行情况
本示例导入的模板ID是17440(JMeter Report InfluxDB2.0) 或模板ID是13644( JMeter Load Test (org.md.jmeter.influxdb2.visualizer) - influxdb v2.0 (Flux))。
两个都可以,看读者的需要而言,作者是两个都导入了。
3、验证
以上所涉及的服务均能正常的运行,以及验证都通过。
1)、验证模板
模板导入后,两个模板的初始化界面分别如下。
jmeter_76">2)、启动jmeter
接下来,我们启动jmeter做压力测试,以下是jmeter的配置。
两个简单的接口(另外一个一样的配置,只是接口名称不一样,读者基本上不会和作者的相同,所以就示例一下即可),配置如下。
backend listener配置如下
以上,完成了jmeter的配置,然后运行。
jmeter启动后,可看到jmeter日志中有往influxdb中发送数据,并且每个批次的大小也有记录。如下图所示。
3)、查看模板数据
查看第一个模板
查看第二个模板
以下是jmeter的聚合报告内容,可以和在grafana的数据进行比对。
以上,完成了influxdb 2.0 + grafana 11 监控jmeter 5.6.3 性能指标的示例。