性能测试之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 包。

bash 复制代码
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 文件。

bash 复制代码
#解压
 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.启动

bash 复制代码
nohup   /usr/local/node_exporter/node_exporter &

4. 验证启动

bash 复制代码
 [root@agent1 ~]# lsof -i:9100

通过浏览器访问'http://被监控端IP:9100/metrics就可以查看到node_exporter在被监控端收集的监控信息

5 配置prometheus

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

bash 复制代码
vim /usr/local/prometheus/prometheus.yml

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

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

三 部署Grafana

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

1.下载;

bash 复制代码
wget https://dl.grafana.com/oss/release/grafana-5.3.4-1.x86_64.rpm

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

缺少依赖的话安装

bash 复制代码
yum install urw-fonts

3.开机启动和启动

bash 复制代码
systemctl start  grafana-server
systemctl enable grafana-server

4.验证启动

确认端口

bash 复制代码
lsof -i:3000

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

5 接入prometheus数据源


四 安装influxdb

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

1. 清除 YUM 缓存

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

bash 复制代码
sudo yum clean all

2. 导入 InfluxDB 的 GPG 公钥

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

bash 复制代码
curl -sL https://repos.influxdata.com/influxdb.key | sudo tee /etc/pki/rpm-gpg/influxdb.key

3. 配置 InfluxDB 仓库

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

bash 复制代码
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 验证,虽然这种方式不推荐做长期使用:

bash 复制代码
sudo yum install --nogpgcheck influxdb

5. 更新缓存并安装 InfluxDB

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

bash 复制代码
sudo yum makecache
sudo yum install influxdb

6. 启动 InfluxDB 服务

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

bash 复制代码
sudo systemctl start influxdb

7. 设置开机启动

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

bash 复制代码
sudo systemctl enable influxdb

8. 验证安装

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

bash 复制代码
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等中间件,以及开机自起......
相关推荐
文人sec1 天前
性能测试-jmeter9-逻辑控制器、定时器压力并发
测试工具·jmeter·性能优化·模块测试
Insist7531 天前
prometheus安装部署与alertmanager邮箱告警
linux·运维·grafana·prometheus
爱敲代码的TOM2 天前
Grafana+Loki+Alloy构建企业级日志平台
grafana
CesareCheung2 天前
JMeter分布式压力测试
分布式·jmeter·压力测试
测试界清流3 天前
jmeter使用技巧
jmeter
春时似衿里3 天前
jmeter配置数据库连接步骤
数据库·jmeter
新知图书3 天前
JMeter的安装部署
jmeter
程序员杰哥3 天前
什么是Jmeter? Jmeter工作原理是什么?
自动化测试·软件测试·python·测试工具·jmeter·职场和发展·测试用例
linux修理工3 天前
n1 ARMbian部署Grafana
arm开发·架构·grafana
乐神嘎嘎嘎3 天前
Jmeter测试
jmeter