JMX Active Discovery
Last updated - 22 August, 2025
JMX Active Discovery is a LogicMonitor feature that automatically detects and monitors Java Management Extensions (JMX) objects on a device.
It can identify the following:
- All instances of a specified MBean.
- Instances filtered by specific attributes of a fully defined MBean.
- Multiple Java instances running on different ports. For each instance, it enumerates the available MBean objects.
This results in a structured array of discovered JMX objects across one or more Java Virtual Machines (JVMs), enabling streamlined monitoring in complex Java environments.
Note: LogicMonitor uses the device properties jmx.user
and jmx.pass
for authentication. These properties store the username and password needed to access the JMX interface of the monitored Java application.
Requirements for Enabling JMX Active Discovery
To configure JMX Active Discovery, toggle the Enable Active Discovery switch.
This enables LogicMonitor to automatically find the DataSource’s instances and the resources they apply to. For more information, see Active Discovery.
Parameters for JMX Active Discovery
You need to define key parameters that determine how LogicMonitor identifies and connects to JMX objects.
Parameter Name | Description |
JMX Path | Specifies the location of the MBean or MBean attribute to be discovered. The path must include the JMX domain and object name. Example: Catalina:type=Manager,host=localhost,path=* |
Service URL | (Optional) Defines the JMX service URL. If not provided, LogicMonitor uses the port defined at the device level using the jmx.port property. In that case, the default value is: service:jmx:rmi:///jndi/rmi://##HOSTNAME##:##jmx.port##/jmxrmi You can also use the ##PORT## token within the Service URL to iterate over multiple ports defined in the Ports List field. |
Ports List | Lists the ports LogicMonitor should check for JMX objects. Use a comma-separated list, typically populated by the ##jmx.ports## token. This enables flexible, per-device or per-group port configuration. |
Enabling JMX Active Discovery
- In LogicMonitor, navigate to Modules.
- Select the DataSource you want to edit (for example, a Windows-based DataSource).
- Select
Edit.
- Select the Active Discovery tab.
- Toggle the Enable Active Discovery switch.
- In the Arguments section, select “JMX” from the Discovery Method dropdown.
- In the JMX Path field, enter the path to the MBean object or attribute you want to discover.
The structure and type of the attribute specified in the JMX Path determines how instances are discovered:- Primitive type (string or integer) — The attribute’s value is returned as both the alias and the instance value.
- Array — The array index is used as the alias, and each element is returned as a separate instance.
- Map — The keys are used as aliases, and the values are returned as instance values.
For example: To return the serverInfo
value from the Catalina:type=Server
MBean, use the following format: Catalina:type=Server:serverInfo
This would return an instance value such as: Apache Tomcat/5.5.25
You can use this value in filtering.
- (Optional)In the Service URL field, enter the URL of the JMX server.
- In the Ports List field, enter a comma-separated list of ports to scan for JMX objects.
Note:
- Use
##WILDVALUE##
to represent the discovered MBean object. - Use ##WILDVALUE2## to represent the discovered attribute value if port discovery is also in use.

- You can filter discovered instances based on ports, MBean paths, or attribute values.
To add a filter do the following:- Select Add Filter.
- In the Property Name field, enter
##WILDVALUE##
or##WILDVALUE2##
if using port-based discovery. - Select an Operator from the dropdown list.
- In the Value field, enter the value to filter against.
- (Optional) Enter a Comment to describe the filter purpose.
- Select Apply to save the filter.
- Select Save.
LogicMonitor now automatically discovers JMX objects across the specified Java instances, enabling monitoring of key performance metrics without manual setup.