Step 1: JBoss host and
Applications Manager host are not accessible from each other.
Applications
Manager collects JBoss MBean details by directly connecting to the JBoss JNDI
Naming service. The application http-invoker.sar which comes by default
with JBoss installation is used to access the JBoss JNDI service. Ideally jbossagent.sar should have automatically been deployed by the Applications Manager in the
JBoss server as soon as it is discovered. If this does not happen, you will get
the 'Unable to collect Data' message.
To ensure
if the system where JBoss is installed can be accessed, invoke the below URL
from the system where JBoss is installed:
http://<Applications Manager Host>:<Port>/resources/jbossagent.sar
To test
whether the agent is deployed properly in JBoss, go to the JMX Console in the
JBoss server and check if there is a domain named 'AdventNet'.
Example: Go
to the URL http://<JBoss Host>:<Port>/jmx-console
and check for 'AdventNet' domain. If either of the host is not accessible, then
we infer that the agent is not deployed.
Solution:
To deploy
the agent manually,copy jbossagent.sar from location <Applications Manager Home>/working/resources and paste under <JBoss Home>/server/default/deploy.
If you are running JBoss in different domain like all, then deployment target folder would be <JBoss Home>/server/all/deploy.
Step 2:Using
a customized version of JBoss.
Solution: If you are using a
customized version of JBoss, the http-invoker.sar should be deployed in
the JBoss Server for Applications Manager to discover and manage it. The
application (http-invoker.sar) is by default deployed in the JBoss server.
Tip: If it
is present in your custom application folder you can copy the
http-invoker.sar from the <JBoss Home>/server/default/deploy/ to <JBoss Home>/server/<custom
server>/deploy/ location.
Step 3 : The
http port of the JBoss server is changed.
Solution:
If the http
port of the JBoss server is changed then the port number in the attribute InvokerURLSuffix should also be modified in <JBoss Home>/server/<JBoss_server_name>/deploy/http-invoker.sar/META-INF/jboss-service.xml file.
Make sure
that the port number in the
<JBoss Home>/server/<servername>/deploy/jbossweb-tomcat55.sar/server.xml> file and
<JBoss Home>/server/<servername>/deploy/http-invoker.sar/META-INF/jboss-service.xml file are same. If
they are different, change the port number in <jboss-service.xml> file
Step 4:When
there are multiple IP addresses for the machine in which JBoss is running.
Solution: To start
JBoss with proper bindaddress, use the command run.bat -b <ip address of
the machine> to start the JBoss server. To obtain the <ipaddress of
the machine>, execute the command ping <hostname> in the host
where JBoss is running. Add the JBoss using same ipaddress in Applications
Manager.
Step 5 : JBoss
is installed in a different network. Applications Manager can connect only to
the JBoss server's ipaddress and could not resolve its hostname
Solution: Add
an entry for <jbossipaddress> <jbosshostname> in /etc/hosts in the
machine in which Applications Manager is installed so that Applications Manager
can resolve the JBoss host name.
For AppManager to monitor jBoss, both ip and hostname should be accessible to
Applications Manager.
Solution: Port in
which JBoss is running (for eg., 8080) and also, the Hostname should be
accessible. Also, open the JBoss RMI Object port (eg., 4444).
Refer: https://community.jboss.org/wiki/UsingJBossBehindAFirewall
Step 7 : Check if you are
able access the below link from the Applications Manager installed machine
http://<JBoss Host>:<Port>/invoker/JNDIFactory
Check
if you are able to access the below link from the Jboss Server installed
machine.
http://<Applications Manager Host>:port/resources/jbossagent.sar
If you are able to perform all the above successfully but still the issue
persists then send the inline feedback or comments for all the above steps along with
i) Support information file
ii) Jbossdebug result