- 3 minutes to read

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.

graph LR A["fab:fa-java JVM Application\n(JMX enabled on port 5002)"] B[" Spring Boot Gateway\n(JMX client)"] C[" JMX Monitoring Agent (IIS)"] D[" Nodinite Monitoring"] B -->|JMX RMI: port 5002| A C -->|HTTP: 8080| B D -->|HTTP/HTTPS| C style A fill:#90EE90 style B fill:#87CEEB

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:

  1. Log in to the Boomi AtomSphere portal.
  2. Navigate to Manage > Atom Management.
  3. Select the Atom to configure.
  4. Click Properties > Advanced.
  5. Add JMX Remote Authentication, JMX Remote Port, and JMX Remote SSL settings.
  6. Restart the Atom after saving.

Required Boomi Atom properties:

  • com.sun.management.jmxremote.port=5002
  • com.sun.management.jmxremote.authenticate=false
  • com.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:

  1. Verify the JVM started with -Dcom.sun.management.jmxremote.port=5002
  2. Check that port 5002 is open in the host firewall
  3. 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

Docker Container Monitoring
Multi-JVM Monitoring
JMX Monitoring Agent JMX Troubleshooting Overview