Grafana+Influxdb(Prometheus)+Apache Jmeter搭建可视化性能测试监控平台

news2024/12/23 6:27:36

此性能测试监控平台,架构可以是:

  • Grafana+Influxdb+Jmeter
  • Grafana+Prometheus+Jmeter
    Influxdb和Prometheus在这里都是时序性数据库

在测试环境中,压测数据对存储和持久化的要求不高,所以这里的组件可以都通过docker-compose.yml文件或docker容器的方式进行安装,这样更加简明高效,不用逐个二进制的方式去安装服务。

docker、docker-compose的部署流程这里不过多赘述。

通过docker-compose部署

通过docker-compose部署grafana和Influxdb的docker-compose文件如下:

version: '3.1'

services:
 influxdb:
   image: influxdb:latest
   container_name: influxdb
   ports:
     - "8083:8083"
     - "8086:8086"
     - "8090:8090"
   environment:
     - INFLUXDB_DB=influxdb
     - INFLUXDB_ADMIN_USER=${INFLUXDB_USERNAME}
     - INFLUXDB_ADMIN_PASSWORD=${INFLUXDB_PASSWORD}
   volumes:
     - influxdb-storage:/var/lib/influxdb

 grafana:
   image: grafana/grafana:latest
   container_name: grafana
   ports:
     - "3000:3000"
   environment:
     - GF_SECURITY_ADMIN_USER=${GRAFANA_USERNAME}
     - GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASSWORD}
   depends_on:
     - influxdb
   user: "0"
   volumes:
     - grafana-storage:/var/lib/grafana
     - ./grafana-provisioning/:/etc/grafana/provisioning
volumes:
  influxdb-storage:
  chronograf-storage:
  grafana-storage:

设置环境文件.env,设置influxdb和grafana的用户名和密码:

cat .env 
INFLUXDB_USERNAME=admin
INFLUXDB_PASSWORD=influxdb

GRAFANA_USERNAME=admin
GRAFANA_PASSWORD=grafana

运行docker-compose,安装influxdb和grafana,容器正常启动后如图:

# 启动容器
docker-compose up 

注意:如果docker-ce没有正常安装,则执行docker-compose up -d会提示iptables的报错:

Failed to program FILTER chain: iptables failed: iptables --wait -I FORWARD -o br-fe155984ff4c -j DOCKER: iptables v1.4.21: Couldn't load target `DOCKER':No such file or directory

这个错误信息表明iptables无法加载目标DOCKER,因为没有找到该文件或目录。这通常是由于缺少所需的iptables插件或模块引起的。确保系统上已正确安装了Docker和iptables,且版本兼容。
还可以尝试更新iptables和Docker的版本,以解决这个问题。

grafana访问方式:http://172.16.108.119:3000
初始登录用户为:admin
初始登录密码为:grafana

登录到grafana主页后,创建新的Data Source:

配置Database,选择InfluxDB:

填写IP地址及8086端口:

输入InfluxDB信息,user和password按照env文件中设定的自行修改:

grafana dashboard导入Jmeter模板
到dashboard去下载:Grafana dashboards | Grafana Labs

或者直接访问grafana:Apache JMeter Dashboard using Core InfluxdbBackendListenerClient | Grafana Labs
复制该模板的ID 或者URL

到我们登录的grafana主页去粘贴

可以进行命名,填写之前建好的DataSource名字,设置发送时间,保存即可。

转到刚刚建好的主页,如上图,右上角可以设置:

通过Docker Images安装

安装Influxdb

# 搜索influxdb
docker search influxdb
# 拉取influxdb镜像
docker pull influxdb
# 查看镜像images
docker images
# 运行influxdb容器
docker run --name my_influxdb -p 8086:8086 influxdb:1.8-alpine 
# 查看运行的容器container
docker ps -a
# 进入容器
docker exec -it 容器ID /bin/bash
influx
# 创建数据库jmeterDB
show databases;
create database jmeterdb;

my_influxdb容器运行成功

安装grafana

