繁体   English   中英

在 Docker 容器中使用 JMeter Prometheus 插件(连接被拒绝)

[英]using JMeter Prometheus plugin within a Docker container (connection refused)

我有一个运行 basic.jmx 测试的 Jmeter 5.3 容器。 测试中包含 Johrstrom 的 Prometheus 插件,配置为端口 9270。如果我在 Docker 之外运行测试,我可以使用“curl localhost:9270”来获取指标。 当我在 Docker 中运行测试时,情况类似。 如果我从 go 到 JMeter Docker 命令行,我可以运行“wget localhost:9270”(卷曲不在图像中)。

仍然在 JMeter Docker 容器中,如果我执行 'wget jmeter:9270' (jmeter 是容器的名称)我得到连接被拒绝。 响应确实包括

Resolving jmeter (jmeter)... 172.18.0.3

所以我很高兴这不是由于容器名称而导致的失败。 我还让 Prometheus 在一个单独的容器中运行,为“jmeter:9270”配置了一个目标,给出了类似的响应,jmeter 名称的正确分辨率,但随后连接被拒绝消息。

我也尝试过暴露端口 9270,并从 Docker 主机尝试相同的 'localhost:9270'。 这也不起作用,我从服务器收到空回复。

我在阻止我连接容器之间的配置中错过了什么? 甚至为什么我在同一个容器中得到“连接被拒绝”。

我应该提一下,我正在按照 Prometheus 侦听器页面上的说明,并将以下属性添加到容器中的 JMeter 中。

-Jprometheus.ip=0.0.0.0

但是,我也尝试过不使用此设置,但仍然被拒绝连接。

发现了问题。 -Jprometheus.ip=0.0.0.0 是正确的解决方案,但在我的构建 dockerfile 中存在一个错误,这意味着对运行脚本的更改没有被选中。 修复该错误意味着额外的属性已正确添加到运行脚本命令行中,jmeter 可以拾取它并将指标正确呈现给 Prometheus。

为了找到这个,我运行了容器,然后进入命令行确认脚本。 很明显,该财产不见了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM