WAS JVM Test

This test monitors the usage of the WebSphere JVM heap.

Note:

To enable the test to collect metrics related to the garbage collection and thread activity, you should enable the Java Virtual Machine Tool Interface (JVMTI) of the WebSphere Server.

Target of the test : A WebSphere application server

Agent deploying the test : An internal agent

Outputs of the test : One set of results for each JVM being monitored

Configurable parameters for the test
Parameters Description

Test period

How often should the test be executed .

Host

The IP address of the WebSphere application server

Port

The port number of the WebSphere application server

ServerHostName

Specify the host name of the application server instance being monitored.

AppPort

Specify the port number to be used for accessing the egurkha application that has been deployed on the server.

NodeName

eG Enterprise can auto-discover and auto-manage the target application server that is hosted on a container. In such containerized environments, this test can auto-discover the node name corresponding to the target server instance and report the metrics. To this effect, this parameter is set to EG_ENV_WAS_NODE.

On the other hand, if the IBM WebSphere Application Server is directly installed in the target environment, you should specify the node name of the server instance being monitored. To know the node name, do the following:

  • Login to the WebSphere Administrative Console.
  • Expand the Servers node in the tree structure in the left pane of the console, and click on the Application Servers link within.
  • A list of application server instances and their corresponding node names will then appear in the right pane of the console. From this list, you can figure out the Node that corresponds to the application server instance being monitored, and specify that name against the NodeName parameter.

ServerName

eG Enterprise can auto-discover and auto-manage the target application server that is hosted on a container. In such containerized environments, this test can auto-discover the name of target server instance and report the metrics. To this effect, this parameter is set to EG_ENV_SERVER_NAME.

On the other hand, if the IBM WebSphere Application Server is directly installed in the target environment, you should provide the name of the server instance being monitored in the SERVERNAME text box. To know the server name, do the following:

  • Login to the WebSphere Administrative Console.
  • Expand the Servers node in the tree structure in the left pane of the console, and click on the Application Servers link within.
  • A list of application server instances and their corresponding node names will then appear in the right pane of the console. From this list, you can figure out the Name of the monitored server instance, and specify that name against the ServerName parameter.

If the server instance being monitored is part of a WebSphere cluster, then you need to provide the host name that corresponds to the connector port of the Deployment Manager of the cluster as the ServerName. To determine the ServerName in this case, do the following:

  • Connect to the WebSphere Administrative console using the URL: http://<IP address of the WebSphere server:Port number of the WebSphere server>\adminor https://<IP address of the WebSphere server:Port number of the WebSphere server>\admin.
  • Login to the WebSphere Administrative console
  • Expand the System Administration node in the tree-structure in the left pane of the console and click on the Deployment Manager sub-node within.
  • In the right panel, click on the Configuration tab page to view the configuration of the Deployment Manager. In the Additional Properties section of the Configuration tab page, expand the Ports node.
  • A list of ports will then appear. Click on the Details button alongside the ports list. 
  • If the SOAP port has been set as the connector port in your environment, then scroll down the page that appears next until you view the Port Name, SOAP_CONNECTOR_ADDRESS. Make note of the Host name that corresponds to this port name. If the RMI port is the connector port in your environment, then make note of the Host name that corresponds to the Port name, BOOTSTRAP_ADDRESS.
  • Specify this Host name as the ServerName.

ConnectorPort

The applications that are deployed on a server instance use the ConnectorPort for all internal communications with the application server. The connector port can be a SOAP port or an RMI port. The default connector port however, is the SOAP port. To know the connector port number, do the following:

  • Login to the WebSphere Administrative Console.
  • Expand the Servers node in the tree structure in the left pane of the console, and click on Application Servers within.
  • A list of application server instances and their corresponding node names will then appear in the right pane of the console. In the right pane, click on the server name link that corresponds to the server instance that is being monitored.
  • Doing so invokes the Configuration of the application server instance clicked on. Scroll down the Configuration tab page to view the Communications section.
  • Expand the Ports link in this section to view a list of ports. If the default connector port is in use, then the port number displayed against SOAP_CONNECTOR_ADDRESS should be specified as the ConnectorPort. If an RMI port has been explicitly set as the connector port, then specify the port number displayed against BOOTSTRAP_ADDRESS as the ConnectorPort.