# 搜索grafana
docker search grafana
# 拉取grafana镜像
docker pull grafana/grafana
# 运行容器
docker run --name my_grafana -p 3000:3000 grafana/grafana
# 查看状态
docker ps -a
# 退出来再次启动即可
docker start ContainerID

接下来就是使用http://172.16.108.119:3000去登陆grafana并进行配置了。

步骤如上文docker-compose的方式。

Prometheus(测试在本地配置)

需要在Jmeter下装一个插件,用于监听。
https://search.maven.org/remotecontent?filepath=com/github/johrstrom/jmeter-prometheus-plugin/0.6.0/jmeter-prometheus-plugin-0.6.0.jar
下载jmeter-prometheus-plugin-0.6.0.jar之后放到Jmeter/lib/ext下,重启Jmeter即可。

更多设置参考这篇文章: JMeter, Prometheus, and Grafana Integration - QAInsights

总结

搭建其实不难,一个配置文件就搞定,但是想要更好地应用到实践中则需要对Grafana Dashboard做更多的优化和设置。
Grafana+Prometheus+Jmeter这种方式不过就是换一个DataBase,将InfluxDB换成Prometheus,理念大体一样,很细微的差别。
Grafana+Prometheus/influxDB模式可以用到其他地方的监控,也是个不错的选择。

 这是我整理的《2024最新Python自动化测试全套教程》,以及配套的接口文档/项目实战【网盘资源】,需要的朋友可以下方视频的置顶评论获取。肯定会给你带来帮助和方向。

【已更新】B站讲的最详细的Python接口自动化测试实战教程全集(实战最新版)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2041327.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

制氧机在造纸工业中的作用

在现代造纸工业中,制氧机扮演着至关重要的角色,为整个生产流程带来了诸多显著的优势和改进。 制氧机能够优化纸浆的漂白过程。传统的漂白方法可能效果不佳,且对环境造成较大压力。而通过制氧机制备的高纯度氧气参与漂白反应,能大大…

Langchain pandas agent - Azure OpenAI account

题意:Langchain pandas代理 - Azure OpenAI账户 问题背景: I am trying to use Langchain for structured data using these steps from the official document. 我正在尝试使用 Langchain 处理结构化数据,按照官方文档中的这些步骤进行操作…

软件测试第2章 黑盒测试和白盒测试对比

目录 一、黑盒测试 二、白盒测试 三、黑盒测试 VS 白盒测试 一、黑盒测试 1、它只检查程序功能是否能按照需求规格说明书的规定正常使用,程序是否能适当地接受输入数据而产生正确的输出信息。 2、黑盒测试也称功能测试,通过测试来检测每个功能是否能…

《熬夜整理》保姆级系列教程-玩转Wireshark抓包神器教程(4)-再识Wireshark

1.简介 按照以前的讲解和分享路数,宏哥今天就应该从外观上来讲解WireShark的界面功能了。 2.软件界面 由上到下依次是标题栏、主菜单栏、主菜单工具栏、显示过滤文本框、打开区、最近捕获并保存的文件、捕获区、捕获过滤文本框、本机所有网络接口、学习区及用户指…

文件上传漏洞(三,靶场详解)

前言: 本文基于github上的upload-labs,PHP study以及bp抓包软件进行操作。 靶场环境搭建及pass-1.pass-2请转到:文件上传漏洞(二,靶场搭建及漏洞利用) 一,pass-3。 查看源码可知&#xff0c…

OJ-0815

题目 示例1 输入 bb1234aa 输出 10示例2 输入 bb12-34aa 输出 -31示例3 输入 bb0012-0034aa 输出 -31题解 import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner scanner new Scanner(System.in);long res 0;String s scanner…

在WinCC(TIA Portal)项目中,如何正确的使用面板,模板,弹出窗口和滑入窗口?

WinCC(TIA Portal)中提供了许多设计元素和组态对象,使得组态工作变得简单,文档中简要介绍了这些内容. WinCC(TIA Portal) 中提供了许多设计元素和组态对象,使得组态工作变得简单,文档中简要介绍了这些内容。 在 WinCC(TIA Portal) 中使用以下选项有助于提高组态过程…

git是什么/基本指令

