This pattern is only available in Atrium Discovery 8.3 and later
The DiscoverWebSphere pattern performs a deep discovery of WebSphere instances via configuration files by parsing the results to build a J2EE inferred model of its Applications and Resources.
In particular it tries to:
The DiscoverWebSphere pattern triggers off the creation or confirmation of a IBM WebSphere Application Server Software Instance whose profile_dir, cell_name and node_name attributes all exist.
The pattern then tries to read the serverindex.xml file on the following path:
The pattern stops immediately if the serverindex.xml file can not be read.
The contents of the serverindex.xml file are parsed using the following xpath to extract a list of application names:
//serverEntries[@serverName="<server_name>"]/deployedApplications/text()where <server_name> is correspondent server name of trigger WebSphere Application Server Software Instance
The pattern then tries to extract results matching "ADMN0015I", "WSVR022I WSVR0100W" or "WSVR022I|WSVR0100W" from SystemOut*.log files on the following path:
From the results, it then tries to extract WebSphere's startup time using the following regular expression:
and then the timestamp and state of each application using the following regular expression:
The pattern then extracts the application name using the following regular expression:
and updates its running state.
The pattern then extracts the ear name using the following regular expression:
and lists the contents of the following directory:
The pattern then gets the JNDI names of all the resources used by each application by reading its web.xml file on the following path:
and then extract the res refs using the following xpath:
and then the res env refs using the following xpath:
If the discovered Application belongs to clustered WebSphere instance the Extended discovery pattern will search for the related SoftwareCluster Node and will create a Containment link with it.
The pattern then reads the resources.xml file for the server, node and cell to get database and mail resource information:
Also the pattern tries to check is this setup clustered by looking at existence of any directories inside 'clusters' sub-directory of the cells directory:
and then the pattern obtains cluster configuration from each found cluster.xml configuration file:
After obtaining cluster config the pattern checks for belonging of currently processing server to this cluster by result of matching the following XPath query against cluster.xml:
//members[@memberName="<server_name>"]/@memberNamewhere <server_name> is server name of current server
In successful case this means that current server belongs to this cluster and the following resources configuration file is added to list of processed files:
DatabaseDetail and MailDetail nodes are then created for each JDBC or Java Mail resource found.
JDBC Resource identification is based on using the following XPath query against any of resources.xml:
Java Mail Resource is identified by the following Xpath query:
Each resource is then linked with the apps that use it.
If the Extended WebSphere pattern determines the Resource's scope and if its configuration file belongs to cluster it will create a link to correspondent SoftwareCluster instance instead of WebSphere Application Server SoftwareInstance.