性能测试之grafana展示jmeter测试指标与主机监控

性能测试之grafana展示jmeter测试指标与主机监控

背景

​ 公司新的项目准备开展性能测试,之前性能监控主要使用的jmeter的插件jp@gc-Transactions per Second 与 jp@gc- Response Times Over Time 与 jp@gc - Active Threads Over Time等等插件监控性能指标结果,PerfMon Metrics Collector与ServerAgent监控服务器的性能指标.

​ 本次的方案决定使用grafana展示.具体使用Prometheus监控主机资源情况, influxdb接收jmeter脚本执行信息.所有的图表都可以使用grafana的模版来展示.

​ 本次是第一次使用,有不足之处后续再调整吧.

​ 废话稍多,开整…

一 安装部署Prometheus

步骤 1: 下载 Prometheus

  1. 访问 Prometheus 官方下载页面。

  2. 根据你的操作系统选择对应的版本进行下载。这里以 Linux 系统为例。

  3. 下载后,解压文件:

    tar -xvf prometheus-*.tar.gz
    

步骤 2: 配置 Prometheus

  1. 在解压后的目录中,你会看到 prometheus.yml 文件,这个文件是 Prometheus 的配置文件,你可以根据需要进行修改。

  2. 打开 prometheus.yml,可以看到默认的配置如下:

    global:scrape_interval: 15s  # 默认每 15 秒抓取一次数据scrape_configs:- job_name: 'prometheus'static_configs:- targets: ['localhost:9090']
    

    这里的配置表示 Prometheus 会定期从 localhost:9090(即 Prometheus 本身)抓取指标数据。

步骤 3: 启动 Prometheus

  1. 在解压后的目录中,可以找到

    prometheus 
    

    可执行文件。通过以下命令启动 Prometheus:

    nohup  ./prometheus --config.file=prometheus.yml
    
  2. 启动后,Prometheus 会监听 9090 端口,你可以通过浏览器访问 http://localhost:9090 来查看 Prometheus 的 Web UI。
    在这里插入图片描述

二 部署Node Exporter

部署 Node Exporter 主要是为了监控和收集机器的系统指标,比如 CPU 使用率、内存使用、磁盘 I/O、网络流量等。这些数据可以被 Prometheus 用来采集。

1. 下载 Node Exporter

首先,你需要从 Prometheus Node Exporter GitHub 页面 下载适合你操作系统的 Node Exporter 版本。

例如,在 Linux 系统上,可以使用 wget 或 curl 下载最新的 tar.gz 包。

wget https://github.com/prometheus/node_exporter/releases/download/v1.9.0/nnode_exporter-1.9.0.linux-amd64.tar.gz

2. 解压文件

下载完成后,解压 Node Exporter 的 tar.gz 文件。

#解压tar -xf node_exporter-1.9.0.linux-amd64.tar.gz -C /usr/local/
#修改名称mv /usr/local/node_exporter-1.9.0.linux-amd64/ /usr/local/node_exporter

3.启动

nohup   /usr/local/node_exporter/node_exporter &

4. 验证启动

 [root@agent1 ~]# lsof -i:9100

通过浏览器访问'http://被监控端IP:9100/metrics就可以查看到node_exporter在被监控端收集的监控信息
在这里插入图片描述

5 配置prometheus

回到prometheus服务器的配置文件里添加被监控机器的配置段

vim /usr/local/prometheus/prometheus.yml

在主配置文件最后加上下面三行

- job_name: 'agent1' # 取一个job名称来代表被监控的机器 
static_configs:
- targets: ['172.16.29.72:9100'] # 这里改成被监控机器的IP,后面端口接9100

在这里插入图片描述

三 部署Grafana

Grafana 是一个开源的数据可视化和监控平台,主要用于从各种数据源(如 Prometheus、InfluxDB、Elasticsearch 等)获取数据,并将这些数据以直观的图表、面板和仪表盘的形式进行展示。它被广泛用于实时监控和分析基础设施、应用程序和其他业务数据

1.下载;

wget https://dl.grafana.com/oss/release/grafana-5.3.4-1.x86_64.rpm

2.缺少依赖下载失败情况

缺少依赖的话安装

yum install urw-fonts

3.开机启动和启动

systemctl start  grafana-server
systemctl enable grafana-server

4.验证启动

确认端口

lsof -i:3000

通过浏览器访问 http:// grafana服务器IP:3000就到了登录界面,使用默认的admin用户,admin密码就可以登陆了 默认密码是admin
在这里插入图片描述

5 接入prometheus数据源

在这里插入图片描述
在这里插入图片描述

四 安装influxdb

Meter 和 InfluxDB 是常用的工具。JMeter 用于执行性能测试,而 InfluxDB 是一个时间序列数据库,通常用于存储和分析与时间相关的性能数据。将这两个工具结合起来使用,可以更有效地收集、存储和分析测试结果

