Enable JMX Remote Monitoring
This troubleshooting guide explains how to enable JMX, configure a JMX remote port, and choose the right JMX authentication and JMX SSL settings for remote monitoring.
Understanding JMX Remote Monitoring
JMX (Java Management Extensions) is a built-in Java technology for monitoring and managing JVM applications. JMX remote monitoring exposes this data over a network port so external monitoring tools like the Nodinite Spring Boot Gateway can collect it.
Diagram: JMX remote monitoring flow from a JVM application through Spring Boot Gateway to the Nodinite JMX Monitoring Agent.
Required JVM Startup Arguments
Add the following startup arguments and JVM flags to enable JMX remote monitoring:
Minimal Configuration for Development
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=5002
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
Warning
The unauthenticated, non-SSL configuration is suitable for development and monitoring within isolated internal networks only. Do not use this configuration for JVMs exposed to untrusted networks.
Production Configuration with Authentication
For production environments, enable JMX authentication:
-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=5002
-Dcom.sun.management.jmxremote.authenticate=true
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.password.file=/path/to/jmxremote.password
-Dcom.sun.management.jmxremote.access.file=/path/to/jmxremote.access
Enabling JMX in Boomi Atoms
For Boomi Atom deployments, enable JMX through the Boomi AtomSphere console:
- Log in to the Boomi AtomSphere portal.
- Navigate to Manage > Atom Management.
- Select the Atom to configure.
- Click Properties > Advanced.
- Add JMX Remote Authentication, JMX Remote Port, and JMX Remote SSL settings.
- Restart the Atom after saving.
Required Boomi Atom properties:
com.sun.management.jmxremote.port=5002com.sun.management.jmxremote.authenticate=falsecom.sun.management.jmxremote.ssl=false
Note
Restart the Boomi Atom after applying JMX configuration changes. Changes do not take effect until the Atom process restarts.
Verifying JMX Remote Access
Verify that JMX is accessible from the Spring Boot Gateway host using a simple connectivity test:
# Check JMX port is listening on the target server
netstat -an | findstr :5002
# Test connectivity from Spring Boot Gateway host (using PowerShell)
Test-NetConnection -ComputerName <JVM_HOST> -Port 5002
Common JMX Enablement Issues
JMX connection refused
Cause: JMX is not enabled or the port is blocked by a firewall.
Resolution:
- Verify the JVM started with
-Dcom.sun.management.jmxremote.port=5002 - Check that port 5002 is open in the host firewall
- Confirm the JVM process is running with
jps -l
JMX connects but Spring Boot Gateway reports timeout
Cause: The RMI callback IP is set to 127.0.0.1 instead of the host network IP.
Resolution: Add -Djava.rmi.server.hostname=<HOST_IP> to the JVM startup arguments, replacing <HOST_IP> with the IP address reachable by the Spring Boot Gateway.
Authentication error when connecting to JMX
Cause: The jmxremote.password file has incorrect permissions or the credentials are wrong.
Resolution: Ensure the password file is readable only by the JVM process owner. Verify credentials match between the password file and the Spring Boot Gateway configuration.
Next Step
Costs and Licensing
JMX Configuration
Related Topics
Docker Container Monitoring
Multi-JVM Monitoring
JMX Monitoring Agent
JMX Troubleshooting Overview