Monitoring Applications using Java Management Extensions (JMX)

Java Management Extensions (JMX) is a standard java technology for managing and monitoring applications. It uses objects called Managed Beans or "MBeans" to achieve this, where each MBean has methods you can call to get information or execute actions. The One Network Platform includes a number of MBeans to enable application monitoring and management

One of the tools included in the server is a JMX Console. The console allows you to configure and invoke MBeans. To access the JMX Console, open the URL http://hostname/jmx-console, replacing hostname with the hostname of the computer you wish to access. For example, if you're running a development system locally, you can simply navigate to http://localhost/jmx-console, and you will see the JMX Console screen shown in the figure below.

images/download/attachments/144836403/montest_1-version-1-modificationdate-1678371531000-api-v2.png

If you are deploying a production server, be sure to protect this URL by either disabling it, or limiting access using an appropriate security measure. For example, run Platform on port 8080, fronted by Apache on port 80. Do not enable JK Workers on /jmx-console in your apache/jk config. Finally, disable external access on port 8080 in your firewall. This would enable you to access JMX internally via http://hostname:8080/jmx-console, but it would be unavailable on the internet.

If you scroll down you'll see a complete list of MBeans available to you. Those specific to One Network services can be found further down the page.

The most commonly used MBeans are:

  • Wrapper Manager - allows you to control the running JVM, but only when you are running with the "Wrapper" service. (This is typically enabled in production but not in dev.)

  • Logger - allows you to set the level of verbosity reported by the logs and the server console. This is valuable to developers and system administrators who need to debug problems with the server and applications.

  • Grid Scheduler - allows you to schedule a grid task ad-hoc. This is useful for testing and "one-off" scenarios.

  • Cache Service - allows you to refresh some of the cached values or to access cached information.

  • Modules - allows you to reach module information summaries and to reload Module Process Type definitions for all deployed modules.

  • Admin - provides miscellaneous administrative methods

  • Performance, Scalability, and Reliability (PSR) - provides real-time instrumentation and metrics for performance