- 3 minutes to read

Multi-JVM Monitoring

This troubleshooting guide explains multi-JVM and distributed monitoring so you can use one agent for multiple JVMs, cluster monitoring, and broader agent configuration scenarios.

Architecture for Multi-JVM Monitoring

graph LR subgraph "Nodinite Instance" Monitor[" Monitoring Service"] end subgraph "Agent Host (IIS)" Agent[" JMX Monitoring Agent"] end subgraph "Gateway Host 1" GW1["fab:fa-java Spring Boot Gateway 1"] end subgraph "Gateway Host 2" GW2["fab:fa-java Spring Boot Gateway 2"] end Monitor -->|80/443| Agent Agent -->|8080| GW1 Agent -->|8080| GW2 GW1 -->|5002| JVM1[" Boomi Atom 1"] GW1 -->|5003| JVM2[" Boomi Atom 2"] GW2 -->|5002| JVM3[" Custom Java App"] GW2 -->|5003| JVM4[" Spring Boot Service"] style Agent fill:#87CEEB style GW1 fill:#90EE90 style GW2 fill:#90EE90

Diagram: Multi-JVM monitoring architecture showing one agent managing two Spring Boot Gateways, each monitoring multiple JVM Application Hosts.

Configuration for Multiple JMX Gateways

In the JMX Monitoring Agent Configuration, you can add multiple JMX Gateway entries. Each gateway represents one Spring Boot Gateway instance.

When to Use Multiple Gateways

Use multiple JMX Gateways when:

  • JVM applications are hosted on different network segments with separate Spring Boot Gateway installations
  • You want to isolate monitoring for different environments or teams
  • The number of JVM applications exceeds what a single gateway can efficiently handle

When to Use Multiple Application Hosts

Use multiple Application Host entries within a single gateway when:

  • Multiple JVM applications are accessible from the same network location
  • Boomi Atom clusters have multiple Atom workers on the same host
  • Multiple Spring Boot services run on the same server

Port Configuration for Multiple JVMs

Each JVM application must expose a unique JMX port. Ensure no two JVM applications on the same host share a JMX port:

JVM Application Host JMX Port
Boomi Atom 1 appserver01 5002
Boomi Atom 2 appserver01 5003
Custom Java App appserver02 5002
Spring Boot Service appserver02 5004

Configure the JMX port in each JVM application startup arguments:

-Dcom.sun.management.jmxremote.port=5002
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false

Important

Each JVM on the same host must use a unique JMX port. Duplicate port assignments will cause the Spring Boot Gateway to fail connecting to one of the JVM applications.

Common Multi-JVM Questions

Can I monitor JVMs on different servers from one agent?

Yes. The Spring Boot Gateway connects to JVM applications over the network using their configured JMX ports. Ensure the firewall allows outbound connections from the Gateway host to each JVM host on the configured JMX port.

How many JVMs can one agent monitor?

The JMX Monitoring Agent has no hard limit on the number of Application Hosts. In practice, monitoring 20–50 JVMs from a single agent is common. For very large environments with 50+ JVMs, consider distributing load across multiple agents.

One JVM shows Unavailable but others are fine

This typically indicates a network connectivity issue between the Spring Boot Gateway and that specific JVM. Verify:

  • The JVM application is running and JMX remote monitoring is enabled
  • The JMX port is not blocked by a host firewall
  • The JMX port configured in Nodinite matches the JVM startup argument

Next Step

OS vs JVM Monitoring
Docker Container Monitoring

Polling Frequency
Enable JMX Remote Monitoring
JMX Monitoring Agent JMX Troubleshooting Overview