簡體   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