- 4 minutes to read

Prerequisites for the JMX Monitoring Agent

This page describes the prerequisites to successfully install and run the Nodinite JMX Monitoring Agent to Monitor JVM CPU and Memory.

Software Requirements

The Nodinite JMX Monitoring Agent is a hosted Windows Service using NSSM and is usually installed on the JVM application server.

Product Version/Edition
Windows Server with IIS Windows 2025
Windows 2022
Windows 2019
Windows 2016
Windows 2012 R2
ASP.NET Core Runtime v6 Hosting Bundle .NET 6
JVM OpenJDK
NSSM Download

For obvious reasons, JMX Monitoring must be enabled in the JVM Application to monitor.

Below is an example configuration with parameters to enable JMX Monitoring using an unauthenticated connection not using SSL on a Java Application:

java -Dcom.sun.management.jmxremote.port=5002
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false 
-jar $ACME_HOME/lib/AcmeApp_v1337.jar server start

Firewall

Depending on where you install the Nodinite JMX Monitoring Agent with respect to Nodinite Monitoring Service and your JMX instance you may need different firewall configurations on different servers. The following illustration shows the agent installed on its own server.

The Nodinite JMX Monitoring Agent has both inbound and outbound communication:

  1. Between the Nodinite Monitoring Service and the Nodinite JMX Monitoring Agent.
  2. Between the Nodinite JMX Monitoring Agent and the Java Spring Boot Application (Gateway).
  3. Between the Nodinite Java Spring Boot Application (Gateway) and the JVM Application.
graph LR subgraph "Nodinite Core Services Server" roMonitoringService(fal:fa-watch-fitness Monitoring Service) end subgraph "JMX Environment #1" roBoomiAtom1(fab:fa-java Java Virtual Machine) end subgraph "JMX Environment #2" roBoomiAtom2(fal:fa-atom Boomi Atom) end subgraph "Host with Agent" subgraph "Spring Boot" roGW(fal:fa-hard-drive JMX API Gateway
.jar package) end subgraph "IIS" roJMXAgent(fal:fa-monitor-waveform JMX Monitoring Agent) ---|8080|roGW end roGW --- |5002| roBoomiAtom1 roGW --- |5002| roBoomiAtom2 roMonitoringService ---|80,443, ...| roJMXAgent end

1. Between the Monitoring Service and JMX Monitoring Agent

Server types: Nodinite Server (Monitoring Service), Agent Server (JMX Monitoring Agent hosted in IIS).

The following ports must be allowed on the Windows server where the agent is installed and running:

Direction Source Destination Protocol Port(s) Purpose Notes
Inbound Nodinite Server Agent Server (IIS) TCP 80 (HTTP), 443 (HTTPS) Monitoring Service communication Port depends on IIS configuration
Outbound Agent Server (IIS) Nodinite Server TCP 80 (HTTP), 443 (HTTPS) Response traffic Allowed automatically by stateful firewalls

Tip

Custom Ports: The JMX Monitoring Agent is hosted in IIS and uses HTTP/HTTPS bindings. If you use SSL/TLS or custom ports (e.g., 8080, 8443), adjust the firewall rules accordingly.

Tip

Local Installation: If the JMX Monitoring Agent and Monitoring Service run on the same server, firewall rules are typically not required for this communication (loopback traffic).

2. Between the JMX Monitoring Agent and Spring Boot Gateway

Server types: Agent Server (JMX Monitoring Agent in IIS), Gateway Server (Spring Boot .jar package hosting JMX API Gateway).

The JMX Monitoring Agent communicates with the Spring Boot Java application (JMX API Gateway) to retrieve monitoring data.

Direction Source Destination Protocol Port(s) Purpose Notes
Outbound Agent Server (IIS) Gateway Server (Spring Boot) TCP 8080 JMX API Gateway communication Default port for Spring Boot
Inbound Gateway Server (Spring Boot) Agent Server (IIS) TCP 8080 Response traffic Allowed automatically by stateful firewalls

Tip

Local Gateway: The Spring Boot Gateway is most likely installed on the same server as the JMX Monitoring Agent (local communication on 127.0.0.1). Firewalls should normally not block this loopback communication.

Tip

Custom Gateway Port: The Spring Boot Gateway port can be configured in the application properties. If you use a custom port (e.g., 9000), adjust the agent configuration and firewall rules accordingly.

3. Between the Spring Boot Gateway and JVM Applications

Server types: Gateway Server (Spring Boot JMX API Gateway), JVM Server (target Java application with JMX enabled).

The Spring Boot Gateway connects to target JVM applications via JMX to collect monitoring data.

Direction Source Destination Protocol Port(s) Purpose Notes
Outbound Gateway Server (Spring Boot) JVM Server TCP 5002 (default) JMX connection to JVM Port depends on JMX configuration
Inbound JVM Server Gateway Server (Spring Boot) TCP 5002 (default) Response traffic Allowed automatically by stateful firewalls

Tip

JMX Port Configuration: The actual port depends on the JMX Monitoring configuration for your JVM application (e.g., -Dcom.sun.management.jmxremote.port=5002). Common JMX ports include 5002, 9999, 7199 (Cassandra), 9010 (Kafka).

Tip

Multiple JVM Instances: If monitoring multiple JVM applications, each requires its own unique JMX port. Ensure the Spring Boot Gateway has outbound connectivity to all configured JMX ports.

Tip

JMX Authentication and SSL: For production environments, enable JMX authentication and SSL/TLS encryption. This may require additional certificate configuration and firewall rules for secure JMX communication.

Note

DNS Resolution: All servers (Agent Server, Gateway Server, and JVM Servers) require outbound access to DNS on TCP/UDP port 53 for name resolution. You can optionally solve this using entries in the local hosts file on each server.

Important

Stateful Firewalls: Most modern Windows Firewall implementations are stateful, meaning inbound response traffic for established outbound connections is automatically allowed. The inbound rules listed above are primarily for reference and troubleshooting scenarios where stateful inspection may be disabled or restricted.


Frequently asked questions

Additional solutions to common problems and the FAQ for the Nodinite JMX Monitoring agent exist in the Troubleshooting user guide.

Next Step

Installing the JMX Monitoring Agent
Add or manage a Monitoring Agent Configuration

JMX Monitoring Agent
Monitoring Agents
Administration