1. 清除 YUM 缓存

首先,清除之前下载的缓存文件,确保没有过时的包信息:

sudo yum clean all

2. 导入 InfluxDB 的 GPG 公钥

确保正确导入了 InfluxDB 官方 GPG 密钥。你可以使用以下命令重新导入密钥:

curl -sL https://repos.influxdata.com/influxdb.key | sudo tee /etc/pki/rpm-gpg/influxdb.key

3. 配置 InfluxDB 仓库

再次检查你的仓库配置文件 /etc/yum.repos.d/influxdb.repo 是否正确。如果没有正确配置,可以重新配置:

echo -e "[influxdb]\nname = InfluxDB Repository\nbaseurl = https://repos.influxdata.com/rhel/7/x86_64/stable\ngpgcheck = 1\ngpgkey = https://repos.influxdata.com/influxdb.key" | sudo tee /etc/yum.repos.d/influxdb.repo

4. 禁用 GPG 验证(可选)

如果你仍然遇到 GPG 错误,并且你确信源是可信的,你可以临时禁用 GPG 验证,虽然这种方式不推荐做长期使用:

sudo yum install --nogpgcheck influxdb

5. 更新缓存并安装 InfluxDB

重新更新仓库缓存并安装 InfluxDB:

sudo yum makecache
sudo yum install influxdb

6. 启动 InfluxDB 服务

安装完成后,启动 InfluxDB 服务:

sudo systemctl start influxdb

7. 设置开机启动

如果需要在系统重启时自动启动 InfluxDB,可以使用以下命令:

sudo systemctl enable influxdb

8. 验证安装

通过以下命令检查 InfluxDB 服务是否已启动:

sudo systemctl status influxdb

9.Grafana接入 InfluxDB数据

在这里插入图片描述

五 jmeter 配置后端监听器

添加监听器org.apache.jmeter.visualizers.backend. influxdb.InfluxdbBackendlistenerClient
在这里插入图片描述

六 Grafana导入监控模版

在这里插入图片描述模板ID:5496 监控Jmeter压测后的响应时间,吞吐量等 模板ID:12633 监控Linux服务器硬件详情,如CPU使用率,内存使用率等

七 性能测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

八总结

本次时间匆忙,后续有时间监控数据库以及redis,kafaka,es等中间件,以及开机自起......

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

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

相关文章

1~2 课程简介+ESP32-IDF环境搭建(虚拟机Linux环境下)

哔站“宸芯IOT”视频链接 一、课程内容介绍 1.什么是ESP32 ESP32是集成2.4GHz Wi-Fi和蓝牙双模的单芯片方案,具有超高的射频性能、稳定性、通用性和可靠性,以及超低的功耗,满足不同的功耗需求,适用于各种应用场景。ESP32是ESP8…

Vue3一个组件绑定多个 v-model,自定义 prop 和 event 名称

Vue3一个组件绑定多个 v-model,自定义 prop 和 event 名称 Vue3中v-model默认使用modelValue作为prop,update:modelValue作为事件,而Vue2使用的是value和input。此外,Vue3允许通过参数的方式为组件添加多个v-model绑定&#xff0…

YOLOv11小白的进击之路(九)创新YOLO11损失函数之NWD损失函数源码解读

之前的博客也有对YOLO11的损失函数进行过源码分析,可以参考:YOLOv11小白的进击之路(六)创新YOLO的iou及损失函数时的源码分析_yolov11的损失函数是什么-CSDN博客最近在做小目标检测的时候注意到了NWD损失函数,这里对其…

VLN 论文精读(四)Dynamic Path Navigation for Motion Agents with LLM Reasoning

这篇笔记用来描述2025年发表在arxiv上的一篇有关VLN领域的论文,由港科大和达特茅斯大学联合发布,其核心思想有以下几点: 将3D环境转化为2D平面;2D平面中障碍物分布、机器人起点与终点信息用稀疏矩阵形式进行描述;与LL…

vue3之写一个aichat ----vite.config.js

vite.config.js的CSS配置 postcss-pxtorem 开发响应式网页的时候需要用到postcss-pxtorem amfe-flexible amfe-flexible是由阿里团队开发的一个库,它可以根据设备的屏幕宽度去动态调整HTML根元素()的字体大小,这意味着无论用户使用什么尺寸的设备访问你…

宝石PDF,全新 PC 版本,全部免费

宝石PDF已经运行 3 年时间,有客户端,小程序,一直未上 PC 版本,随着客户端功能升级的不及时,很多用户建议上 PC 版本。但是飞哥一直忙,这不终于给上了。 同时系统的名称也从 “PDF云转换”改为“宝石PDF”&…

.NET8使用EF Core连接SQLite

