首页主机资讯如何利用JMeter进行CentOS系统监控

如何利用JMeter进行CentOS系统监控

时间2025-11-26 11:16:04发布访客分类主机资讯浏览1096
导读:JMeter监控CentOS系统的两种实用方案 一、方案总览与选择 方案一:PerfMon 插件 + ServerAgent(JMeter 监听器直连被压服务器) 适用:快速查看单台或多台 CentOS 的 CPU、内存、磁盘 IO、网...

JMeter监控CentOS系统的两种实用方案

一、方案总览与选择

  • 方案一:PerfMon 插件 + ServerAgent(JMeter 监听器直连被压服务器)
    • 适用:快速查看单台或多台 CentOSCPU、内存、磁盘 IO、网络 等资源,与 JMeter 结果联动排查瓶颈。
    • 优点:上手快、与 JMeter UI 集成;缺点:在高压下对 JMeter 与被监控端有一定资源开销,建议小规模或短时监控。
  • 方案二:InfluxDB + Grafana + JMeter 后端监听器(时序数据库 + 可视化看板)
    • 适用:需要实时监控、历史留存、团队协作与炫酷看板的场景。
    • 优点:实时、可扩展、可沉淀数据;缺点:部署组件多,需要维护 InfluxDB/Grafana

二、方案一 PerfMon 插件与 ServerAgent 步骤

  • 准备插件与代理
    • 在 JMeter 的 lib/ext 放入插件包:JMeterPlugins-Standard.jar、JMeterPlugins-Extras.jar(或使用 Plugins Manager 安装 PerfMon 插件)。
    • 在被监控的 CentOS 服务器放置 ServerAgent-2.2.x,建议路径如 /opt/ServerAgent
  • 启动 ServerAgent(默认端口)
    • 进入 ServerAgent 目录执行:java -jar ServerAgent.jar
    • 默认监听 TCP 4444;如需自定义端口,启动时指定:java -jar ServerAgent.jar --tcp-port 7777 --udp-port 7777
  • 防火墙放行
    • firewalld:firewall-cmd --add-port=4444/tcp --permanent & & firewall-cmd --reload
    • 或(旧版 iptables):iptables -I INPUT -p tcp --dport 4444 -j ACCEPT
  • JMeter 侧添加监听器
    • 测试计划 → 添加 → 监听器 → jp@gc - PerfMon Metrics Collector
    • 新增目标主机:填写 CentOS 服务器 IP 与端口(如 4444),选择采集项(如 cpu、memory、disk、network
  • 运行与观察
    • 启动测试,在监听器图表中实时查看资源曲线,与响应时间、TPS 等指标联动分析。

三、方案二 InfluxDB + Grafana 实时监控步骤

  • 部署 InfluxDB(示例为 1.7.x)
    • 安装:yum install -y https://dl.influxdata.com/influxdb/releases/influxdb-1.7.10.x86_64.rpm
    • 配置 /etc/influxdb/influxdb.conf
      • [http] enabled = true; bind-address = ":8086"
      • (可选,Graphite 写入)[[graphite]] enabled = true; database = "jmeter"; bind-address = ":2003"
    • 启动:systemctl start influxdb & & systemctl enable influxdb
    • 建库与用户:influxCREATE DATABASE jmeter; CREATE USER admin WITH PASSWORD 'admin' WITH ALL PRIVILEGES;
  • 部署 Grafana
    • 安装 Grafana(yum 或官方包),启动:systemctl start grafana-server & & systemctl enable grafana-server
    • 访问 http://< 服务器IP> :3000,默认账号 admin/admin
  • JMeter 配置后端监听器
    • 测试计划 → 添加 → 监听器 → Backend Listener,选择 InfluxdbBackendListenerClient
    • 关键参数:influxdbUrl=http://< InfluxDB_IP> :8086/write?db=jmeter;可设置 testTitle、节点名等
  • Grafana 可视化
    • 添加数据源:InfluxDB,URL http://< InfluxDB_IP> :8086,数据库 jmeter,用户 admin/密码
    • 导入 JMeter 官方仪表板模板(如 ID: 5496),即可查看 响应时间、吞吐量、错误率 等测试指标
  • 扩展(可选):若需同时展示系统资源,可在被监控 CentOS 上部署 Telegraf,将 CPU、内存、磁盘、网络 等写入同一 InfluxDB,在 Grafana 统一展示。

四、防火墙与网络要点

  • 常见端口
    • 4444/TCP:ServerAgent 默认端口(PerfMon)
    • 8086/TCP:InfluxDB HTTP API(Grafana/ JMeter 写入)
    • 3000/TCP:Grafana Web
    • (可选)2003/TCP:InfluxDB Graphite 写入端口
  • firewalld 示例
    • firewall-cmd --add-port={ 4444,8086,3000,2003} /tcp --permanent & & firewall-cmd --reload
  • 验证连通
    • telnet < 目标IP> < 端口> nc -vz < 目标IP> < 端口> ,确保 JMeter/ Grafana 能连上 InfluxDB/ServerAgent

五、实践建议与常见问题

  • 资源开销与精度
    • PerfMon 在高压场景会带来额外开销,建议短时或低并发验证;长期与大规模建议用 Telegraf/InfluxDB 采集系统指标。
  • 时间同步
    • 为获得准确时序与关联分析,确保 JMeter 机、被压服务器、InfluxDB 主机启用 NTP 同步时钟。
  • 分布式压测
    • 多台压力机与被压服务器都要放行相应端口;保持 JDK/插件版本一致,避免监控与结果数据不一致。
  • 运行方式
    • 正式压测建议使用 非 GUI 模式jmeter -n -t test.jmx -l result.jtl -e -o report/,并结合 InfluxDB+Grafana 实时观测。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何利用JMeter进行CentOS系统监控
本文地址: https://pptw.com/jishu/756506.html
inotify在centos上的应用场景 JMeter在CentOS上的自动化测试策略

游客 回复需填写必要信息