当前位置: 首页 > news >正文

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

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

  • 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:latestcontainer_name: influxdbports:- "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/influxdbgrafana:image: grafana/grafana:latestcontainer_name: grafanaports:- "3000:3000"environment:- GF_SECURITY_ADMIN_USER=${GRAFANA_USERNAME}- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PASSWORD}depends_on:- influxdbuser: "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=influxdbGRAFANA_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接口自动化测试实战教程全集(实战最新版)

相关文章:

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

此性能测试监控平台,架构可以是: GrafanaInfluxdbJmeterGrafanaPrometheusJmeter Influxdb和Prometheus在这里都是时序性数据库 在测试环境中,压测数据对存储和持久化的要求不高,所以这里的组件可以都通过docker-compose.yml文件…...

【笔记】MSPM0G3507移植RT-Thread——MSPM0G3507与RT_Thread(二)

一.创建新工程 找到"driverlib\empty"空白工程,CTRLC然后CTRLV复制副本 重命名为G3507_RTT 打开KEIL工程 双击empty.syscfg,然后打开SYSCONFIG 我的不知道为啥没有48pin选项,如果你也一样,可以跟着我做,如果…...

计算机毕业设计 美发管理系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点…...

soapui调用接口参数传递嵌套xml,多层CDATA表达形式验证

1.环境信息 开发工具:idea 接口测试工具:soapui 编程语言:java 项目环境:jdk1.8 webservice:jdk自带的jws 处理xml:jdk自带的jaxb 2.涉及代码 package org.example.webdemo;import javax.jws.WebMethod; i…...

GB/T35561-2017d,GB/T38565-2020,ocr解析文本

因系统需要只找到pdf版本,解析一版记录 GB/T35561-2017d 10000 , 自然灾害 10100 , 水旱灾害 10101 , 洪水 10102 , 内涝 10103 , 水库重大险情 10104 , 堤防重大险情 10105 , 凌汛 10106 , 山洪 10107 , 农业干旱 10108 , 城镇缺水 10109 , 生态干旱 10110 , 农村…...

IDEA使用LiveTemplate快速生成方法注释

本文目标:开发人员,在了解利用Live Template动态获取方法输入输出参数、创建日期时间方法的条件下,进行自动生成方法注释,达到自动添加方法注释的程度; 文章目录 1 场景2 要点2.1 新增LiveTemplate模版2.2 模版内容填写…...

慢SQL优化

1、避免使用select * select * 不会走覆盖索引,会出现大量的回表操作,从而导致查询sql的性能很低。 --反例 select * from user where id 1;--正例 select name,age from user where id 1;2、union all 代替 union union:去重后的数据…...

MES生产执行系统源码,支持 SaaS 多租户,技术架构:springboot + vue-element-plus-admin

MES的定义与功能 MES是制造业中一种重要的管理信息系统,用于协调和监控整个生产过程。它通过收集、分析和处理各种生产数据,实现对生产流程的实时跟踪和监控,并为决策者提供准确的数据支持。MES涵盖了工厂运营、计划排程、质量管理、设备维护…...

【Linux】分析hung_panic生成的vmcore

简介 1、遇到一个问题: 上述日志是oom_kill,下述日志是hung_panic 2、分别解释两层含义,全部日志如下: [75834.243209] kodo invoked oom-killer: gfp_mask0x600040(GFP_NOFS), order0, oom_score_adj968 [75834.245657] CPU: 0…...

unity 画线写字

效果 1.界面设置 2.涉及两个脚本UIDraw.cs和UIDrawLine.cs UIDraw.cs using System; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems; using UnityEngine.UI;public class UIDraw : MonoBehaviour, IPointerEnterHandler, IPointerEx…...

GitHub的详细介绍

GitHub是一个面向开源及私有软件项目的托管平台,它建立在Git这个分布式版本控制系统之上,为开发者提供了在云端存储、管理和共享代码的便捷方式。以下是对GitHub的详细介绍: ### 一、GitHub的基本功能 1. **代码托管**:GitHub允…...

【鸿蒙学习】HarmonyOS应用开发者基础 - 构建更加丰富的页面之Tabs(三)

学完时间:2024年8月14日 一、前言叨叨 学习HarmonyOS的第六课,人数又成功的降了500名左右,到了3575人了。 本文接上一文章【鸿蒙学习】HarmonyOS应用开发者基础 - 构建更加丰富的页面(一),继续记录构建更…...

Detectron2 安装指南

文章目录 前言Detectron2官方文档官方指南 安装 Detectron2虚拟环境安装 PyTorch安装 Detectron2 总结 前言 Detectron2 是 Meta AI 的一个机器视觉相关的库,建立在 Detectron 和 maskrcnn-benchmark 基础之上,可以进行目标检测、语义分割、全景分割&am…...

亚马逊 Linux mysql5.7 安装纪录

wget https://downloads.mysql.com/archives/get/p/23/file/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz cp /home/admin/mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz /usr/local/mysql #解压压缩包 tar -zxvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz 重命名mysql-…...

ZLMediaKit编译webrtc

ZLMediaKit官方文档写的挺详细的,但是也不算特别详细。 按照上面的文档,执行到cmake的时候,会提示“srtp 未找到, WebRTC 相关功能打开失败”,但是cmke还是可以继续啊。此时看文档说webrtc比较复杂,默认是不编译的&am…...

KEEPALIVED高可用集群最详解

