Mule Memory Test

This test continuously monitors the JVM heap usage of each Mule application/domain and reports the percentage of memory utilized and amount of the available free memory. This way, the test forewarns administrators on possible memory contentions before it causes Out of Memory errors which in turn can increase the CPU usage due to full garbage collection events, and turn the application unresponsive.

Target of the test : A Mule ESB

Agent deploying the test : An internal/remote agent

Outputs of the test : One set of results for each application/domain on the target Mule ESB being monitored.

Configurable parameters for the test
Parameters Description

Test Period

How often should the test be executed.

Host

The host for which the test is to be configured.

Port

The port number at which the specified host listens.

JMX Remote Port

To collect metrics from a Mule ESB, the eG agent monitoring that server should be configured to use JMX to connect to the JRE used by the server and pull out the metrics of interest. Here, specify the port at which the jmx listens for requests from remote hosts. Ensure that you specify the same port that you configured in the ${MULE_HOME}/conf/wrapper.conf of the target application

For more details, refer to Pre-requisites for Monitoring the Mule ESB

JMX User,
JMX Password, and Confirm Password

By default, the JMX connector on the Mule ESB requires no authentication and security, in that case set the JMX User and JMX Password parameters as none.

If the JMX connector on the Mule ESB requires both authentication and security, then to enable the eG agent to use JMX, you need to configure the agent with the credentials of a user who is authorized to use JMX and has read only privileges. You can hence configure the JMX User and JMX Password parameters with the credentials of a user with monitor role given in jmxremote.password and jmxremote.access files. To know the credentials of such a user, refer to Pre-requisites for Monitoring the Mule ESB

Confirm the JMX Password you specify by retyping that password in the Confirm Password text box.

JNDIName

The JNDIName is a lookup name for connecting to the JMX connector. By default, this is jmxrmi. If you have registered the JMX connector in the RMI registry using a different lookup name, then you can change this default value to reflect the same. 

JMX Provider

This test uses a JMX Provider to access the MBean attributes of the Mule ESB and collect metrics. Specify the package name of this JMX Provider here. By default, this is set to com.sun.jmx.remote.protocol.

Timeout

Specify the duration (in seconds) for which this test should wait for a response from the Mule ESB. If there is no response from the server beyond the configured duration, the test will timeout. By default, this is set to 1000 seconds. 

Measurements made by the test
Measurement Description Measurement Unit Interpretation

Total memory

Indicates the total amount of memory allocated for the JVM of this application/domain.

MB

Ideally, the value of this measure should be high.

Free memory

Indicates the amount of memory available for the JVM of this application/domain.

MB

Ideally, the value of this measure should be high.

Used memory

Indicates the percentage of memory utilized by the JVM of this application/domain.

Percent

Ideally, the value of this measure should be low.

A value close to 85% is a cause for concern, and it indicates as high memory used.