当前位置: 首页 > 知识库问答 >
问题:

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

朱华皓
2023-03-14

我有一个运行基本. jmx测试的JMeter 5.3容器。测试中有Johrstrom的Prometheus插件,为端口9270配置。如果我在Docker之外运行测试,我可以使用“curllocalhost:9270”来获取指标。当我在Docker内运行测试时,情况类似。如果我转到JMeter Docker命令行,我可以运行“wgetlocalhost:9270”(图中没有curl),它会给我指标。

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

解析jmeter(jmeter)…172.18.0.3

因此,我很高兴这不是由于容器名称而导致的失败。我还让Prometheus在一个单独的容器中运行,将目标配置为“jmeter:9270”会给出类似的响应,jmeter名称的正确解析,然后连接被拒绝。

我还尝试公开端口9270,并尝试从Docker主机localhost:9270。这也不起作用,我从服务器得到空回复。

我在配置中遗漏了什么,导致我无法在容器之间进行连接?甚至不知道为什么我在同一个容器中得到“连接被拒绝”的消息

我应该提到,我是按照Prometheus listener页面上的说明将以下属性添加到容器中的JMeter。

< code >-jprometheus . IP = 0 . 0 . 0 . 0

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

共有1个答案

宰父涵忍
2023-03-14

找到问题了。-Jprometheus.ip=0.0.0.0是正确的解决方案,但是我的构建dockerfile中有一个错误,这意味着对运行脚本的更改没有被接收。修复该错误意味着额外的属性被正确添加到运行脚本命令行中,jeter可以接收它,并且指标被正确呈现给普罗米修斯。

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

 类似资料:
  • 试图在localhost中建立从app容器到mysql容器的连接,出现连接拒绝异常 我们正在采取一种docker的方法来调用rest api服务来采用微服务的方法。我们正在建立应用程序容器和mysql容器之间的连接,同时我们编写了一个docker-compose文件,创建了mysql容器和应用程序容器,为这两个容器公开了端口。下面是运行docker-compose文件docker-compose

  • 我正在运行2个spring boot应用程序:一个客户端和rest-api。客户机与rest-api通信,rest-API与mongodb数据库通信。所有3层都在docker容器中运行。 我启动容器,通常指定docker文件中公开的端口,并将它们映射到主机上的端口,例如:-p 7070:7070,其中7070是docker文件中公开的端口。 当我通过< code > Java-jar[applic

  • 我试图为Nginx+PHP(Laravel)+MySQL构建docker组合容器,但我不断收到连接拒绝错误 Docker-compose.yml 在中,我有一个全新的Laravel应用程序,它具有基本的SQL设置 所有容器都运行时没有错误,我可以使用以下方法连接到MySQL容器 但当我试图从浏览器访问或将ssh直接导入php容器时,我总是得到错误2002。 我有nginx和mysql运行在服务器上

  • 我有以下设置: 此外,在node.js进程stdout/stderr中没有错误或崩溃的迹象。 以下是我看到的错误: 会有什么问题?

  • 我使用docker撰写启动一个mysql da和一个springstart应用程序。 这是我的docker-compose.yml 这是我的application.properties 在这里,我创建了jdbi: 不管我怎么做,我都无法让集装箱在码头内相互交谈。如果我单独启动sql,我可以在主机中看到连接(在datagrip中)。如果我从容器中运行java程序,它会看到主机中的数据库。即使我运行d

  • 问题内容: 我正在尝试设置一个docker- compose文件,该文件旨在用Supervisor替换运行多个进程(RQ worker,RQ仪表板和Flask应用程序)的单个Docker容器解决方案。 主机系统是Debian 8 Linux,我的样子如下(我删除了所有其他条目以减少错误源): “ rq-worker1”是Python RQ工作者,尝试通过本地主机和端口6379连接到Redis,但无