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

背景:

在用jmeter压测接口的时候发现其原生的监控起来不是很友好,在网上查阅的时候发现结合influxdbgrafana,出来的报告很炫酷,监听结果看起来很舒服很明了。

前言:

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版本可能比较旧,所以先卸载可能存在的旧版本:

?
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安装成功了

%小知识:docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程-猿站网-插图

2、安装及配置influxdb

2.1 docker下安装influxdb 查看并拉取镜像

?
1
2
3
4
5
##查看镜像
docker search influx
## 根据镜像名称拉取镜像
docker pull tutum/influxdb

运行镜像并生成容器

?
1
2
## -d 让服务后台运行,指令退出了,程序依旧运行
docker run -d –name jmeter-influx -p 8086:8086 tutum/influxdb

–name jmeter-influx:指定生成的容器的名称为jmeter-influx,可根据自己情况自行起名

-p 8086:8086:指定端口映射,宿主机端口 : 容器端口

tutum/influxdb :镜像名称,可根据自己情况自行起名

查看容器是否生成成功

?
1
2
3
4
5
6
7
8
## 查看镜像是否打成功
docker images
## 查看容器是否启动成功
docker ps
## 查看所有启动过的容,包括成功和失败的
docker ps -a

%小知识:docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程-1猿站网-插图

%小知识:docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程-2猿站网-插图

浏览器可访问地址:http://xxx.x.xxx.xxx:8086/ , 地址是服务器ip+映射的地址

页面提示404,但是没有无法访问即可

%小知识:docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程-3猿站网-插图

2.2 创建数据库

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

%小知识:docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程-4猿站网-插图

3、grafana安装及配置

3.1 docker安装grafana 查看并拉取镜像

?
1
2
3
4
5
##查看镜像
docker search grafana
## 根据镜像名称拉取镜像
docker pull grafana/grafana

运行镜像并生成容器

?
1
2
## 运行镜像并生成容器
run -d –name my_grafana -p 3000:3000 grafana/grafana

3.2 grafana中配置influxdb

浏览器通过访问网址 http://ip:端口,登录用户名和密码都为admin

%小知识:docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程-5猿站网-插图

成功登陆后,添加数据源,我们这里选择influxdb。我这已经创建成功了一个名为influxdb_demo的数据源了

%小知识:docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程-6猿站网-插图

%小知识:docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程-7猿站网-插图

配置前面我们创建的influxdb的jmeter数据库信息,并测试连接是否成功

%小知识:docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程-8猿站网-插图

%小知识:docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程-9猿站网-插图

至此,数据源配置成功成功了。因我已经有一个了,这个就给删除掉了

3.3 grafana使用模板创建仪表盘

配置好了influxdb的数据源,那么就可以获取到测试数据,现在需要将获取的数据展示出来,这也是grafana图形化的作用了

官网下载jmeter对应的仪表盘模板

下载地址:https://grafana.com/grafana/dashboards

左右data source 选择influxdb,然后可以根据名称搜索一下jmeter就可以看到需要的插件了

%小知识:docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程-10猿站网-插图

%小知识:docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程-11猿站网-插图

grafana中导入模板

+ 号 –> import –> upload json file –>选择下载下来的jmeter插件,然后配置一下相关信息

%小知识:docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程-12猿站网-插图

%小知识:docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程-13猿站网-插图

name:仪表盘的名称,自己定义即可

folder:文件夹目录,即这个仪表盘保存到哪个目录下;默认即可

db name:前面配置的influxdb数据源

measurement name:influxdb数据库名称

backend send interval:间隔时间

配置好信息后,点击【import】就可以看到仪表盘页面了

%小知识:docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程-14猿站网-插图

4、jmeter配置及压测一个接口

在jmeter测试的一个接口中配置一个后端监听器

%小知识:docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程-15猿站网-插图

配置这个监听器

%小知识:docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程-16猿站网-插图

backend listener implementation:后端监听器实现选择带有influxdb的

influxdburl:ip、端口和数据库名称修改为influxdb的ip和端口,以及对应数据库的名称

jmeter中运行这个接口后,查看grafana中对应仪表盘中的数据

%小知识:docker环境搭建JMeter+Grafana+influxdb可视化性能监控平台的教程-17猿站网-插图

到此这篇关于docker环境搭建jmeter+grafana+influxdb可视化性能监控平台的教程的文章就介绍到这了,更多相关docker搭建可视化性能监控平台内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/weixin_35703883/article/details/118652458

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:让我们一下玩转 Docker 部署

2023-3-20 16:06:35

建站知识

小知识:使用Docker+jenkins+python3环境搭建超详细教程

2023-3-20 16:21:40

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索