Enabling Performance Monitoring

Cascade versions 7.12.3 and higher ship with a performance monitoring tool, Java Melody, which tracks a number of different system metrics that can help to diagnose performance issues in the system.

By default the tool is disabled, but making a small change to one of the Cascade configuration files will enable it.

Enabling Performance Monitoring

To enable performance monitoring, do the following:
1. Shut down Cascade.
2. Edit the file named web.xml which can be found in the <Cascade Installation Directory>/tomcat/webapps/ROOT/WEB-INF directory.
3. Find this line in web.xml:

<!--  Java performance monitoring -->
Uncomment everything below this line up until the following line:
<!-- end Java performance monitoring -->
4. Save the file.
5. Start Cascade.

To access the performance monitoring interface, log in to cascade and then navigate to http://<cascade hostname>:<cascade port>/monitoring.

Disk Usage

The performance monitoring tool will store all performance data inside the tomcat "temp" directory (<Cascade Installation Directory>/tomcat/temp/) and requires a relatively small amount of disk space. This data can be deleted when it is no longer needed and will also not accumulate if the performance monitoring tool is disabled.

Disabling Performance Monitoring

To disable performance monitoring, simply comment back out the section of web.xml that was uncommented in the steps above.

Securing Performance Monitoring Tool

Java Melody does not report or store sensitive data; but if it is required that Melody be secured, it is possible to limit access to the tool by IP address. This can be achieved by editing the web.xml file mentioned in the Enabling Performance Monitoring section and adding a second init-param to the performance monitoring filter declaration which by default looks like this:

<filter>
    <filter-name>monitoring</filter-name>
    <filter-class>net.bull.javamelody.MonitoringFilter</filter-class>
    <init-param> 
      <param-name>quartz-default-listener-disabled</param-name> 
      <param-value>true</param-value> 
    </init-param> 
</filter>

The param to add is called "allowed-addr-pattern". Here is an example of what the parameter will look like in your web.xml:

<init-param>
    <param-name>allowed-addr-pattern</param-name>
    <param-value>192\.168\..*</param-value>
</init-param>

If we then add this to the filter declaration, we have:

<filter>
    <filter-name>monitoring</filter-name>
    <filter-class>net.bull.javamelody.MonitoringFilter</filter-class>
    <init-param> 
      <param-name>quartz-default-listener-disabled</param-name> 
      <param-value>true</param-value> 
    </init-param>
    <init-param>
      <param-name>allowed-addr-pattern</param-name>
      <param-value>192\.168\..*</param-value>
    </init-param>
</filter>

Note that the server must be restarted whenever changes are made to web.xml in order for them to take effect.

Alternatively, native Tomcat security features can be used to secure the monitoring app.