Custom JMX metrics are here!

With Dynatrace JMX monitoring extensions you can monitor anything in your JVM.

For a while now it’s been possible to track JMX (Java Managed Extensions) monitoring metrics for Tomcat, Jetty, and others. We’re now making this functionality available to you in Dynatrace!

How to create a JMX extension

  1. Create a JSON file that describes your JMX metrics and how you want to display them. You’ll find a description and examples on the Dynatrace GitHub page.
  2. To add your extension to Dynatrace, go to Settings > Monitoring extensions and click Upload custom extension.
  3. Select the plugin.json file of your JMX extension.
    Once successfully uploaded, your extension is listed on the Monitoring extensions page.
    Note: If in the future you make changes to your plugin, remember to upload the updated file version to Dynatrace.

You don’t need to restart your JVM to enable JMX extensions or make changes effective. Once your plugin is uploaded, Dynatrace automatically begins querying the defined metrics for all Java processes. These metrics are displayed on each relevant process page. If you’ve defined key metrics, you’ll see those metrics included in the infographic. If you defined key charts you’ll see those metrics displayed in an aggregate form beneath the infographic (see the HornetQ example below).

JMX metrics

Click the Further details tab to see all defined metrics. As described on the Dynatrace GitHub page, Dynatrace allows you to select any MBeans key property for viewing. The queue name property was selected for the example below.

JMX metrics

Not seeing a certain metric for your JVM? JMX monitoring is highly dynamic. If a particular metric doesn’t exist in your JVM, it’s not an error—the metric simply isn’t available.