使用 JMeter Docker 图片,Prometheus 抛出 ConversionException
Using JMeter Docker image, Prometheus throws ConversionException
如果出现以下错误,是因为 Docker 图像没有插件,我的解决方案是创建一个包含该插件的图像吗?
或者我可以使用 Gitlab CI 文件将插件 JAR 复制到图像上的 lib/ext 中吗?
我正在使用图像 justb4/jmeter:latest
。
Error in NonGUIDriver java.lang.IllegalArgumentException: Problem loading XML from:'/builds/guyl/web-performance-testing/./DCS_login_dashboard_machine_actor_card_DTM.jmx'.
Cause:
CannotResolveClassException: com.github.johrstrom.config.PrometheusMetricsConfig
Detail:com.thoughtworks.xstream.converters.ConversionException:
---- Debugging information ----
cause-exception : com.thoughtworks.xstream.converters.ConversionException
cause-message :
first-jmeter-class : org.apache.jmeter.save.converters.HashTreeConverter.unmarshal(HashTreeConverter.java:66)
class : org.apache.jmeter.save.ScriptWrapper
required-type : org.apache.jmeter.save.ScriptWrapper
converter-type : org.apache.jmeter.save.ScriptWrapperConverter
path : /jmeterTestPlan/hashTree/hashTree/com.github.johrstrom.config.PrometheusMetricsConfig
line number : 132
version : 5.4.3
-------------------------------
是的,查看 Dockerfile 图像仅包含 vanilla JMeter,没有任何插件。
我认为您需要添加自定义 RUN 指令,它将:
要添加到 Dockerfile 的示例代码:
RUN curl -L --silent https://jmeter-plugins.org/get/ > ${JMETER_HOME}/lib/ext/jmeter-plugins-manager.jar \
&& curl -L --silent https://repo1.maven.org/maven2/kg/apc/cmdrunner/2.2/cmdrunner-2.2.jar >${JMETER_HOME}/lib/cmdrunner-2.2.jar \
&& java -cp ${JMETER_HOME}/lib/ext/jmeter-plugins-manager.jar org.jmeterplugins.repository.PluginManagerCMDInstaller \
&& ${JMETER_BIN}/./PluginsManagerCMD.sh install jmeter-prometheus
如果出现以下错误,是因为 Docker 图像没有插件,我的解决方案是创建一个包含该插件的图像吗?
或者我可以使用 Gitlab CI 文件将插件 JAR 复制到图像上的 lib/ext 中吗?
我正在使用图像 justb4/jmeter:latest
。
Error in NonGUIDriver java.lang.IllegalArgumentException: Problem loading XML from:'/builds/guyl/web-performance-testing/./DCS_login_dashboard_machine_actor_card_DTM.jmx'.
Cause:
CannotResolveClassException: com.github.johrstrom.config.PrometheusMetricsConfig
Detail:com.thoughtworks.xstream.converters.ConversionException:
---- Debugging information ----
cause-exception : com.thoughtworks.xstream.converters.ConversionException
cause-message :
first-jmeter-class : org.apache.jmeter.save.converters.HashTreeConverter.unmarshal(HashTreeConverter.java:66)
class : org.apache.jmeter.save.ScriptWrapper
required-type : org.apache.jmeter.save.ScriptWrapper
converter-type : org.apache.jmeter.save.ScriptWrapperConverter
path : /jmeterTestPlan/hashTree/hashTree/com.github.johrstrom.config.PrometheusMetricsConfig
line number : 132
version : 5.4.3
-------------------------------
是的,查看 Dockerfile 图像仅包含 vanilla JMeter,没有任何插件。
我认为您需要添加自定义 RUN 指令,它将:
要添加到 Dockerfile 的示例代码:
RUN curl -L --silent https://jmeter-plugins.org/get/ > ${JMETER_HOME}/lib/ext/jmeter-plugins-manager.jar \
&& curl -L --silent https://repo1.maven.org/maven2/kg/apc/cmdrunner/2.2/cmdrunner-2.2.jar >${JMETER_HOME}/lib/cmdrunner-2.2.jar \
&& java -cp ${JMETER_HOME}/lib/ext/jmeter-plugins-manager.jar org.jmeterplugins.repository.PluginManagerCMDInstaller \
&& ${JMETER_BIN}/./PluginsManagerCMD.sh install jmeter-prometheus