AWS Fargate主机名不可行?

aga*_*t90 6 java networking amazon-web-services dropwizard aws-fargate

我正在尝试建立一个简单的应用程序。它是从https://budgetapp.docsapp.io/拖动而来的,旨在在公共场所工作。我的任务是以最自动化的方式部署它,并向公众公开Java机器的指标(远程jConsole)。最终,应将其准确地复印约15份。

对于此任务,我选择了AWS Fargate。它以精美的方式设置了应用程序,并为我提供了管理端口上的指标(由Dropwizard部署)。我挣扎的是监控。它应该是真实的,并且至少显示CPU和内存使用情况。我可以在docker上本地执行此操作,但是Fargate缺少一件事。设置已部署任务的主机名。

我收到的错误: Error: Exception thrown by the agent : java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: 578463faab0f: 578463faab0f: System error。这是由于缺少/ etc / hosts文件中带有容器的条目uname -n。看来我无法设定!这可能以某种方式完成吗?

我正在这样运行我的java服务: java -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=127.0.0.1 -Djava.rmi.server.useLocalHostname=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=5000 -Dcom.sun.management.jmxremote.rmi.port=5000 -jar budgetapp.jar server config.yml

我很乐意接受任何建议!

aga*_*t90 0

感谢您的所有帮助。最终的答案是我在互联网上读到的内容和这里的答案的结合。

关键是将 java.rmi.server.hostname 值更改为其外部 IP 地址,这是我在填写 jConsole 表单时将使用的实际地址。(原来这个值并不是服务绑定的接口的值,而是外部监控工具访问它的IP地址的值。)

另外,在入口点中,我需要将外部 IP 添加到容器的主机名中,只是为了将主机名添加到 /etc/hosts 中