性能测试之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
-
访问 Prometheus 官方下载页面。
-
根据你的操作系统选择对应的版本进行下载。这里以 Linux 系统为例。
-
下载后,解压文件:
tar -xvf prometheus-*.tar.gz
步骤 2: 配置 Prometheus
-
在解压后的目录中,你会看到
prometheus.yml
文件,这个文件是 Prometheus 的配置文件,你可以根据需要进行修改。 -
打开
prometheus.yml
,可以看到默认的配置如下:global:scrape_interval: 15s # 默认每 15 秒抓取一次数据scrape_configs:- job_name: 'prometheus'static_configs:- targets: ['localhost:9090']
这里的配置表示 Prometheus 会定期从
localhost:9090
(即 Prometheus 本身)抓取指标数据。
步骤 3: 启动 Prometheus
-
在解压后的目录中,可以找到
prometheus
可执行文件。通过以下命令启动 Prometheus:
nohup ./prometheus --config.file=prometheus.yml
-
启动后,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等中间件,以及开机自起......