I'm not able to monitor the JBoss Application Server and I get an error message.

I'm not able to monitor the JBoss Application Server and I get an error message.

The below troubleshooting steps are for JBoss version 6 and below.

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.


Applications Manager should be able to access the host where JBoss server runs and vice versa. If you suspect accessibility issue, perform the following tests to ensure the same.

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


Note: InvokerURLSuffix occurs in many places in the XML, wherever InvokerURLSuffix occurs, all the port numbers should be changed. See a sample file - Sample_http_invoker_sar.html which highlights all the ports that need to be changed. If SSL is enabled in the JBoss make sure to change http as https in the same 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.


Step 6 : There is a firewall between JBoss and 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


<Applications Manager Home> - Applications Manager installation location
<Applications Manager Host> - Hostname / IP Address of Applications Manager
<JBoss Home> - JBoss installation location
<JBoss Host> - Hostname / IP Address of JBoss server

If the issue still exists, reach out to our support with the screenshot of the error obtained to appmanager-support@manageengine.com along with the latest Support Information File (SIF) from Applications Manager with print all logs enabled for analysis.