温馨提示×

centos上jmeter如何监控

小樊
43
2025-11-30 01:45:41
栏目: 智能运维

在 CentOS 上监控 JMeter 的可选方案

  • 推荐两种落地方式:
    1. JMeter + InfluxDB + Grafana:将 JMeter 的测试结果实时写入 InfluxDB,再由 Grafana 可视化,适合团队协作与长期留存。
    2. JMeter PerfMon 插件 + ServerAgent:在 JMeter 中直接查看被测服务器的 CPU、内存、磁盘 I/O、网络 I/O,轻量、快速、无需额外时序库。

方案一 JMeter + InfluxDB + Grafana 实时监控

  • 组件与端口
    • InfluxDB:用于存储指标,开放 8086(HTTP API)与可选的 2003(Graphite 兼容写入,部分教程使用)。
    • Grafana:可视化展示,开放 3000(Web 界面)。
    • JMeter:通过“Backend Listener”写入 InfluxDB。
  • 部署步骤(示例)
    1. 安装并启动 InfluxDB
      • 安装(示例):yum 安装或拉取镜像;编辑 /etc/influxdb/influxdb.conf,开启 [http] enabled=true, bind-address=“:8086”;如需 Graphite 写入,开启 [[graphite]] enabled=true, bind-address=“:2003”, database=“jmeter”
      • 启动:systemctl start influxdb && systemctl enable influxdb。
      • 建库:influx -port 8086 → create database jmeter
    2. 安装并启动 Grafana
      • 安装后启动:systemctl start grafana-server && systemctl enable grafana-server。
      • 浏览器访问 http://:3000,默认账号 admin/admin
    3. 配置 Grafana 数据源
      • URL:http://<InfluxDB_IP>:8086;Database:jmeter;保存并测试。
    4. JMeter 配置 Backend Listener
      • 添加“Backend Listener”,选择 InfluxdbBackendListenerClient;设置 InfluxDB URL=http://<InfluxDB_IP>:8086testTitle=xxx、数据库 jmeter
    5. 运行与可视化
      • 启动 JMeter 测试,Grafana 导入 JMeter 仪表板模板(如 ID=5496),即可实时查看 响应时间、吞吐量、错误率 等。
  • 备注
    • 若使用 Docker:docker run -d --name influxdb -p 8086:8086 influxdb:1.7.10;Grafana 按系统服务方式安装与启动。

方案二 JMeter PerfMon 插件 + ServerAgent 监控被测服务器资源

  • 适用场景:快速查看被测系统(应用/数据库/中间件所在 CentOS 服务器)的 CPU、内存、磁盘 I/O、网络 I/O
  • 部署步骤
    1. 安装 JMeter 插件
      • plugins-manager.jar 放入 JMETER_HOME/lib/ext 并重启 JMeter;通过 Plugins Manager 安装 PerMon (Servers Performance Monitoring)
    2. 在被测服务器部署 ServerAgent
      • ServerAgent-2.2.3 上传至被测 CentOS,执行:chmod +x startAgent.sh && ./startAgent.sh;默认监听 TCP/UDP 4444
    3. JMeter 中添加监听器并配置
      • 添加“jp@gc - PerfMon Metrics Collector”,Add Row 填写被测服务器 IP端口 4444,选择指标(CPU、Memory、Disks I/O、Network I/O 等,可多行添加)。
    4. 运行与观察
      • 启动 JMeter 测试,监听器实时绘制资源曲线;若采集不到,优先检查服务器 防火墙/安全组 是否放行 4444
  • 提示
    • 也可使用 Telegraf 采集系统指标写入 InfluxDB,再在 Grafana 展示,便于与 JMeter 指标统一观测。

防火墙与网络要点

  • 放行端口(示例)
    • InfluxDB:8086(Grafana/ JMeter 写库)、可选 2003(Graphite 写入)。
    • Grafana:3000(Web 访问)。
    • ServerAgent:4444(JMeter 采集被测机资源)。
  • 操作示例(firewalld)
    • firewall-cmd --add-port=8086/tcp --permanent && firewall-cmd --reload
    • firewall-cmd --add-port=3000/tcp --permanent && firewall-cmd --reload
    • firewall-cmd --add-port=4444/tcp --permanent && firewall-cmd --reload
  • 云服务器还需在 安全组 中放行对应端口。

常见问题与排查

  • 采集不到 ServerAgent 数据
    • 确认被测机已启动 ServerAgent 且端口 4444 可达;检查 iptables/firewalld/云安全组;必要时临时关闭防火墙验证。
  • InfluxDB 写入失败
    • 核对 InfluxDB 地址、端口 8086、数据库名 jmeter;在 InfluxDB 中确认库是否存在(create database jmeter);如使用认证,检查用户名/密码。
  • Grafana 无法显示数据
    • 数据源测试通过后再导入仪表板;确认 JMeter 的 Backend Listener 已启用且测试正在运行;检查 InfluxDB 保留策略 与写入一致性设置。

0