jmeter 性能测试与 influxdb2 集成显示监控结果

Posted 软件测试呀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter 性能测试与 influxdb2 集成显示监控结果相关的知识,希望对你有一定的参考价值。

Jmeter 是最常用的性能测试工具,influxdb2 是一个时序数据库。

在国内有很多资料介绍了 jmeter 与 influxdb1.x 版本的集成,但是,**在 2021 年,influxdb 升级到 2.x 版本,这个版本与 1.x 版本有结构性的调整,完全不兼容。**使用以前的资料,不能把它们两者集成起来。

这篇文章,是参考了大量的官方因为资料,整理的一份国内最全的集成解决方案,期望对大家有帮助。

✦安装 influxdb2

◆rpm 包安装

# 页面地址 https://github.com/influxdata/influxdb/releases
wget https://dl.influxdata.com/influxdb/releases/influxdb2-2.2.0.x86_64.rpm

yum localinstall influxdb2-2.2.0.x86_64.rpm -y

# 启动influxdb2
systemctl start influxdb
# 或者 service influxdb start
# 或者 influxdb run

# 查看状态
systemctl status influxdb
# 或者 service influxdb status

◆docker 安装

mkdir /opt/influxdb-docker-data-volume && cd $_
docker run -itd --name influxdb2 -p 8086:8086 --volume $PWD:/var/lib/influxdb2 influxdb:2.2.0

✦配置 influxdb2 鉴权信息

浏览器访问 http://influxdb2_ip:8086



◆查看 token


◆查看 bucket-id
◆查看 userid 和 orgid
◆查看 influxdb2 自带监控

✦用 influxdb2 监控

Ⅰ、只想监控被测服务器硬件资源使用率

在想要被监控的机器上安装 telegraf

# centos && RHEL
cat <<EOF | sudo tee /etc/yum.repos.d/influxdata.repo
[influxdata]
name = InfluxData Repository - Stable
baseurl = https://repos.influxdata.com/stable/\\$basearch/main
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF
sudo yum install telegraf -y
# ubuntu && debain
wget -qO- https://repos.influxdata.com/influxdb.key | sudo tee /etc/apt/trusted.gpg.d/influxdata.asc >/dev/null
echo "deb https://repos.influxdata.com/debian stable main" | sudo tee /etc/apt/sources.list.d/influxdata.list
sudo apt-get update && sudo apt-get install telegraf -y

◆在 influxdb2 的 UI 平台中,进入 Telegraf,点击 create configuration

◆创建之后,这个界面的信息,别急着关闭
◆把上面 export 信息拷贝到粘贴板,然后,在想被监控的服务器上执行一下;

◆然后,再拷贝 telegraf 这一句,到想要被监控的机器上执行一下
此时,已经在开始收集被监控的机器硬件资源使用情况了,在 influxdb2 的 UI 界面,点击 Boards,选择 system



这里就自动给我们显示了被监控的机器的硬件资源使用情况。

被监控的机器,如果想多台,只需要在每台机器上都按照 telegraf,执行 export 和 telegraf 命令即可。多台机器,在这个监控界面,图表中用不同的颜色标识。

Ⅱ、想要 grafana+influxdb2 集成监控平台监控被测服务器硬件资源使用率

安装 grafana

◆执行安装

# centos && RHEL
wget https://dl.grafana.com/oss/release/grafana-8.5.0-1.x86_64.rpm
sudo yum install grafana-8.5.0-1.x86_64.rpm -y

## ubuntu && debain
sudo apt-get install -y adduser libfontconfig1
wget https://dl.grafana.com/oss/release/grafana_8.5.0_amd64.deb
sudo dpkg -i grafana_8.5.0_amd64.deb

注意:因为要使用 influxdb2,所以,grafana 版本请使用新版本,不要使用老的低版本,低版本不支持 influxdb2.

◆docker 安装

docker run -itd --name grafana -p 3000:3000 grafana/grafana

配置 grafana

◆浏览器访问

http://grafana_ip:3000 admin/admin

◆添加数据源

◆注意,边界页面信息要准确
◆import 模板 14126
◆输入 14126,点击 load
◆注意,选择 influxdb2 的数据源,import

这样,我们就可以在 grafana 平台中,查看到被监控的机器硬件资源使用情况了。

如果,被监控的机器是多台,退出 grafana 重新登录后,打开这个面板,切换顶部右上角的 host 值,就可以切换查看不同机器的监控数据。

Ⅲ、想要 grafana+influxdb2+jmeter 集成监控平台监控性能测试过程数据

◆安装 influx-cli 并创建 jmeter 数据库

mkdir ../influx-cli && cd $_
wget https://dl.influxdata.com/influxdb/releases/influxdb2-client-2.3.0-linux-amd64.tar.gz

tar -xzvf influxdb2-client-2.3.0-linux-amd64.tar.gz
cd influxdb2-client-2.3.0-linux-amd64

