Monitor Your Java Application Through JMX

JMX (Java Management Extensions) is a monitoring tool available for Java applications. Developers can enable JMX monitoring on a per component (per application version) basis and access the necessary JMX connection information through the Developer Portal. It should be noted that only Developers with the JMX Monitoring securable will be able to enable JMX monitoring, and perform the following steps. The Account Administrator can grant Developers the securable in the Account Portal.

Enable JMX for a Java Web Application Component

In the Developer Portal, navigate to the application version for which you want to enable JMX.

Under the Components subsection of the Configure tab you will see the option to Enable JMX for Java Web Application component. Check the box to enabled JMX:

The setting will take effect for any newly deployed workloads; any existing workloads will have to be redeployed for the setting to take effect.

JMX Connections

By default, the Platform is configured to generate a JMX Connection string for each workload of an application component deployed on the Platform that has JMX enabled. This JMX Connection string is specific to the workload it is connected to, meaning that if the workload is moved the connection information will change to reflect the new workload location. Due to the nature of the Platform, application workloads can move to different server locations on the Platform during normal Platform activity, like application scaling. If you need more permanent JMX Connection information, you will need to configure your Platform to host Static JMX Connections. Static JMX Connections will allow you to monitor all application workloads with a single username, password, and connection string regardless of workload movement on the Platform.

Where to find JMX Connection and Credential Information

Connection information for JMX-enabled workloads can be accessed in the Monitoring Subscriptions section of the Monitor tab for the application version by clicking the JMX Connections button:

With Default JMX Connections

Username, Password, the application workload instance(s) being monitored, and Readonly (RO) Connection(s) information will be displayed in a pop-up box:

With Static JMX Connections Enabled

Username, Password, the Readonly (RO) Static Connection, the application workload instance(s), and default Readonly (RO) Connection(s) information will be displayed in a pop-up box:

Note: A setting configured by your Platform Operator will determine whether Username and Password information will vary by version, stage, and workload (meaning they will change from version to version, Sandbox to Published, and from workload to workload even if version and stage information is identical), or if Username and Password information will remain the same regardless of version, stage, and workload.

Using a Monitoring Client

The Connection, Username, and Password information can then be used to create a connection with the workload through JMX. When using JConsole, for instance, the information should be inputted as follows:

A successful connection will take you to the JConsole Overview tab.  The actions you can perform will be limited to those granted to readonly (RO) connections. Should you need readwrite (RW) access, please contact your Platform Operator. It should be noted that RW access is only available for default workload specific JMX Connections, Static JMX Connections are always RO.