docker测试环境搭建(docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程)
docker测试环境搭建
docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程目录
- 1、安装docker
- 2、安装及配置influxDB
- 3、Grafana安装及配置
- 4、Jmeter配置及压测一个接口
背景:
在用jmeter压测接口的时候发现其原生的监控起来不是很友好,在网上查阅的时候发现结合influxDB和grafana,出来的报告很炫酷,监听结果看起来很舒服很明了。
前言:
InfluxDB:是一款用Go语言编写的开源分布式时序数据库。该数据库现在主要用于存储涉及大量的时间戳数据。 小数据量的时候还性能还不错,但是数据量大一点,性能问题就体现出来了。不过只是收集一下我几个小时测试的数据,还是足够了。要是几个月的测试数据那还是建议换其他的数据库。
时序数据库:处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。想象它就像一个sql表,其中时间是它的主键
Grafana:是一个开源软件,拥有丰富的指标仪表盘和图形编辑器,适用Graphite, Elasticsearch, OpenTSDB, Prometheus,InfluxDB。简单点说就是一套开源WEB可视化平台。
原理:
jmeter压测生成测试数据 --> 然后通过jmeter中的后端监听异步将测试数据发送到influxDB中保存起来 --> grafana通过拉取influxDB中的数据,将测试结果的相关数据展示到仪表盘中
influxdb数据库中的名词理解
influxDB中的名词 | 传统数据库中的概念 |
---|---|
database | 数据库 |
measurement | 数据库中的表 |
points | 表里面的一行数据 |
我是在ubuntu上部署的
1、安装docker由于apt官方库里的docker版本可能比较旧,所以先卸载可能存在的旧版本:
sudo apt-get remove docker docker-engine docker-ce docker.io
更新apt包索引:
sudo apt-get update
安装以下包以使apt可以通过HTTPS使用存储库(repository):
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
添加Docker官方的GPG密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
使用下面的命令来设置stable存储库:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
再更新一下apt包索引:
sudo apt-get update
安装最新版本的Docker CE:
sudo apt-get install -y docker-ce
检查docker是否安装完成:
docker --version
当提示docker 版本就说明docker安装成功了
2、安装及配置influxDB2.1 docker下安装influxDB 查看并拉取镜像
##查看镜像 docker search influx ## 根据镜像名称拉取镜像 docker pull tutum/influxdb
运行镜像并生成容器
## -d 让服务后台运行,指令退出了,程序依旧运行 docker run -d --name jmeter-influx -p 8086:8086 tutum/influxdb
--name jmeter-influx:指定生成的容器的名称为jmeter-influx,可根据自己情况自行起名
-p 8086:8086:指定端口映射,宿主机端口 : 容器端口
tutum/influxdb :镜像名称,可根据自己情况自行起名
查看容器是否生成成功
## 查看镜像是否打成功 docker images ## 查看容器是否启动成功 docker ps ## 查看所有启动过的容,包括成功和失败的 docker ps -a
浏览器可访问地址:http://xxx.x.xxx.xxx:8086/ , 地址是服务器ip+映射的地址
页面提示404,但是没有无法访问即可
2.2 创建数据库
##进入Influxdb的Docker容器内 docker exec -it 容器id /bin/bash ##打开influx influx ##查看数据库并创建jmeter数据库 show databases; create database jmeter; show databases; use jmeter; select * from jmeter; exit;
3.1 docker安装grafana 查看并拉取镜像
##查看镜像 docker search grafana ## 根据镜像名称拉取镜像 docker pull grafana/grafana
运行镜像并生成容器
## 运行镜像并生成容器 run -d --name my_grafana -p 3000:3000 grafana/grafana
3.2 Grafana中配置influxDB
浏览器通过访问网址 http://ip:端口,登录用户名和密码都为admin
成功登陆后,添加数据源,我们这里选择influxDB。我这已经创建成功了一个名为influxDB_demo的数据源了
配置前面我们创建的influxDB的jmeter数据库信息,并测试连接是否成功
至此,数据源配置成功成功了。因我已经有一个了,这个就给删除掉了
3.3 Grafana使用模板创建仪表盘
配置好了influxdb的数据源,那么就可以获取到测试数据,现在需要将获取的数据展示出来,这也是grafana图形化的作用了
官网下载jmeter对应的仪表盘模板
下载地址:https://grafana.com/grafana/dashboards
左右Data Source 选择influxDB,然后可以根据名称搜索一下jmeter就可以看到需要的插件了
grafana中导入模板
+ 号 --> import --> upload JSON file -->选择下载下来的jmeter插件,然后配置一下相关信息
name:仪表盘的名称,自己定义即可
Folder:文件夹目录,即这个仪表盘保存到哪个目录下;默认即可
DB name:前面配置的influxdb数据源
Measurement name:influxDB数据库名称
Backend send interval:间隔时间
配置好信息后,点击【import】就可以看到仪表盘页面了
4、Jmeter配置及压测一个接口在jmeter测试的一个接口中配置一个后端监听器
配置这个监听器
Backend Listener implementation:后端监听器实现选择带有influxdb的
influxdbUrl:ip、端口和数据库名称修改为influxdb的ip和端口,以及对应数据库的名称
jmeter中运行这个接口后,查看grafana中对应仪表盘中的数据
到此这篇关于docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程的文章就介绍到这了,更多相关docker搭建可视化性能监控平台内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
- docker镜像保存教程(docker镜像导入导出备份迁移的操作)
- windows docker 使用数据库教程(docker安装并持久化postgresql数据库的操作步骤)
- docker容器状态显示(Docker consul的容器服务更新与发现的问题小结)
- docker容器解决隔离的技术(Docker+selenium实现自动化健康报备的方法)
- 日常操作docker命令(SEATA事务服务DOCKER部署的过程详解)
- docker容器内部怎么查看id(docker容器中无法获取宿主机hostname的解决方案)
- docker自动执行镜像(docker实现重新打tag并删除原tag的镜像)
- docker保存容器的配置文件(docker cp 拷贝文件 和 进入容器的操作)
- java连接mongodb(Docker连接mongodb实现过程及代码案例)
- docker容器和主机端口映射(docker利用单个镜像映射到多个端口操作)
- tomcat docker 性能(Docker Nginx容器和Tomcat容器实现负载均衡与动静分离操作)
- 如何使用docker启动tomcat(简述Docker安装Tomcat镜像并部署web项目)
- 自建docker镜像仓库(使用docker制作分布式lnmp 镜像)
- 实战部署nginxdocker(基于Docker、Nginx和Jenkins实现前端自动化部署)
- docker 退出容器详解(Docker 使用nsenter工具进入容器的操作)
- dockerjenkins最新消息(新手必看docker安装jenkins详细教程)
- 素人恋爱综艺火药味十足 男生为赢得芳心集体扯头花,真是出好戏(素人恋爱综艺火药味十足)
- 《囧妈》为何受抵制 春节七部影片撤档背后的责任与博弈(囧妈为何受抵制)
- 提醒 2019年起河南驾考要开设科目五 官方回应来了(2019年起河南驾考要开设科目五)
- 省 市书法家协会 送万福进万家 活动走进禹州美丽乡村(省市书法家协会)
- 点赞 禹州苌庄正式撤乡建镇 未来发展不可估量(禹州苌庄正式撤乡建镇)
- 它荣获 中国生态魅力镇 称号 就在咱们禹州,一起来看看(中国生态魅力镇)
热门推荐
- react和antd管理系统(手把手教你从零开始react+antd搭建项目)
- python opencv图像合并(Python3+OpenCV2实现图像的几何变换平移、镜像、缩放、旋转、仿射)
- mysql中json的支持(MySQL中json字段的操作方法)
- 纯css实现多级菜单(纯CSS实现可折叠树状菜单)
- NameValueCollection用法
- dede织梦怎么在文章下面添加图片(dedecms织梦模板用array调用多个自定义字段并判断的方法)
- SQL Server中SQL语句或者存储过程的最大长度
- dedecms如何更改主页模板(织梦dedecms sitemap路径修改方法)
- 使用python制作游戏(python制作填词游戏步骤详解)
- nginx 处理服务器错误(nginx服务器异常502 bad gateway原因排查)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9