git作用 去中心化, 分布式版本控制器 新增术语:仓库区, 工作区, 暂存区 具体见下板书 常用git命令 git clone 仓库网址 git status 查看仓库状态 git add newfile 临时添加到git仓库 git commit -m 正式添加git仓库 g…

电商SaaS聚水潭上市“求解”

时隔半年之后,电商ERP龙头聚水潭,再次向港交所递交主板上市申请,中金公司、摩根大通成为其联席保荐人。作为辅助电商商家运营的SaaS,其所提供的服务,主要包括库存分配、店铺管理、客户服务等诸多项目。作为国内最大的电…

机械行业数字化生产供应链产品解决方案(七)

在机械行业的数字化生产供应链产品解决方案中,通过全面部署物联网(IoT)传感器、智能分析平台和自动化控制系统,实现对生产设备的实时监控和数据采集,并结合大数据和人工智能技术进行深度分析,从而优化生产调…

AI绘画Stable Diffusion可以帮我做室内设计啦!把AI出图 应用到工作当中已经是人人必备的技能啦!

哈喽大家好,我是画画的小强 今天给大家带来个有意思教程,就是AI绘画Stable Diffusion 辅助帮我做室内设计! 在本篇文章中我们可以把Stable Diffusion 当做一个小的渲染器来用,帮助我们快速出图,以及快速的出概念的创…

【网络】应用层协议-http协议

应用层协议-http协议 文章目录 1.Http协议1.1什么是http协议1.2认识URL1.3urlencode和urldecode1.4HTTP请求协议格式1.5HTTP响应协议格式1.6HTTP常见的Header1.7HTTP常见状态码1.8HTTP的方法1.8根据url调取对应的服务 2.cookie和session2.1cookie2.2session 3.HTTPS协议3.1对称…

【Linux入门】Linux环境搭建

目录 前言 一、发行版本 二、搭建Linux环境 1.Linux环境搭建方式 2.虚拟机安装Ubuntu 22.02.4 1)安装VMWare 2)下载镜像源 3)添加虚拟机 4)换源 5)安装VM Tools 6)添加快照 总结 前言 Linux是一款自由和开放…

notepad++安装HexEdit插件

notepad安装HexEdit插件 打开notepad,选择插件—>插件管理 在这里找到HexEdit点击安装就可以 点击完,notepad会自动重启,重启完成就安装好了

企业如何通过数据虚拟化,构建逻辑数据编织平台?

逻辑数据编织的理念来自于 Data Fabric 这一创新的架构理念。尤其是在过去五六年间,这个理念在国际领域持续保持其热度与前沿性,成为备受瞩目的技术趋势。 Data Fabric 的核心观点在于正视并接受数据物理集中化的不可行性,进而探索通过技术手…

44 个 React 前端面试问题

1.你知道哪些React hooks? useState:用于管理功能组件中的状态。useEffect:用于在功能组件中执行副作用,例如获取数据或订阅事件。useContext:用于访问功能组件内的 React 上下文的值。useRef:用于创建对跨…

直播禁言后极氪总部遭围堵,手机模式造车的反噬来了?

说实话,在热闹无比的车圈,曾经不咋缺话题的极氪,自从各大新势力强势崛起,尤其是小米杀进来后,已经好久没有像这一次这样被当成公共话题讨论了。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ 不过这一次&#xff0…

大模型面试题库精选:必考问题与答案全收录

节前,我们星球组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学,针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 今天…

让项目管理更高效:10款文档管理工具

这篇文章介绍了以下几个工具:PingCode、Worktile、企企通、网易云信、Tower、ProcessOn、Zoho Docs、iWork、Confluence、Google Drive。 项目管理中,文档的管理常常是一大痛点。文档分散、版本混乱、协作不便,这些问题不仅耗费时间&#xf…

ctfshow-web入门-sql注入(web216-web220)时间盲注结束

目录 1、web216 2、web217 3、web218 4、web219 5、web220 1、web216 最开始还以为是需要进行 base64 的相关处理,其实不必,直接闭合掉前面的括号即可,因为这里是字符串的拼接,将我们的 payload 替换掉那个 $id 。 在上一题的…