工具介绍:

InfluxDB:是一款用Go语言编写的开源分布式时序、事件和指标数据库,无需外部依赖。该数据库现在主要用于存储涉及大量的时间戳数据,如DevOps监控数据,APP metrics, loT传感器数据和实时分析数据。时间序列数据库:时间序列是随时间变化采集的数据序列。时序数据库是处理时间序列数据的软件应用程序。想象它就像一个sql表,其中时间是主键!

官方网址:https://www.influxdata.com

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

官方网址:https://grafana.com

从这个几个问题出发

  1. 这是什么,Jmeter 一款性能测试工具,InfluxDB时序存储数据库 Grafana监控面板

  2. 给谁用,当然给测试人员使用,在内部团队中推广起来

  3. 为什么用,比Jmeter原生的报告美观,可以实时观察,监控

  4. 怎么用,看安装及使用

准备工作:

  1. Linux 系统 CentOS

  2. 已经安装好 Docker version 19.03.3

  3. 已经安装好 Jmeter 5.1版本,配置 Jmeter插件包 装好 中文 后端监听器,英文:Backend Listener插件

安装:

    jmeter 可以去官网下载   
    http://jmeter.apache.org/download_jmeter.cgi

Docker 环境安装,配置镜像加速,镜像加速提升容器镜像下载的速度

https://yeasy.gitbooks.io/docker_practice/content/install/

或者访问官方网站

Docker 安装命令写到 shell 命令中,新建文件名 jmeterGra.sh

$ docker run -d -p 8086:8086 -p 8083:8083 --name=jmeterdb tutum/influxdb

$ docker run -d -p 3000:3000 --name=jmeterGraf grafana/grafana

docker 命令

run 运行容器

-d 指在后台运行

-p 8086:8086  暴露端口,宿主机(可以理解为主机的)端口:容器端口

-- name 容器的名字

tutum/influxdb  为镜像的名称

这里 InfluxDb 会暴露两个端口,8086 提供给 Grafana 使用。8083 提供给InfluxDB web服务使用

已经安装好 InfluxDB Grafana 镜像

#查看镜像

docker images 

#查看正在运行的容器

$ docker ps

访问InfluxDB ip+8083 端口

# 创建数据库命令,名字为 jmeter
CREATE DATABASE "jmeter"
# 查看所有数据库
SHOW DATABASES

#查看数据库表结构

show measurements

访问 Grafana ip+3000端口,初始账号密码都是 admin,可以跳过修改密码

  • Grafana配置

选择 InfluxDB

Grafana 创建监控面板,这里使用官网提供的监控面板 ID 5496
官网  https://grafana.com/grafana/dashboards,搜索jmeter

导入 Grafana 面板的 jmeter ID

就可以看到漂亮的Grafana 监控 jmeter 资源面板了

接下来配置 Jmeter 的 Backend Listener 插件

线程组-->添加-->监听器--> 后端监听器

启动Jmeter 压测,配置5个线程数

可以去Grafana 刷新页面,查看监控信息

通过Docker 服务来搭建 InfluxDB Grafana 监控是比较容易的,只需要配置一些 数据库链接方式,以及数据源,如果使用软件安装的方式,软件很多的地方需要自己去配置。使用Docker 来搭建环境,很方便,可以及时的去监控到 Jmeter 发出去的请求,以前还需要使用Jmeter 自带插件查看报告。切换到 Grafana 就直接在网站上查询就可以了

最新文章

  1. Bash shell的内建命令:type
  2. js弹出确认框,挺全
  3. table表格
  4. Python 基础-python-列表-元组-字典-集合
  5. ora-06502
  6. 安装64位的oracle连接客户端
  7. 筛选实现C++实现筛选法
  8. CodeForces 699A Launch of Collider
  9. jq 通过标签属性匹配标签
  10. 利用vertical-align:middle垂直居中
  11. 设置某个类使用或者禁用ARC
  12. C#数组随机生成四个随机数
  13. function string类型的参数传递
  14. git push 时提示用户名或密码相关错误信息
  15. For、Foreach、和Parallel.For等简单的速度检测
  16. 关于Verilog中begin-end & fork-join
  17. D. Kilani and the Game(多源BFS)
  18. .NET面试题系列(十一)WinDbg、Perfmon
  19. PYTHON-操作系统基础
  20. Java动态菜单添加

热门文章

  1. 关于wireshark的使用
  2. 给锚点a标签添加滑动效果
  3. blocking(非阻塞)回调函数
  4. python模块——datetime
  5. goweb-web服务
  6. 吴裕雄--天生自然 PYTHON3开发学习:多线程
  7. 14 微服务电商【黑马乐优商城】:day06-了解vue-router和webpack的使用
  8. 讯飞语音的中的bug用户校验失败
  9. 获取cell上按钮事件
  10. Java之代码块