If the server instance being monitored is part of a WebSphere cluster, then you need to provide the SOAP/RMI port of the Deployment Manager of the cluster as the ConnectorPort. To determine the ConnectorPort in this case, do the following:

  • Connect to the WebSphere Administrative console using the URL: http://<IP address of the WebSphere server:Port number of the WebSphere server>\adminor https://<IP address of the WebSphere server:Port number of the WebSphere server>\admin.
  • Login to the WebSphere Administrative console.
  • Expand the System Administration node in the tree-structure in the left pane of the console and click on the Deployment Manager sub-node within.
  • In the right panel, click on the Configuration tab page to view the configuration of the Deployment Manager. In the Additional Properties section of the Configuration tab page, expand the Ports node.
  • A list of ports will then appear. If the default connector port is in use, then the port number displayed against SOAP_CONNECTOR_ADDRESS should be specified as the ConnectorPort. If an RMI port has been explicitly set as the connector port, then specify the port number displayed against BOOTSTRAP_ADDRESS as the ConnectorPort.

SSL

Select Yes if SSL (Secured Socket Layer) is to be used to connect to the WebSphere server, and No if it is not.

User

If security has been enabled for the WebSphere server being monitored, then provide a valid USER name to login to the WebSphere server. While monitoring IBM Websphere Application server 8.x and above, if the user belongs to an external LDAP directory, then, ensure that the User is assigned the Monitor role. If the WebSphere server does not require any authentication, then the USER text box should contain the default value 'none'.

Password

If security has been enabled for the WebSphere server being monitored, then provide the Password that corresponds to the specified User name. If the WebSphere server does not require any authentication, then leave the Password text box with its default setting.

Confirm Password

If security has been enabled, confirm the specified Password by retyping it in the Confirm Password text box.  If the WebSphere server does not require any authentication, then leave the Confirm Password text box with its default setting.

Measurements made by the test

Measurement

Description

Measurement Unit

Interpretation

Free memory

Indicates the amount of memory currently available in the JVM.

MB

A very low value of this measure is indicative of excessive memory utilization in the JVM.

Used memory

Indicates the amount of memory that has been currently utilized by the JVM.

MB

A high value of this measure indicates a heavy workload on the WebSphere application server. In such a case, you might want to consider increasing the JVM heap size.

GC count

Indicates the number of GC calls since the last measurement period.

Number

If adequate memory is not allotted to the JVM, then the value of this measure would be very high. A high value of this measure is indicative of a high frequency of GC. This is not a good sign, as GC, during its execution, has the tendency of suspending an application, and a high frequency of GC would only adversely impact the application's performance. To avoid this, it is recommended that you allot sufficient memory to the JVM.

Percent gc time

Indicates the percentage of time spent on GC.

Percent

If adequate memory is not allotted to the JVM, then the value of this measure would be very high. This is not a good sign, as GC, during its execution, has the tendency of suspending an application, and a high value of this measure would only adversely impact the application's performance. To avoid this, it is recommended that you allot sufficient memory to the JVM.

Percent heap used

Indicates the percentage of heap memory utilized by the JVM. 

Percent

A high value of this measure indicates a heavy workload on the WebSphere application server. In such a case, you might want to consider increasing the JVM heap size.

Objects allocated

Indicates the number of objects allocated in the heap since the last measurement period.

Number

 

Objects freed

Indicates the number of objects freed in the heap since the last measurement period.

Number

 

Objects moved

Indicates the number of objects in the heap since the last measurement period.

Number

 

Threads started

Indicates the number of threads started since the last measurement period.

Number

A high value is indicative of high server workload.

Threads ended

Indicates the number of threads that ended since the last measurement period.

Number

 

Waits for lock

Indicates the number of times a thread waits for a lock, since the last measurement period.

Number

 

Wait for lock time

Indicates the average time a thread waits for a lock.

Secs