Ubuntu 下常用的 JMeter 监控工具与方案
- PerfMon Metrics Collector + ServerAgent:在 JMeter 中通过监听器采集被测服务器的 CPU、内存、磁盘 IO、网络 等资源指标;ServerAgent 部署在 Ubuntu 服务器上,默认监听 4444 端口。适合在压测过程中对服务器资源进行细粒度监控。
- JMeter 内置监听器与图形插件:如 Transactions per Second(TPS)、Response Times Over Time(RTT)、Active Threads Over Time,以及 Aggregate Report / Summary Report 等,用于查看吞吐量、响应时间趋势、活跃线程与聚合统计,适合快速可视化与报表导出。
- Grafana + InfluxDB 实时监控:JMeter 将指标写入 InfluxDB(默认 8086 端口),Grafana(默认 3000 端口)做可视化看板,适合团队协作与长期压测数据留存、对比分析。
快速上手 PerfMon 监控服务器资源
快速上手 Grafana + InfluxDB 可视化
-
安装与启动
- InfluxDB:添加 InfluxData 仓库后执行 sudo apt install influxdb -y;编辑 /etc/influxdb/influxdb.conf,启用 [http] enabled=true、bind-address=“:8086”;重启:sudo systemctl restart influxdb。
- Grafana:添加 Grafana 仓库后执行 sudo apt install grafana -y;编辑 /etc/grafana/grafana.ini,设置 [server] http_port=3000;重启:sudo systemctl restart grafana-server。
-
创建数据库与用户(InfluxDB CLI)
- influx
- CREATE DATABASE jmeter
- CREATE USER jmeter_user WITH PASSWORD ‘your_password’ GRANT ALL ON jmeter TO jmeter_user
-
JMeter 写入配置
- 使用 JMeter 的 Backend Listener(如 InfluxDBBackendListenerClient),配置 InfluxDB URL:http://<InfluxDB_IP>:8086、Database:jmeter、User/Password 等,使压测指标写入 InfluxDB。
-
Grafana 看板
- 访问 http://<Grafana_IP>:3000,默认账号 admin/admin;添加数据源 InfluxDB(URL、Database、User、Password),导入 JMeter 仪表板模板或自建面板,常用查询如:SELECT mean(“elapsed”) FROM “jmeter”.“autogen”.“”。
常见问题与排错要点
-
ServerAgent 端口与防火墙
- 默认端口 4444 可能被拦截;在 Ubuntu 使用 ufw 放行:sudo ufw allow 4444/tcp;如更换端口(如 12345),同步放行对应端口。
- 注意:有时 telnet 会卡住但 JMeter 能连上,此时以 JMeter 实际采集为准;若报 Connection timed out,优先排查服务器防火墙/安全组与端口占用。
-
InfluxDB 与 Grafana 连通性
- 确认 InfluxDB 的 8086 端口监听与 Grafana 的 3000 端口开放;在 Grafana 中“Save & Test”数据源,确保返回 Success。
- 若 JMeter 写入失败,检查 InfluxDB 用户权限、数据库名、网络连通性与写入语句/测量名是否匹配。
-
JMeter 插件安装与权限
- 使用 Plugins Manager 安装 PerfMon 等插件;确保 ServerAgent 有可执行权限(chmod +x),并在被测服务器上保持运行。