• 售前

  • 售后

热门帖子
入门百科

docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程

[复制链接]
音乐之家1 显示全部楼层 发表于 2021-8-14 14:18:12 |阅读模式 打印 上一主题 下一主题
目次


  • 1、安装docker
  • 2、安装及配置influxDB
  • 3、Grafana安装及配置
  • 4、Jmeter配置及压测一个接口
配景:
  1. 在用jmeter压测接口的时候发现其原生的监控起来不是很友好,在网上查阅的时候发现结合influxDB和grafana,出来的报告很炫酷,监听结果看起来很舒服很明了。
复制代码
媒介:
  1. InfluxDB:是一款用Go语言编写的开源分布式时序数据库。该数据库现在主要用于存储涉及大量的时间戳数据。 小数据量的时候还性能还不错,但是数据量大一点,性能问题就体现出来了。不过只是收集一下我几个小时测试的数据,还是足够了。要是几个月的测试数据那还是建议换其他的数据库。
  2. 时序数据库:处理带时间标签(按照时间的顺序变化,即时间序列化)的数据,带时间标签的数据也称为时间序列数据。想象它就像一个sql表,其中时间是它的主键
  3. Grafana:是一个开源软件,拥有丰富的指标仪表盘和图形编辑器,适用Graphite, Elasticsearch, OpenTSDB, Prometheus,InfluxDB。简单点说就是一套开源WEB可视化平台。
复制代码
  1. 原理:
  2. jmeter压测生成测试数据 --> 然后通过jmeter中的后端监听异步将测试数据发送到influxDB中保存起来 --> grafana通过拉取influxDB中的数据,将测试结果的相关数据展示到仪表盘中
复制代码
influxdb数据库中的名词明确
            influxDB中的名词            传统数据库中的概念                                    database            数据库                            measurement            数据库中的表                            points            表内里的一行数据        我是在ubuntu上摆设的

1、安装docker

由于apt官方库里的docker版本大概比较旧,以是先卸载大概存在的旧版本:
  1. sudo apt-get remove docker docker-engine docker-ce docker.io
复制代码
更新apt包索引:
  1. sudo apt-get update
复制代码
安装以下包以使apt可以通过HTTPS利用存储库(repository):
  1. 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存储库:
  1. sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
复制代码
再更新一下apt包索引:
  1. sudo apt-get update
复制代码
安装最新版本的Docker CE:
  1. sudo apt-get install -y docker-ce
复制代码
检查docker是否安装完成:
  1. docker --version
复制代码
当提示docker 版本就阐明docker安装乐成了


2、安装及配置influxDB

2.1 docker下安装influxDB 查看并拉取镜像
  1. ##查看镜像
  2. docker search influx
  3. ## 根据镜像名称拉取镜像
  4. docker pull tutum/influxdb
复制代码
运行镜像并生成容器
  1. ## -d 让服务后台运行,指令退出了,程序依旧运行
  2. docker run -d --name jmeter-influx -p 8086:8086 tutum/influxdb
复制代码
--name jmeter-influx:指定生成的容器的名称为jmeter-influx,可根据本身情况自行起名
-p 8086:8086:指定端口映射,宿主机端口 : 容器端口
tutum/influxdb :镜像名称,可根据本身情况自行起名
查看容器是否生成乐成
  1. ## 查看镜像是否打成功
  2. docker images
  3. ## 查看容器是否启动成功
  4. docker ps
  5. ## 查看所有启动过的容,包括成功和失败的
  6. docker ps -a
复制代码


欣赏器可访问所在:http://xxx.x.xxx.xxx:8086/ , 所在是服务器ip+映射的所在
页面提示404,但是没有无法访问即可

2.2 创建数据库
  1. ##进入Influxdb的Docker容器内
  2. docker exec -it 容器id /bin/bash
  3. ##打开influx
  4. influx
  5. ##查看数据库并创建jmeter数据库
  6. show databases;
  7. create database jmeter;
  8. show databases;
  9. use jmeter;
  10. select * from jmeter;
  11. exit;
复制代码


3、Grafana安装及配置

3.1 docker安装grafana 查看并拉取镜像
  1. ##查看镜像
  2. docker search grafana
  3. ## 根据镜像名称拉取镜像
  4. docker pull grafana/grafana
复制代码
运行镜像并生成容器
  1. ## 运行镜像并生成容器
  2. 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搭建可视化性能监控平台内容请搜刮草根技能分享从前的文章或继续欣赏下面的相干文章希望各人以后多多支持草根技能分享!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

帖子地址: 

回复

使用道具 举报

分享
推广
火星云矿 | 预约S19Pro,享500抵1000!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

草根技术分享(草根吧)是全球知名中文IT技术交流平台,创建于2021年,包含原创博客、精品问答、职业培训、技术社区、资源下载等产品服务,提供原创、优质、完整内容的专业IT技术开发社区。
  • 官方手机版

  • 微信公众号

  • 商务合作