我正在尝试设置一个简单的应用程序。它是从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
我很乐意接受任何建议!