./influx config create --config-name influx-cli-config \\
--host-url http://127.0.0.1:8086 \\
--org lemon \\
--token Cfq2_NRU_0UZzm5uzwROaXdOevurmTg43b0kNFP6_leHIxn9ZRUzmrzKYP3NkhSMGMdrwXld6kPFyAYmLqyfGw== \\
--active


./influx v1 dbrp create \\
  --db jmeter \\
  --rp jmeter \\
  --bucket-id fab7c7508bef96f3 \\
  --default

把 jmeter 性能测试数据写入 influxdb2 库

◆使用 jmeter5.4.1 以上版本

◆添加后端监听器

◇方法一:监听器实现选择:

org.apache.jmeter.visualizers.backend.influxdb.InfluxdbBackendListenerClient

◇influxbdUrl:

http://You_Influxdb2_ip:8086/write?

db=jmeter&org=You_Org&bucket=You_Bucket

◇application:自愿修改

◇添加 influxdbToken:You_APIToken
执行性能测试,此时,如果参数配置没有错误,数据就已经写入 influxdb2 数据库中,在任意可以连接到 influxdb2 数据库的机器终端窗口中执行

curl --get http://You_Influxdb2_ip:8086/query \\
--header "Authorization: Token You_APIToken" \\
--data-urlencode "q=select * from jmeter.jmeter.jmeter order by time desc limit 2;"
# 这个sql意思是,查看jmeter库的jmeter表中,时间倒序的2条数据
# sql语句可以自己修改,与关系型数据库sql类似

◆可以查看到写入数据库中的最新 2 条数据
◆添加的后端监听器,也可以选择另外一个实现

◇方法二:监听器实现选择:

org.apache.jmeter.visualizers.backend.influxdb.InfluxDBRawBackendListenerClient

◇influxbdUrl:

http://You_Influxdb2_ip:8086/write?db=jmeter&org=You_Org&bucket=You_Bucket

◇influxdbToken:You_APIToken

◇添加 application:influxdb2(自定义值)
执行性能测试,照样可以把数据写入 influxdb2 数据库中。

grafana 与 influxdb2 集成显示 jmeter 测试数据

◆首先,也是安装好 grafana 和配置 influxdb2 数据源

◆import 模板 5496
尴尬,很大的尴尬,什么数据都出不来
原因很简单,因为这个模板是基于 influxdb1.x 版本的,不支持 influxdb2 版本。需要自己修改。
◆对于不知道怎么修改的同学,也可以改用下面的方法:

◇下载 jdk11

◇下载 jmeter-plugin-influxdb2-listener-1.5.jar 包,把它放到 jmeter 的 lib\\ext 文件夹中

◇解压安装 jdk11,不需要配置系统环境变量

◇修改 jmeter 的 bin 文件夹中 jmeter 启动文件,启动 jmeter

# windows ->jmeter.bat 在文件有效信息前面增加
set JAVA_HOME=你安装jdk11的路径
set PATH=%JAVA_HOME%\\bin;%PATH%

# mac && linux ->jmeter 在文件有效信息前面增加
JAVA_HOME=你解压的jdk11路径

◇在 jmeter 的后端监听器中,选择 后端监听实现:

org.md.jmeter.influxdb2.visualizer.InfluxDatabaseBackendListenerClient
注意,红框中的信息填写正确

◇jmeter 执行性能测试

◇grafana 中 import 模板 13644


注意,选择好数据源,import
至此,我们用 jmeter 集成 influxdb2 和 grafana 搭建监控平台,监控性能测试过程数据完整实现。

房子要一层一层盖,知识要一点一点学。大家在学习过程中要好基础,多上手实操,话不多说,这里狠狠上一次干货!我熬夜整理好的各阶段(功能、接口、自动化、性能、测开)技能学习资料+实操讲解,非常适合私下里学习,比找资料自学高效多了,分享给你们。

领取关 w/x/g/z/h:软件测试小dao

敲字不易,如果此文章对你有帮助的话,点个赞收个藏来个关注,给作者一个鼓励。也方便你下次能够快速查找。

以上是关于jmeter 性能测试与 influxdb2 集成显示监控结果的主要内容,如果未能解决你的问题,请参考以下文章

(十九)从零开始搭建k8s集群——使用KubeSphere管理平台搭建一套微服务的压力测试性能监控平台(Grafana8.5.2+influxdb2.2.0+Jmeter5.4.1)

性能测试与持续集成(JMeter+Jenkins)

JMeter - 连续性能测试 - JMeter + ANT + Jenkins集成 - 第2部分

Jmeter+jenkins如何快速搭建接口和性能测试持续集成解决方案-[基于windows篇]

性能测试基础---ant集成1

Meter - 连续性能测试 - JMeter + ANT + Jenkins集成 - 第1部分