我正在尝试使用jConsole连接到远程tomcat JMX实例。但无法成功连接。有什么想法吗?
我在远程tomcat catalina.sh
中包含了以下选项
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=9004 \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.authenticate=false"
发布于 2009-08-19 14:49:04
我遇到了类似的问题,如果不是相同的话。如果在机器上本地启动jconsole,我就可以连接到JMX服务器。
RMI服务器似乎没有在正确的ip上侦听。因此,按照this related question中的建议,我添加了以下内容:
-Djava.rmi.server.hostname=<host ip>
对JAVA_OPTS
也是如此,然后它就起作用了。
发布于 2011-07-22 04:26:23
我收集了网上散布的信息,这些信息是通过其他成员的提示找到的。
JMX造成的最大痛苦是(imo),JMX打开了第二个动态分配的网络端口。防火墙(如iptables)将阻止此操作。
linux上tomcat的解决方案:
使用tomcat6.0.24或更新版本从apache tomcat附加软件下载catalina-jmx-remote.jar (使用tomcat下载页面上的浏览),将其复制到$CTALINA_HOME\lib中
这允许您设置JMX使用的两个端口
编辑server.xml中的服务器部分
<Server port="8005" ..>
...
<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPortPlatform="9840" rmiServerPortPlatform="9841"/>
设置一些环境变量(例如在setenv.sh中)
CATALINA_OPTS="
-Djava.rmi.server.hostname=IP-TO-LISTEN
-Dcom.sun.management.jmxremote.password.file=$CATALINA_BASE/conf/jmxremote.password
-Dcom.sun.management.jmxremote.access.file=$CATALINA_BASE/conf/jmxremote.access
-Dcom.sun.management.jmxremote.ssl=false"
这将激活JMX的访问控制
jmxremote.access将如下所示
monitorRole readonly
controlRole readwrite
end jmxremote.password将为
monitorRole tomcat
controlRole tomcat
(只是简单的空格)
重新启动tomcat。
现在在服务器上配置防火墙(例如iptables)
/etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 9840 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 9841 -j ACCEPT
和/etc/sysconfig/ip6tables
-A RH-Firewall-1-INPUT -m tcp -p tcp --dport 9840 -j ACCEPT
-A RH-Firewall-1-INPUT -m tcp -p tcp --dport 9841 -j ACCEPT
重新启动iptables
完成了!
现在在您的工作站上使用VisualVM或JConsole建立到我们示例中的rmiRegistryPortPlatform 9840的连接。
如果工作站和服务器之间没有更多的防火墙,它应该可以工作。
发布于 2010-05-20 04:49:21
您使用哪个字符串作为JMX连接url。我不想指出显而易见的事实,但JConsole的界面很糟糕,在我看来,它需要一个过于复杂的url才能连接到远程jmx应用程序。我的是这样的:
service:jmx:rmi:///jndi/rmi://(hostname):(jmxport)/jmxrmi
https://stackoverflow.com/questions/1263991
复制相似问题