使用框架 .NET8 在nuget中,需要安装包: SQLitePCLRaw.bundle_e_sqlite3,版本 2.1.10 Microsoft.EntityFrameworkCore.Sqlite.Core,版本 9.0.0 using Microsoft.Data.Sqlite; using Microsoft.EntityFrameworkCore; using Microso…

HTML课后实践

实验一 【实验原理】 在搜索引擎的文本分析中,标题的信息权重要比正文的大,所以标题的样式非常重要。本实验通过把标题标记和常规文本进行对比输出,掌握标题标签的用法。在网页中,有时需要为文字设置粗体、斜体或下划线效果&#…

【紫光同创FPGA开发常用工具】FPGACPLD的下载与固化

文档内容适配技术问题说明(非正文): 1、FPGA&CPLD如何下载位流文件; 2、FPGA外部flash如何固化位流文件; 3、PDS软件烧录界面如何新增用户flash; 4、CPLD内部flash如何固化位流文件; F…

前端传参+后端接参对照

✅ Java 后端参数接收注解 & 前端传参格式对照 后端注解前端 Content-Type前端传参方式说明RequestParamapplication/x-www-form-urlencodedURL参数 / form表单提交 / Postman form-data常用于 keyvalue 形式的参数;适合少量简单参数RequestParamURL拼接/api/t…

计算机网络的框架结构

计算机网络课程知识体系框架 一、计算机网络基础概念 1.1 网络组成要素 端系统(主机、服务器)通信链路(有线/无线介质)交换设备(路由器、交换机)协议体系(TCP/IP协议簇) 1.2 网络…

塔能智慧物联节能方案:点亮城市,赋能工厂

在全球积极倡导节能减排、绿色发展的时代背景下,塔能(江苏)科技有限公司凭借其创新的智慧物联节能一体化解决方案,在城市照明和工厂节能领域取得了显著成果。该方案不仅为城市的夜晚带来了明亮且节能的照明,还为工厂的…

Laravel框架下通过DB获取数据并转为数组的方法

在Laravel框架中,获取数据库信息并将其转换为数组是一种常见的操作,特别是在处理数据导出、API响应等场景中。Laravel提供了简洁而强大的数据库抽象层,旨在简化这类操作。接下来,我们将探讨几种在Laravel中通过数据库抽象层&#…

pytorch小记(九):pytorch中创建指定形状的张量: torch.empty

pytorch小记(九):pytorch中创建指定形状的张量: torch.empty 详细解释1. 基本功能2. 语法3. 示例代码示例 1:创建一个 5 的未初始化张量示例 2:创建一个 23 的未初始化张量示例 3:指定数据类型和设备 4. 注…

Linux cgroup cpuset

cpuset.c 是 Linux cgroup 的 cpuset 子系统的核心实现,这个文件的主要作用是: 实现 cgroup 的 cpuset 子系统管理进程的 CPU 和内存资源访问权限提供 CPU 和内存节点的独占功能支持层级化的资源管理提供用户空间接口来配置和查看资源限制 关键数据结构…

Tailwind CSS 学习笔记(一)

一、简介 Tailwind CSS是一个工具优先的CSS 框架,只需书写HTML 代码,无需书写CSS,即可快速构建美观的网站。 二、优点 1、简洁、规整,避免了随意取类名 Tailwind CSS 的工具类(Utility classes) 能够为你提供一套约束系统,避免让你的样式表中出现随意的取值。它让颜色、…

Python自动点击器开发教程 - 支持键盘连按和鼠标连点

Python自动点击器开发教程 - 支持键盘连按和鼠标连点 这里写目录标题 Python自动点击器开发教程 - 支持键盘连按和鼠标连点项目介绍开发环境安装依赖核心代码解析1. 键盘模拟实现2. 鼠标点击实现 开发要点使用说明注意事项优化建议打包发布项目源码开发心得参考资料成品工具 项…

Cursor插件市场打不开解决

问题现象: cursor搜索插件的时候提示错误,无法搜索安装插件 error while fetching extensions.failed to fetch 问题原因 cursor默认安装使用的并不是vs code的插件市场,国内网络有时候打不开 解决 修改插件市场地址并重启cursor 打开cur…

【DeepSeek】本地部署DeepSeek的完整教程(Ollama+Docker+Open WebUI)

本地部署DeepSeek的完整教程 文章目录 本地部署DeepSeek的完整教程写在前面技术需求详细步骤一. 安装Ollama软件二. 安装DeepSeek-R1模型三. 安装Docker软件四. 配置Web UI界面问题解决1. 打开`docker desktop`时,一直显示`Docker Engine stopped`2. 用`Docker`拉取`Open WebU…

Java创造型模式之原型模式详解

设计模式是面向对象设计中的一种标准方法,用于解决常见的设计问题。原型设计模式(Prototype Pattern)是23种经典设计模式之一,属于创建型模式,它允许通过复制现有对象来创建新对象,而不是通过构造函数或工厂…