繁体   English   中英

远程JMX监控Jconsole JDK 1.7.0_91

[英]Remote JMX monitoring Jconsole JDK 1.7.0_91

我需要使用JMX监视我的VCenter Server应用程序(它是一个Java应用程序)。

我已经看过很多这方面的帖子,但是我仍然无法让它发挥作用。

VCenter正在我们内部网络上的VM上运行。

已经在wrapper.conf文件中进行了这些更改

wrapper.java.additional.22="-Dcom.sun.management.jmxremote"
wrapper.java.additional.23="-Dcom.sun.management.jmxremote.port=1100"
wrapper.java.additional.24="-Dcom.sun.management.jmxremote.ssl=false"
wrapper.java.additional.25="-Dcom.sun.management.jmxremote.authenticate=false"
wrapper.java.additional.26="-Djava.rmi.server.hostname=hostname where vcenter runs"
#wrapper.java.additional.27="-Dcom.sun.management.jmxremote.rmi.port=1100"

我能够在本地将Jconsole连接到1100端口。 一旦我启动服务,我就会看到端口正确侦听

PS U:\> netstat -an | findstr 1100
   TCP    0.0.0.0:1100           0.0.0.0:0              LISTENING
   TCP    [::]:1100              [::]:0                 LISTENING

一旦我尝试从笔记本电脑连接它,它就会显示出来

PS U:\> netstat -an | findstr 1100
  TCP    0.0.0.0:1100           0.0.0.0:0              LISTENING
  TCP    "ipofvcenterserver":1100      11.248.18.xx:51988     ESTABLISHED
  TCP    [::]:1100              [::]:0                 LISTENING

[更新]我注意到如果我添加Dcom.sun.management.jmxremote.rmi.port = 1100,并且我使用jconsole连接,则建立的连接如下所示。 但是11.248.18.xxx不是远程客户端的IP地址(我的笔记本电脑)

PS U:\> netstat -an | Findstr 1100
  TCP    0.0.0.0:1100           0.0.0.0:0              LISTENING
  TCP    ipofrmiserver:1100      11.248.18.xxx:56728     ESTABLISHED
  TCP    ipofrmiserver:1100      11.248.18.xxx:56729     ESTABLISHED
  TCP    [::]:1100              [::]:0                 LISTENING

我看到已经建立了一些连接,但jconsole仍然抱怨它无法连接

故障排除步骤已完成:

1)关闭vcenter服务器计算机上的防火墙以保持简单2)从我的笔记本电脑telnet到1100工作3)尝试将jmxremote_optional.jar复制到VMWARE_JAVA_HOME \\ lib,即C:\\ Program Files \\ VMware \\ vCenter Server \\ jre \\ lib根据这篇文章https://meteatamel.wordpress.com/2012/02/13/jmx-rmi-vs-jmxmp/ 4)能够ping运行Vcenter的服务器的主机名5)尝试没有这个包装器.java.additional .27 =“ - Dcom.sun.management.jmxremote.rmi.port = 1100”6)尝试了tcpdump,但由于我不是网络人员,所以没有任何意义。

更新日志图像 在此输入图像描述

更新配置映像

在此输入图像描述

无法想象别的什么。 如果其他人有一些线索,请建议。

终于能够让它为一项服务工作。 希望人们不必花3天的时间撕掉头发就可以搞清楚......

有问题的文件位于C:\\ Program Files \\ VMware \\ vCenter Server \\ vdcs \\ vdcserver \\ conf \\ server.xml中

<Listener accessFile="${catalina.base}/conf/jmxremote.access" authenticate="false" bind="11.168.32.xx" className="com.springsource.tcserver.serviceability.rmi.JmxSocketListener" passwordFile="${catalina.base}/conf/jmxremote.password" port="${base.jmx.port}" useSSL="false"/>

上面的绑定值似乎覆盖了wrapper.conf属性,它早于127.0.0.1。 并且将身份验证更改为false似乎暂时可以做到这一点。 现在需要努力使它更安全。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM