性能测试之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等中间件,以及开机自起......
相关推荐
小han的日常4 小时前
jmeter将返回的数据写入csv文件
jmeter
三千花灯16 小时前
jmeter验证正则表达式提取值是否正确
jmeter
JaneMiss1 天前
Mac:Ant 下载+安装+环境配置(详细讲解)
jmeter
JaneMiss1 天前
Mac:JMeter 下载+安装+环境配置(图文详细讲解)
jmeter
Sendingab2 天前
3.8 Spring Boot监控:Actuator+Prometheus+Grafana可视化
spring boot·grafana·prometheus
前端极客探险家3 天前
《前端监控与性能优化全景指南:构建企业级高性能应用》
前端·性能优化·grafana·prometheus·sentry
Hi202402174 天前
基于Grafana+Prometheus的IB网卡硬件计数器监控方案
信息可视化·grafana·prometheus
测试渣4 天前
性能测试自动化:JMeter脚本设计与分布式压测实战指南
分布式·测试工具·jmeter·自动化
Dnui_King5 天前
5 分钟搭建 Prometheus + Grafana 监控
grafana·prometheus