目录 一、高可用集群 1.1 集群的类型 1.2 实现高可用 1.3 VRRP:Virtual Router Redundancy Protocol 1.3.1 VRRP相关术语 1.5.2 VRRP 相关技术 二、部署KEEPALIVED 2.1 keepalived 简介 2.2 Keepalived 架构 2.3 Keepalived 环境准备 2.3.1 实验环境 2…...

【大模型】llama-factory基础学习

前言:LLaMA-Factory项目的目标是整合主流的各种高效训练微调技术,适配市场主流开源模型,形成一个功能丰富,适配性好的训练框架。 目录 1. 前期准备2. 原始模型直接推理3. 自定义数据集4. 模型训练5. 模型合并并导出 1. 前期准备 …...

【Java】如何使用jdbc连接并操作MySQL,一文读懂不迷路,小白也能轻松学会

JDBC的原理 JDBC(Java Database Connectivity)是Java提供的用于连接和操作数据库的API。它允许Java应用程序与各种数据库进行交互,以下是JDBC的基本原理: 驱动程序管理:JDBC使用不同的数据库驱动程序来连接不同类型的…...

新手学习VR全景需要知道的几个问题

1.什么是720云 720云是一家专注于VR全景内容制作与展示的技术平台,提供从拍摄、编辑到发布的一站式解决方案。它的核心功能包括全景图像的制作和编辑工具,以及VR全景内容的在线展示和分享服务。720云的技术广泛应用于房地产、旅游、教育、文化展示等多个…...

上海知名泌尿外科专家常态化坐诊黄山新晨医院,让前列腺癌看得更早、更准!

继7月28日上海第四人民医院泌尿外科专家在黄山新晨医院开展义诊之后,8月9日和10日,该团队领头人周铁教授又完成了合作以来的首次坐诊,标志着双方合作从此进入常态化阶段。 周铁主任在查看患者的检查报告 周铁主任曾任中华医学会泌尿外科分会…...

新手入门实战:基于 Spring Boot 的计算机毕设题目推荐管理系统设计与实现

对于计算机专业的同学来说,毕业设计(毕设)是大学学习成果的一次重要检验。然而,选题环节往往令人头疼:题目来源分散、重复率高、与个人兴趣或能力不匹配,缺乏一个集中的平台进行管理和推荐。今天&#xff0…...

AI建站避坑指南:10个高频问题与风险防范全解析

用AI建站虽然快,但过程中隐藏的风险如果没到,轻则内容效果差,重则可能有版权或合规隐患。这份避坑指南,围绕大家最关心的10个核心问题,给出客观的分析和可操作的防范建议,帮你安心用好AI建站工具。\### 核心…...

60个AI核心概念,不背定义,全落到工作场景!老王手把手教你建知识库、搭Agent,附原型库+PRD模板

💡 Chunking 文档分块 你的 RAG 知识库上线了,用户问一个具体问题,系统返回了一段莫名其妙的内容。一查发现,检索到的文档片段被切在了一个句子中间,上半句话在一个块里,下半句在另一个块里。模型看到半句…...

《热江手游》千人跨服战 + 自由交易,老玩家直呼真香!

《热江手游》手游来袭,正版授权 1:1 复刻经典,剥离冗余氪金系统,回归 MMO 最本真的乐趣 —— 无 VIP 碾压、无强制付费,所有极品道具全靠打,零氪玩家也能凭实力登顶江湖!​ 无论是泫勃派、南林等标志性地图…...

NaViL-9B效果惊艳:复杂背景证件照文字识别+人像属性分析展示

NaViL-9B效果惊艳:复杂背景证件照文字识别人像属性分析展示 1. 模型能力概览 NaViL-9B作为原生多模态大语言模型,在证件照处理领域展现出惊人的能力。它不仅能够准确识别复杂背景下的文字信息,还能对人像属性进行智能分析,为证件…...

Oracle Product Hub Portal Cloud(简称 OPH Cloud)是 Oracle 提供的基于云的主数据管理(MDM)解决方案

Oracle Product Hub Portal Cloud(简称 OPH Cloud)是 Oracle 提供的基于云的主数据管理(MDM)解决方案,专为统一、治理和分发产品主数据而设计。它是 Oracle Cloud Enterprise Resource Planning (ERP)、Supply Chain M…...

华为OD面试-Java、C++、Pyhton等多语言实现-目录

👨‍⚕️ 主页: gis分享者 👨‍⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍⚕️ 收录于专栏:华为OD面试 文章目录一、🍀2023A卷二、🍀2023B卷一、&#x1…...

OpenClaw隐私保护:百川2-13B本地化部署下的数据全生命周期管理

OpenClaw隐私保护:百川2-13B本地化部署下的数据全生命周期管理 1. 为什么需要关注OpenClaw的隐私保护? 去年我在整理公司财报时,曾不小心把包含敏感数据的Excel表格上传到了公有云AI助手的聊天窗口。虽然及时删除了记录,但那种&…...

OpenClaw团队协作版:ollama-QwQ-32B支持多用户任务隔离实践

OpenClaw团队协作版:ollama-QwQ-32B支持多用户任务隔离实践 1. 为什么我们需要团队协作版的OpenClaw 去年我带领一个5人内容团队时,遇到了一个典型问题:每个人都想用AI自动化处理日常工作,但共享同一套系统会导致文件混乱、任务…...

OpenClaw+Qwen3.5-9B组合创新:AI绘画描述词自动优化与批量生成

OpenClawQwen3.5-9B组合创新:AI绘画描述词自动优化与批量生成 1. 为什么需要AI绘画描述词优化 去年我开始尝试用Stable Diffusion进行艺术创作时,最头疼的就是提示词(prompt)的编写。每次都要反复调整形容词、风格修饰词、艺术家…...