AWS Fargate-从本地无法连接到运行在AWS-Fargate上的java应用程序的jmx端口



这就是我迄今为止所做的:

  1. 我在aws-fargate上部署了一个java11应用程序,它已经启动并运行
  2. 任务定义已正确配置为tcp端口映射到应用程序端口和jmx端口(3939(
  3. 有VPC配置,可以在我的网络和aws之间进行通信
  4. 应用程序是使用以下附加系统属性启动的远程jmx连接:
    -Dcom.sun.management.jmxremote.port=3939
    -Dcom.sun.management.jmxremote.ssl=false 
    -Dcom.sun.management.jmxremote.authenticate=false
    
  5. 从我的本地机器,我能够成功地telnet到fargate任务的私有IP和jmx端口3939

但是当我尝试使用JVisualVm或JDK任务控制连接到jmx时,它无法连接。我是不是遗漏了什么?

在我添加了下面提到的属性后,它终于工作了,该属性强制rmi端口与jmx端口相同,而不是打开一个没有从安全组打开的随机端口。

-Dcom.sun.management.jmxremote.rmi.port=3939

感谢这些stackoverflow帖子:

为什么Java在配置JMX时打开3个端口?

使用visualvm和JMX 进行远程监控

最新更新