JBoss server discovery

JBoss application server is a Java EE application server platform for developing and deploying enterprise Java applications, web applications, and web portals.

Discovery can detect JBoss application servers running on Linux and Windows systems. Discovery creates or updates CMDB records about the servers, hosted web applications, and web services.

Requirements

Linux
Following are the requirements for JBoss application servers running on Linux systems.
  • Set probe permissions to use these Bourne shell commands: find, cat, and dirname.
  • Enable SSH on the JBoss application server. The SSH credential must also have read permissions on the web.xml and jboss-service.xml files.
Windows

For JBoss application servers running on Windows systems, enable PowerShell on the MID Server.

Probes and sensors

Linux

Discovery uses this process to identify Linux JBoss application servers:

  1. The UNIX - Active Processes probe detects a running process that matches an org.jboss.main entry point parameter.
  2. If there is a match, a record is created in the JBoss Application Server [cmdb_ci_app_server_jboss] table. The following probes are also triggered:
    • JBoss - Find web.xml list: The sensor of this probe populates information in the Web Application [cmdb_ci_web_application] table if applicable.
    • JBoss - Get jboss-service.xml: The sensor of this probe populates information in the Web Service [cmdb_ci_web_service] table.
  3. The JBoss - Find web.xml list probe searches for the web.xml files of JBoss application server. The probe uses the classpath parameter in the running process, and then searches in the related server\default\deploy directory for the JBoss installation.
  4. If associated web applications reside in the server\default\deploy directory, the JBoss - Get web.xml probe triggers for each application. This probe reads the web.xml file for each web application and the sensor populates additional information to the Web Service [cmdb_ci_web_service] table.
  5. The Boss - Get jboss-service.xml probe uses the classpath parameter in the running process to search for the jboss-service.xml file in the related server\default\conf\ directory for the JBoss installation.
  6. If the probe successfully finds the jboss-service.xml file in the server\default\conf\ directory, the sensor reads the contents of the XML file. It then creates additional records in the Web Service [cmdb_ci_web_service] table as necessary.
Windows

Discovery uses this process to identify Windows JBoss application servers:

  1. The Windows - Active Processes probe detects a running process that matches an org.jboss.main entry point parameter.
  2. If there is a match, a record is created in the JBoss Application Server [cmdb_ci_app_server_jboss] table. The following probes are also triggered:
    • JBoss - Find web.xml list: The sensor of this probe populates information in the Web Application [cmdb_ci_web_application] table if applicable.
    • JBoss - Get jboss-service.xml: The sensor of this probe populates information in the Web Service [cmdb_ci_web_service] table.
  3. The JBoss - Find web.xml list probe searches for the web.xml files of JBoss application server. The probe uses the classpath parameter in the running process, and then searches in the related server\default\deploy directory for the JBoss installation.
  4. If associated web applications reside in the server\default\deploy directory, the JBoss - Get web.xml probe triggers for each application. This probe reads the web.xml file for each web application and the sensor populates additional information to the Web Service [cmdb_ci_web_service] table.
  5. The Boss - Get jboss-service.xml probe uses the classpath parameter in the running process to search for the jboss-service.xml file in the related server\default\conf\ directory for the JBoss installation.
  6. If the probe successfully finds the jboss-service.xml file in the server\default\conf\ directory, the sensor reads the contents of the XML file. It then creates additional records in the Web Service [cmdb_ci_web_service] table as necessary.

Data collected

Label Table name Field name Source
Name cmdb_ci_web_service name jboss-service.xml
App server cmdb_ci_web_service app_server Internal reference
Description cmdb_ci_web_application short_description web.xml
Name cmdb_ci_web_application name web.xml
Document base cmdb_ci_web_application document_base web.xml
App server cmdb_ci_web_application app_server web.xml
Servlet Name cmdb_ci_web_application servlet_name web.xml
Servlet Class cmdb_ci_web_application servlet_class web.xml

Relationships

Table 1. Relationships created
Parent class Relationship Class type
cmdb_ci_web_service Runs on::Runs cmdb_ci_linux_server
cmdb_ci_app_server_jboss Contains::Contained by cmdb_ci_web_application