当前位置: 首页 > news >正文

性能测试:工具篇:Jmeter实时可视化平台搭建

部署 influxDB


首先,pull influxBD镜像(拉取是1.8的版本,虽有2.0+的版本,但我还是喜欢站在巨人的肩头前行…):

debugfeng@debugfeng:~$ sudo docker pull influxdb:1.8
1.8: Pulling from library/influxdb
1671565cc8df: Pull complete 
3e94d13e55e7: Pull complete 
fa9c7528c685: Pull complete 
52a25ba52346: Pull complete 
aa26e2239d02: Pull complete 
0ab001de8b69: Pull complete 
610b13a73459: Pull complete 
4de10ef52d67: Pull complete 
Digest: sha256:4e3d30d9d00798581a820d19ff762ce000a217498e2e00b361ca334595f1f515
Status: Downloaded newer image for influxdb:1.8
docker.io/library/influxdb:1.8

其次,docker run ...,启动容器并运行:

debugfeng@debugfeng:~$ sudo docker run -itd -p 8083:8083 -p 8086:8086 --name my-influxdb influxdb:1.8
caf829d4fb272c2f9cf856022fe534e8ad5f0d507be9d150e6f590692fe5a59b
debugfeng@debugfeng:~$ sudo docker ps
CONTAINER ID   IMAGE          COMMAND                  CREATED         STATUS         PORTS                                                                                  NAMES
caf829d4fb27   influxdb:1.8   "/entrypoint.sh infl…"   5 seconds ago   Up 4 seconds   0.0.0.0:8083->8083/tcp, :::8083->8083/tcp, 0.0.0.0:8086->8086/tcp, :::8086->8086/tcp   my-influxdb

最后,docker exec -it ... /bin/bash,进入指定容器,启动并创建数据库:

debugfeng@debugfeng:~$ sudo docker exec -it caf829d4fb27 /bin/bash
root@caf829d4fb27:/# ls
bin  boot  dev  entrypoint.sh  etc  home  init-influxdb.sh  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
root@caf829d4fb27:/# cd usr/
root@caf829d4fb27:/usr# ls
bin  games  include  lib  libexec  local  sbin  share  src
root@caf829d4fb27:/usr# cd bin/
root@caf829d4fb27:/usr/bin# ./influx
Connected to http://localhost:8086 version 1.8.10
InfluxDB shell version: 1.8.10
> show databases;
name: databases
name
----
_internal
> create database jmeter;
> show databases;
name: databases
name
----
_internal
jmeter
> 

注意点,设置influxDB时区(因为默认时区和北京相差8h,所以要同步下时区,不然后面查询不到数据)

如果你服务器时间是正常的,可直接复制服务器时间到容器内:

debugfeng@debugfeng:~$ timedatectl set-timezone "Asia/Shanghai"
debugfeng@debugfeng:/usr/share$ sudo docker cp zoneinfo 722a729efd74:/usr/share
debugfeng@debugfeng:/usr/share$ sudo docker exec -it 722a729efd74 /bin/bash
root@722a729efd74:/# date
Thu Sep  1 00:28:03 UTC 2022
root@722a729efd74:/# ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
root@722a729efd74:/# echo "Asia/Shanghai" > /etc/timezone
root@722a729efd74:/# date
Thu Sep  1 08:28:40 CST 2022
root@722a729efd74:/# exit

如果你服务器时间也不正常,需执行如下命令(ubuntu系统),先同步下时间:

debugfeng@debugfeng:~$ date
Wed 31 Aug 2022 11:00:15 AM UTC
debugfeng@debugfeng:~$ timedatectl status
               Local time: Wed 2022-08-31 11:02:18 UTC
           Universal time: Wed 2022-08-31 11:02:18 UTC
                 RTC time: Wed 2022-08-31 11:02:18    
                Time zone: Etc/UTC (UTC, +0000)       
System clock synchronized: yes                        
              NTP service: active                     
          RTC in local TZ: no                         
debugfeng@debugfeng:~$ timedatectl set-timezone "Asia/Shanghai"
debugfeng@debugfeng:~$ timedatectl status
               Local time: Wed 2022-08-31 19:02:50 CST
           Universal time: Wed 2022-08-31 11:02:50 UTC
                 RTC time: Wed 2022-08-31 11:02:50    
                Time zone: Asia/Shanghai (CST, +0800) 
System clock synchronized: yes                        
              NTP service: active                     
          RTC in local TZ: no  

