0

我刚刚开始使用 JMX 来监控 activemq,我已经启用了远程监控。现在的问题是,我如何只允许本地主机访问 JMX API?或者有没有一种方法可以在不启用远程监控的情况下使用 JMX API..

4

1 回答 1

6

在花费数小时谷歌搜索解决方案后,我发现了这篇文章https://wiki.internet2.edu/confluence/display/CPD/Monitoring+Tomcat+with+JMX,它展示了如何为 tomcat 配置 JMX 以及如何通过 rmi 公开 JMX。选项“-Djava.rmi.server.hostname=test-idc.internet2.edu”表示运行tomcat的主机名。如果您未指定主机名,则尝试从远程计算机连接会返回“连接失败”。

您需要做的就是在您的 activemq 启动脚本中设置属性 -Djava.rmi.server.hostname=localhost

if [ -z "$SUNJMX" ] ; then
  #SUNJMX="-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"
  SUNJMX="-Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=localhost"
fi

就是这样...重新启动activemq,您只能从本地计算机访问jmx。

于 2009-10-01T09:03:00.837 回答