我正在尝试设置JVisualVm来监控Tomcat6实例(在Ubuntu Server10.04LTS上运行)。我看过其他问题,但没有一个能直接回答我的问题。我尝试用JVisualvm连接Tomcat,它返回一个“无法连接”的错误--但是服务器正在进行TCP连接;服务器在短时间的流量突发后丢弃了连接。
我已经将其添加到/etc/default/tomcat6并重新启动了tomcat6
# This enables JMX in order to permit VisualVM to profile the JVM.
JAVA_OPTS="${JAVA_OPTS} -Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=9090 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false"我使用默认设置启动了rmiregistry:
rmiregistry &我还没有启动jstatd;在服务器上安装它需要完整的JDK,这需要X库。我不会仅仅为了得到一个单独的二进制文件而安装X。
我想知道不运行jstatd是否与此有关;我的印象是我不需要RMI或jstatd,只要我可以通过JMX端口直接使用JMX即可。
在服务器和JVisualvm客户端之间没有防火墙,iptables主机防火墙是打开的。使用jconsole会导致相同的错误。
在本地Ubuntu10.04机器上运行JVisualVM (通过使用其IP地址和JMX端口)并添加一个JMX实例运行良好-而且我既没有运行rmiregistry也没有运行jstatd -尽管监视器显示RMI线程正在运行。
问:为了能够通过JMX和JVisualVM监视Tomcat (和其他Java程序),我必须做什么(在服务器或客户端)?
提前谢谢。
发布于 2011-06-15 15:51:08
如果没有防火墙,请尝试为Tomcat设置java.rmi.server.hostname系统属性。将此代码添加到Tomcat的JAVA_OPTS中:
-Djava.rmi.server.hostname=<IP address of Ubuntu Server>你不需要启动rmiregistry,也不需要运行jstatd就可以远程监控你的Tomcat。
发布于 2013-03-26 02:18:25
需要说明的是:jstatd不需要X库,它只通过一些其他推荐的包依赖于X库。您可以让aptitude或apt-get跳过安装推荐的软件包,并安装jstatd而不安装任何X11库。
对于aptitude,请进入options➞preferences➞Install recommended automatically。有关apt-get,请参阅this question on askubuntu。
https://stackoverflow.com/questions/6347261
复制相似问题