第九(平台):JMeter+Grafana+Influxdb搭建可视化性能测试监控平台(docker)
·
一.Docker安装InfluDB
1.influxdb安装并运行(选择2.0以下版本)
1.1.默认linux环境已安装好docker,没有安装可自行百度安装
docker run -itd --name influxdb -p 8086:8086 influxdb:1.8.3
docker pull influxdb:1.8.6 # 拉取influxdb镜像
# 8083是管理工具端口、8086是HTTP API端口
docker run -d -p 8086:8086 --name=jmeterdb influxdb:1.8.6 # 启动influxdb,并命名为jmeterdb
2.进入容器
docker exec -it influxdb /bin/bash
docker exec -it jmeterdb bash # 进入容器
2.创建数据库
influx # 进入influxdb数据库
create database jmeter; # 创建jmeter库
show databases; # 显示所有数据库,显示jmeter库就创建成功
use jmeter; # 进入jmeter库
select * from jmeter; # 查询库里面的数据,这时数据是空的正常

二.Docker安装Grafana
1.Grafana安装
docker run -itd --name grafana -p 3000:3000 grafana/grafana
docker pull grafana/grafana
docker run -d -p 3001:3000 --name=jmeterGraf grafana/grafana
1.1.进入容器
docker exec -it grafana /bin/bash
2.访问grafana网页,其余操作和WIN相同(需注意容器内连接influxdb使用容器ip),输入账号密码:admin/admin
http://ip:3000

3.点击Skip跳过修改密码

4.在Grafana添加数据源,选择Add your first data source

5.找到influxdb,单击选择该db

6.配置influxdb数据源
url: http://192.168.1.138:8086 # 这里的IP输自己influxdb主机的
Access: browser

7.atabase: jmeter
7.1.其余参数保持默认值

8.点击 Save&Test 按钮

9.点击左侧加号,选择Import

10.将json文本复制/粘贴到paste JSON 文本框中,单机Load按钮导入
10.1.json文件下载地址:https://grafana.com/api/dashboards/5496/revisions/1/download

11.在DB name中选择influxDB,单机Import按钮完成Dashboard导入

12.自动跳转至监控页面

三.Jmeter安装
1.首先需要先下载Jmeter
wget https://mirrors.bfsu.edu.cn/apache//jmeter/binaries/apache-jmeter-5.4.3.tgz
2.使用dockerfile安装
FROM java:8
ENV http_proxy ""
ENV https_proxy ""
RUN mkdir /jmeterdocker
RUN mkdir -p /jmeterdocker/test
RUN mkdir -p /jmeterdocker/test/input/jmx
RUN mkdir -p /jmeterdocker/test/input/testdata
RUN mkdir -p /jmeterdocker/test/report/html
RUN mkdir -p /jmeterdocker/test/report/jtl
RUN mkdir -p /jmeterdocker/test/report/outputdata
RUN chmod -R 777 /jmeterdocker
ENV JMETER_VERSION=5.4.3
ENV JMETER_HOME=/jmeterdocker/apache-jmeter-${JMETER_VERSION}
ENV JMETER_PATH=${JMETER_HOME}/bin:${PATH}
ENV PATH=${JMETER_HOME}/bin:${PATH}
COPY apache-jmeter-${JMETER_VERSION}.tgz /jmeterdocker
RUN cd /jmeterdocker \
&& tar xvf apache-jmeter-${JMETER_VERSION}.tgz \
&& rm apache-jmeter-${JMETER_VERSION}.tgz
3.在dockerfile文件路径下执行命令
docker build -t jmeter .
4.创建Jmeter容器
docker run -itd --name=jmeter -v /tmp/jmeterspace/test/input/jmx:/jmeterdocker/test/input/jmx \
-v /tmp/jmeterspace/test/input/testdata:/jmeterdocker/test/input/testdata \
-v /tmp/jmeterspace/test/report/html:/jmeterdocker/test/report/html \
-v /tmp/jmeterspace/test/report/jtl:/jmeterdocker/test/report/jtl \
-v /tmp/jmeterspace/test/report/outputputdata:/jmeterdocker/test/report/outputdata \
-p 1099:1099 \
jmeter
5.将Jmeter脚本放在容器外的/tmp/jmeterspace/test/input/jmx路径下
5.1.进入容器,执行以下命令
docker exec -it jmeter /bin/bash
cd /jmeterdocker/test/input/jmx
jmeter -n -t ***.jmx -l test.jtl
5.2.参数说明
-n:非 GUI 模式 -> 在非 GUI 模式下运行 JMeter
-t:测试文件 -> 要运行的 JMeter 测试脚本文件
-l:日志文件 -> 记录结果的文件
5.3.运行结果


四.JMeter配置InfluDB
1.在线程组下添加“后端监听器”
1.1.线程组 > 监听器 > 后端监听器
1.2.Thread Group > Listener > Backend Listener
2.配置参数
2.1.Backend Listener implementation:org.apache.jmeter.visualizers.backend.influxdb.InfluxdbBackendListenerClient
2.2.influxdbUrl:http://192.168.21.230:8086/write?db=jmeter
# 换为自己的主机ip和创建的库名,上面建的库名为jmeter
2.3.application:Order
# 这里的名字自己随意定义即可
2.4.measurement:jmeter
# 数据库的名字,Jmeter为上面在influxdb中创建的Jmeter库
2.5.testTitle:JMeter Test
# 这个名字也自己随意定义即可

3.配置完后执行一次脚本,看influxdb中jmeter库里面有没有数据,有数据就没问题
4.备注:友情提醒,如果访问不了,可检查下端口是否对外开放
更多推荐
所有评论(0)