【发布时间】:2021-05-29 15:48:51
【问题描述】:
我正在尝试监控在 JMeter 的非 GUI 模式下运行的测试的实时指标,但我面临以下问题。
问题: InfluxDB 在非 GUI 测试期间不显示所有数据,但是在 GUI 测试期间应用程序数据正在填充。有没有人遇到过这种问题?
如果有人知道这里出了什么问题,请告诉我。
我在 JMeter 的 log4j2.xml 文件中添加了以下参数来验证问题。
<Logger name="org.apache.jmeter.visualizers.backend.influxdb" level="debug"/>
在 jmeter.log 中,我看到了成功消息,但是对于非 GUI 测试,写入的指标数量始终为 1。
DEBUG o.a.j.v.b.i.HttpMetricsSender: Success, number of metrics written: 1
2021-05-30 10:44:07,464 DEBUG o.a.j.v.b.i.HttpMetricsSender: Success, number of metrics written: 1
2021-05-30 10:44:12,462 DEBUG o.a.j.v.b.i.HttpMetricsSender: Success, number of metrics written: 1
非 GUI 测试期间 InfluxDB 中的测量详细信息 -
从 jmeter 中选择 *
名称:jmeter
time application endedT maxAT meanAT minAT startedT transaction
---- ----------- ------ ----- ------ ----- -------- -----------
1622139710856000000 Marsh 0 0 0 0 0 internal
1622139715779000000 Marsh 0 0 0 0 1 internal
1622139720779000000 Marsh 0 0 0 0 1 internal
1622139725779000000 Marsh 0 0 0 0 2 internal
1622139730780000000 Marsh 0 0 0 0 2 internal
1622139735779000000 Marsh 0 0 0 0 3 internal
1622139740780000000 Marsh 0 0 0 0 3 internal
1622139745779000000 Marsh 0 0 0 0 4 internal
1622139750779000000 Marsh 0 0 0 0 4 internal
1622139755780000000 Marsh 0 0 0 0 5 internal
GUI 测试期间 InfluxDB 中的测量详细信息 -
从 jmeter 中选择 *
名称:jmeter
time application avg count countError endedT hit max maxAT meanAT min minAT pct90.0 pct95.0 pct99.0 rb sb startedT statut transaction
---- ----------- --- ----- ---------- ------ --- --- ----- ------ --- ----- ------- ------- ------- -- -- -------- ------ -----------
1622139998794000000 Marsh 0 0 0 0 0 internal
1622140003573000000 Marsh 1699 1 0 2 1699 1699 1699 1699 1699 0 0 all all
1622140003576000000 Marsh 1699 1 1699 1699 1699 1699 1699 0 0 all S01_Dashboard_Leader_FilterBy180Days_01_Launch
1622140003577000000 Marsh 1699 1 1699 1699 1699 1699 1699 ok S01_Dashboard_Leader_FilterBy180Days_01_Launch
1622140003579000000 Marsh 0 1 1 1 1 internal
注意: InfluxDB 和 Grafana 中所有测试的配置都是一样的,只是 JMeter 中的执行方式不同(非 GUI 和 GUI)。
以下是参考步骤:
-
在 JMeter 脚本中添加了后端监听器 Backend Listener in JMeter
-
启动 Influxd.exe,启动 influx.exe 并使用命令“Create database Marsh”添加名为“Marsh”的数据库
-
启动 Grafana 服务器并使用“http://localhost:3000/”登录 UI 页面
-
在 Grafana 中添加了 influxdb 数据源 datasource in Grafana datasource in Grafana
-
通过提供仪表板 ID - 5496 导入仪表板 dashboard in Grafana
我正在使用 Windows 10 机器进行设置。
InfluxDB 版本 - 1.8.6 版
Grafana 版本 - grafana-7.5.3
JMeter 版本 - apache-jmeter-5.3
【问题讨论】: