应用Docker快速实现 JMeter + InfluxDB + Grafana 监控方案

Docker 是一个基于 Go 语言 并遵从 Apache2.0 协议开源的应用容器引擎,其能够让开发人员打包他们的开发的应用以及依赖包到一个轻量级、可移植的容器中,然后再发布到测试和线上环境,当然也可以实现虚拟化。容器是完全使用沙箱机制,可应用于自动化测试、持续集成和产品发布等场景。您可以使用Docker提供的较少命令或脚本快速部署应用系统。如今Docker正如火如荼的被很公司所采用,成为容器化产品开发、测试和产品部署的利器。

鉴于Docker在开发和测试方面的广泛应用,这里笔者也针对Docker来讲一下如何快速的实现基于Docker的JMeter + InfluxDB + Grafana 监控方案。

这里笔者先介绍一下环境,这里笔者有一台Windows10的宿主机,在该机器上有一个Vmware CentOS 7的虚拟机(IP地址:192.168.176.129),在该虚拟机上已经安装了Docker。

下面笔者就向大家详细介绍,如何应用Docker快速实现 JMeter + InfluxDB + Grafana 监控方案。

  • InfluxDB配置过程

首先,下载InfluxDB和Grafana的镜像文件,下载过程笔者不再赘述,下载后的镜像参见图10-29所示。

图10-29

如图10-29所示,这里我们使用InfluxDB早期的版本,因为早期的版本有一个Web端管理界面可以方便建库或者查询数据。接下来,创建一个名称为myinfluxdb的容器,并挂在数据卷,暴露8086和8083端口。

使用如下docker 命令:

docker run -di --name myinfluxdb -v /var/lib/influxdb:/var/lib/influxdb -p 8083:8083 -p 8086:8086 tutum/influxdb

图10-30

如图10-30所示,可以看到myinfluxdb容器成功创建。

接下来,您可以通过访问http://192.168.176.129:8083地址来创建一个InfluxDB数据库,这里笔者创建名称为jmeterdb的数据库。

图10-31

如图10-31所示,在文本框输入CREATE DATABASE "jmeterdb"回车后,则可以创建一个名称为jmeterdb的数据库。

图10-32

如图10-32所示,在文本框输入SHOW DATABASES回车后,则可以看到jmeterdb数据库相关信息。

  • Grafana配置过程

创建一个名称为mygrafana的容器,并暴露3000端口。

使用如下docker 命令:

docker run -di --name mygrafana -p 3000:3000 grafana/grafana

图10-33

如图10-33所示,可以看到mygrafana容器成功创建。

在宿主机打开浏览器,输入http://192.168.176.129:3000,则可以访问Grafana登录页,如图10-34所示。

图10-34

具体的配置过程同上一小节"安装并配置Grafana"部分类似,故不再赘述。

在这里需要大家注意的有2个地方,参见图10-35和图10-36所示。

图10-35

如图10-35所示,在添加数据源设置时,URL配置项可以指定CentOS虚拟机的地址,完整输入内容为http://192.168.176.129:8086

图10-36

如图10-36所示,在数据库时一定要输入刚才我们创建的jmeterdb,而不是jmeter,而后保存并测试是否可以配置成功。

导入ID为5496的Dashboard模版,如图10-37所示。

图10-37

  • JMeter配置过程

这里笔者仍以访问搜搜首页(www.soso.com)的脚本为例进行配置讲解,如图10-38所示。

图10-38

修改Backend Listener元件的相关配置信息,如图10-39所示。这里笔者主要修改了2项内容,即:influxdbUrl和application,influxdbUrl的值为http://192.168.176.129:8086/

write?db=jmeterdb,application的值为dockertest。

图10-39

再次执行访问搜搜首页的测试场景,如图10-40所示。

图10-40

待该测试计划场景执行完成后,访问Grafana展示的JMeter执行的结果信息,如图10-41所示。对比图10-28,大家不难发现这次的执行结果和上节的执行结果完全一致。

图10-41

相关推荐
腾科IT教育3 小时前
Oracle认证怎么选?2026年OCP/OCM报考指南
linux·运维·华为认证·hcie·开闭原则·datacom
幸福指北4 小时前
🚀 开源了,一个人 + AI 肝出一个 AI 终端 | AShell 技术分享
运维·人工智能·ai·终端
肥胖小羊5 小时前
微信社群自动化管理与防骚扰系统的设计与实现
运维·自动化
AI办公探索者6 小时前
仓储物流AI任务执行的技术拆解:从WMS自动化到多设备协同的落地路径
运维·人工智能·ai·自动化
暖和_白开水7 小时前
数据分析agent(十三_3):docker mysql容器镜像服务的异常错误
mysql·docker·容器
longerxin20207 小时前
nano编辑器插入、编辑完整操作教程(Linux日志/配置专用)
linux·运维·编辑器
cesium vue8 小时前
nginx 流媒体配置
运维·nginx
木心术18 小时前
GitHub Actions自动化运维实战:从CI/CD到全链路DevOps
运维·自动化·github
糯米导航8 小时前
实践教程|搭建电商 AI 无限画布,实现百款商品主图自动化批量生成
运维·人工智能·自动化
朴马丁8 小时前
从制造到智造:PLM如何赋能企业研发创新
大数据·运维·人工智能·食品行业·流程行业plm·化工新材料行业·新能源材料行业