部署 Grafana


首先,pull grafana/grafana镜像:

debugfeng@debugfeng:~$ sudo docker pull grafana/grafana
latest: Pulling from grafana/grafana
9621f1afde84: Pull complete 
37c977d2b27c: Pull complete 
c808de7a697e: Pull complete 
86659f76fb09: Pull complete 
747aee88ceca: Pull complete 
99d875e11915: Pull complete 
3fb2327ae1ed: Pull complete 
ac9523800f50: Pull complete 
e15e29cdce8f: Pull complete 
Digest: sha256:980ff2697655a0aa5718e40bbda6ac52299d2f3b1584d0081152e2d0a4742078

其次,docker run ...,启动容器并运行:

debugfeng@debugfeng:~$ sudo docker run -d -p 3000:3000 --name=my-grafana grafana/grafana
3fee0e5e988dc658db10ef3c6a9cd52db0b2c972b2567500d2661364a20ea9c9

最后,直接 http://ip_address:3000到浏览器访问即可。默认账号为:admin;默认密码为:admin

 

 

 

 

 数据展示仪表盘模板链接icon-default.png?t=M7J4https://grafana.com/grafana/dashboards/5496-apache-jmeter-dashboard-by-ubikloadpack/

 

 

 

 

 

部署jmeter


 

influxdbUrl固定写法:http://ip_address:8086/write?db=jmeter
measurement:为创建的influxdb数据库名称


 

今天先聊到这里吧,以上总结或许能帮助到你,或许帮助不到你,但还是希望能帮助到你,如有疑问、歧义,直接私信留言会及时修正发布;非常期待你的一键 3 连【 点赞、收藏、分享 】哟,谢谢!

未完成,待续……

一直在努力,希望你也是!

微信搜索公众号:就用python

相关文章:

  • 你该用什么的美剧学英语?
  • 面试算法 二叉树的遍历,方法 :迭代 ,前序遍历: 中序遍历: 后序遍历: 层序遍历
  • Matlab常用函数(control)
  • 推荐10款好用的数据可视化工具,赶紧收藏
  • Java刷题面试系列习题(六)
  • 解决:vue-cli-service不是内部或外部命令
  • 手把手教你深度学习和实战-----全连接神经网络
  • VSCode 配置 C++ 环境
  • 2021年研究生数模B题论文记录
  • Golang高性能日志库zap + lumberjack 日志切割组件详解
  • java 相似度计算
  • Python和Nose实现移动应用的自动化测试
  • 各种框架的面试
  • 深信服Python笔试
  • JS中ajax的原理是什么?
  • [Vue CLI 3] 配置解析之 css.extract
  • CSS进阶篇--用CSS开启硬件加速来提高网站性能
  • Java|序列化异常StreamCorruptedException的解决方法
  • JAVA多线程机制解析-volatilesynchronized
  • JS数组方法汇总
  • js中forEach回调同异步问题
  • laravel with 查询列表限制条数
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • ng6--错误信息小结(持续更新)
  • Phpstorm怎样批量删除空行?
  • PHP变量
  • Promise初体验
  • SQLServer之索引简介
  • vue脚手架vue-cli
  • 创建一种深思熟虑的文化
  • 近期前端发展计划
  • 每天10道Java面试题,跟我走,offer有!
  • 前端技术周刊 2019-02-11 Serverless
  • 使用 @font-face
  • 思维导图—你不知道的JavaScript中卷
  • 数据库巡检项
  • ​卜东波研究员:高观点下的少儿计算思维
  • # Python csv、xlsx、json、二进制(MP3) 文件读写基本使用
  • #QT(串口助手-界面)
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (1)虚拟机的安装与使用,linux系统安装
  • (ros//EnvironmentVariables)ros环境变量
  • (动手学习深度学习)第13章 计算机视觉---图像增广与微调
  • (附源码)python房屋租赁管理系统 毕业设计 745613
  • (剑指Offer)面试题41:和为s的连续正数序列
  • (南京观海微电子)——I3C协议介绍
  • (篇九)MySQL常用内置函数
  • (转)树状数组
  • .net Stream篇(六)
  • .NET 反射 Reflect
  • .Net 应用中使用dot trace进行性能诊断
  • //解决validator验证插件多个name相同只验证第一的问题
  • :中兴通讯为何成功
  • @AliasFor注解
  • @font-face 用字体画图标