原因一:jbossagent.sar没有部署到JBoss服务器中
- Applications Manager通过直接连接到JBoss JNDI命名服务来收集JBoss MBean的详细信息。默认使用JBoss安装的应用程序http-invoker.sar用于访问JBoss JNDI服务。
- 理想情况下,一旦发现jbossagent.sar,就应该由Applications Manager自动部署到JBoss服务器中。如果没有即时部署,您将收到“无法收集数据”消息。
- Applications Manager应该能够访问JBoss服务器的主机,反过来也是相同的。为确保相同,请执行以下操作:
- 要检查是否可以从JBoss 机访问AppManager,请从安装JBoss服务器的计算机调用以下URL,
http://<AppMan_Host>:<AppMan_Port>/classes/jbossagent.sar- 要测试Manageengine代理是否已正确部署在JBoss服务器中,请转到JBoss服务器中的JMX控制台并检查是否有名为“Manageengine”的域。
- 示例:访问URL “http://<JBoss Server Host>:8080/jmx-console/”,并检查“Manageengine”域。
- 如果主机不可访问,那么我们推断代理没有完成部署。
- 解决方案:需要您手动部署代理,请从<AppMan_Home>/working/resources>目录中复制文件jbossagent.sar,并将其放在相应的JBoss服务器部署的文件夹中,然后重新启动JBoss服务器。
原因 2:正在使用JBoss的定制版本。- 解决方案:如果您使用的是自定义版本的JBoss,应将http-invoker.sar部署在JBoss服务器中,以便Applications Manager发现和管理它。
原因3: JBoss服务器的http端口被更改。- 解决方案:如果更改了JBoss服务器的http端口,那么属性InvokerURLSuffix中的端口号也应该在“JBoss_Home\server\<jboss_server_name>\deploy\http-invoker.sar\META-INF”下的"jboss-service.xml"文件中修。
- 确保“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”文件中的端口号。
原因 4:当JBoss主机映射了多个IP时。
- 解决方案:要使用正确的绑定地址启动JBoss,请使用命令run.bat -b <ip address of the machine>启动JBoss服务器。要获取计算机的IP地址,请在运行Applications Manager的主机中执行命令ping <hostname>。
原因 5:JBoss安装在不同的网络中。
- Applications Manager只能连接到JBoss服务器的IP地址,但无法解析其主机名。
- 对于AppManager监控JBoss,Applications Manager应该可以同时访问AP地址和主机名。
- 解决方案:
- 对于Windows,在安装Applications Manager的计算机的<WINDOWS SYSTEM DIR>\drivers\etc\hosts中添加 jbosshostname/jbossip条目,以便AppManager可以解析JBoss主机名。
- 对于Linux,在/etc/hosts文件中添加相同的条目。
原因 6: JBoss和Applications Manager之间存在防火墙。