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

devtools/2025/3/19 14:24:15/

性能测试之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__195">五 jmeter 配置后端监听器

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

六 Grafana导入监控模版

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

七 性能测试

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

八总结

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

http://www.ppmy.cn/devtools/168364.html

相关文章

数据库管理-第303期 数据库相关硬件文章汇总(20250319)

数据库管理303期 2025-03-19 数据库管理-第303期 数据库相关硬件文章汇总(20250319)1 CPU & 内存2 SSD3 RDMA4 存储5 CXL6 硬件采购7 数据库一体机总结 数据库管理-第303期 数据库相关硬件文章汇总(20250319) 作者&#xff1…

第六章-PHP错误处理

PHP错误处理 一,错误处理的基本概念: 1. 错误类型 PHP中的错误主要分为以下几类: 致命错误 (Fatal Errors): 这些错误会导致脚本终止执行。例如,调用未定义的函数或类。警告 (Warnings): 这些错误不会终止脚本执行&#xff0c…

单片机开发资源分析的实战——以STM32F103C8T6为例子的单片机资源分析

目录 第一点:为什么叫STM32F103C8T6 从资源手册拿到我们的对STM32F103C8T6的资源描述 第二件事情,关心我们的GPIO引脚输出 第三件事情:去找对应外设的说明部分 前言 本文章隶属于项目: Charliechen114514/BetterATK: This is…

matlab 模糊pid实现温度控制

1、内容简介 matlab162-模糊pid实现温度控制 可以交流、咨询、答疑 2、内容说明 略基于PID电加热炉温度控制系统设计 摘要 电加热炉随着科学技术的发展和工业生产水平的提高,已经在冶金、化工、 机械等各类工业控制中得到了广泛应用,并且在国民经济中占…

Linux各种命令大全

Linux课程笔记 目录结构 /:根目录,唯一顶级目录路径示例:/home/itheima/a.txt 表示根目录下的home/itheima文件夹内的a.txt 基础命令 ls:列出文件 ls [选项] [目录] # 选项: # -l 列表形式显示 # -h 人性化显示文…

【Linux】Bash是什么?怎么使用?

李升伟 整理 什么是 Bash? Bash(Bourne Again Shell)是一种 命令行解释器(Shell),广泛用于 Unix 和 Linux 操作系统。它是 Bourne Shell(sh) 的增强版,提供了更多的功能…

Joker靶机实战攻略

1.安装并开启靶机 2.获取靶机IP 3.访问靶机 4.扫描目录 5.扫描端口 6.访问目录和端口 http://192.168.40.144:8080/ http://192.168.40.144/secret.txt 根据提示应采用爆破登录8080端口网站 7.BP抓包进行密码爆破 导出密码字典:head -n 100 /usr/share/wordl…

使用 `Express.js` 和 `better-sqlite3` 的最佳实践指南

在构建基于 Express.js 和 better-sqlite3 的应用时,遵循一些最佳实践可以帮助你更高效地管理数据库连接、提高代码的可读性和可维护性,并确保应用的安全性和性能。以下是一些详细的建议和示例代码。 一、数据库连接管理 1. 单例模式管理数据库连接 创…