我无法监控JBoss应用程序服务器并且收到一条错误消息。

我无法监控JBoss应用程序服务器并且收到一条错误消息。

以下故障排除步骤适用于JBoss版本6及以下版本。

第 1 步:JBoss主机和Applications Manager主机无法相互访问。

Applications Manager通过直接连接到JBoss JNDI命名服务来收集JBoss MBean详细信息。JBoss安装默认附带的应用程序http-invoker.sar 用于访问JBoss JNDI服务。理想情况下,一旦jbossagent.sar被发现,Applications Manager自动部署到JBoss服务器中。如果部署没有发生,您将收到“无法收集数据”消息。


Applications Manager应该能够访问运行JBoss服务器的主机,反之亦然。如果您怀疑可访问性问题,请执行以下测试来确保相同。

要确保安装JBoss的系统是否可以访问,请从安装JBoss的系统调用以下 URL:

http://<Applications Manager Host>:<Port>/resources/jbossagent.sar

要测试代理是否在JBoss中正确部署,请进入JBoss服务器中的JMX控制台并检查是否有名为“AdventNet”的域。

示例:进入URL http://<JBoss Host>:<Port>/jmx-console  并检查“AdventNet”域。如果其中一个主机不可访问,那么我们推断没有部署代理。

解决方案:

要手动部署代理,请从<Applications Manager Home>/working/resources 位置复制jbossagent.sar并粘贴到<JBoss Home>/server/default/deploy 的下面如果您在不同的域中运行JBoss那么部署目标文件夹将是<JBoss Home>/server/all/deploy。 


第 2 步:
使用自定义版本的 JBoss。

解决方案:如果您使用的是自定义版本的JBoss,应将http-invoker.sar 部署在JBoss服务器中,以便Applications Manager发现和管理它。默认情况下,该应用程序( http-invoker.sar )已经部署在JBoss服务器中了。

提示:如果它存在于您的自定义应用程序文件夹中,您可以将http-invoker.sar <JBoss Home>/server/default/deploy/ 复制到 <JBoss Home>/server/<custom server>/deploy/ 的位置。


第三步: 
更改JBoss服务器的http端口。

解决方案:

如果改变了JBoss服务器的http端口,那么也应该在<JBoss Home>/server/<JBoss_server_name>/deploy/http-invoker.sar/META-INF/jboss-service.xml 文件中修改属性InvokerURLSuffix中的端口号

确保端口号在

<JBoss Home>/server/<servername>/deploy/jbossweb-tomcat55.sar/server.xml>文件和

<JBoss Home>/server/<servername>/deploy/http-invoker.sar/META-INF/jboss-service.xml 文件中的相同。如果它们不同,请更改<jboss-service.xml>文件中的端口号。


注意: InvokerURLSuffix出现在XML中的很多地方,无论在哪里出现InvokerURLSuffix,所有端口号都应该进行更改。请参阅示例文件 - Sample_http_invoker_sar.html ,其中突出显示了所有需要更改的端口。如果在JBoss中启用了 SSL,请确保在同一文件中将http更改为https。


第 4 步:
当运行 JBoss 的机器有多个IP地址时。

解决方案:要使用正确的绑定地址来启动JBoss,请使用命令run.bat -b <ip address of the machine>启动JBoss服务器。要获取<ipaddress of the machine>,请在运行JBoss的主机中执行命令ping <hostname>。在Applications Manager中使用相同的IP地址添加 JBoss。


第 5 步:
JBoss安装在不同的网络中。Applications Manager只能连接到JBoss服务器的 IP 地址,无法解析其主机名。

解决方案:在安装Applications Manager的计算机中的/etc/hosts,添加一个条目<jbossipaddress> <jbosshostname>,以便Applications Manager可以解析JBoss主机名。为了让AppManager监控JBoss,Applications Manager应该可以访问IP和主机名。


第 6 步:JBoss和Applications Manager之间有防火墙。

解决方案:运行JBoss的端口(例如 8080) 以及主机名应该是可访问的。另外打开JBoss RMI对象端口(例如,4444)。

参考:https ://community.jboss.org/wiki/UsingJBossBehindAFirewall

第 7 步:检查您是否能够从安装了Applications Manager的计算机上访问以下链接
http:// <JBoss Host> :<Port>/invoker/JNDIFactory
检查您是否能够从安装了Jboss服务器的计算机上访问以下链接.
http://<Applications Manager Host>:port/resources/ jbossagent.sar

果您能够成功执行上述所有操作,但问题仍然存在,请发送上述
所有步骤的内联反馈或评论。

i)支持信息文件


<Applications Manager Home> - Applications Manager的安装位置
<Applications Manager Host>  - Applications Manager的主机名/IP 地址
<JBoss Home> - JBoss的安装位置
<JBoss Host> - JBoss服务器的主机名/IP 地址

如果您遇到任何问题,请使用获得的错误屏幕截图与来自Applications Manager的最新支持信息文件 (SIF),并使用所有得到的日志mes@zohocorp.com.cn联系我们的支持人员,之后我们会对问题进行分析。