我想使用Jconsole和JMX监控我的ESB。我可以从localhost连接到JMX服务器,但是为了从远程机器连接到我的esb,我可以建立连接。
我在JMX configuration
文件中使用了WSO2 ESB 4.6和carbon.xml
。
<JMX>
<!--The port RMI registry is exposed-->
<RMIRegistryPort>9999</RMIRegistryPort>
<!--The port RMI server should be exposed-->
<RMIServerPort>11111</RMIServerPort>
</JMX>
答案 0 :(得分:3)
我发现了问题,我的rmi服务是在主机ip上运行的,它是“127.0.0.1”。要远程连接到jvm,我必须将外部ip绑定到主机名。要在unix系统中执行此操作,请使用命令hostname
获取主机名的名称。然后检查分配给主机名的IP,找出这个用途ping $(hostname)
,你会看到系统正在ping hosname的ip。
如果您的主机IP是默认的127.0.0.1并且您想要更改它,只需以超级用户身份编辑文件/ etc / hosts。重新启动rmi服务后,您可以从远程计算机访问它。
答案 1 :(得分:0)
看看wso2carbon.log,你会发现像INFO {org.wso2.carbon.core.init.JMXServerManager} - JMX Service URL : service:jmx:rmi://localhost:11111/jndi/rmi://localhost:9999/jmxrmi {org.wso2.carbon.core.init.JMXServerManager}
使用给定的URL从远程JMX客户端(例如JVisualVM)连接到碳服务器,并且不要忘记定义安全凭证(默认用户名/密码是admin / admin)