WSO2 Enterprise Integrator - Monitoring
WSO2 Enterprise Integrator and WSO2 Micro Integrator run on the Java Virtual Machine (JVM) and expose JMX (Java Management Extensions). Nodinite monitors them with the JMX Monitoring Agent, the same agent that monitors any other JVM workload. There is no separate WSO2 Monitoring Agent: you enable JMX remote access on each WSO2 server, add it as an Application Host in the JMX Monitoring Agent, and Nodinite alerts you when CPU or heap memory crosses your thresholds.
- ✅ One agent for every JVM - Monitor WSO2 Enterprise Integrator, WSO2 Micro Integrator, Boomi Atoms, and your own Java applications with the same JMX Monitoring Agent
- ✅ No code changes - Enable JMX remote with JVM startup options; your WSO2 artifacts stay untouched
- ✅ Threshold alerts - Get Warning and Error states for JVM CPU and free heap memory, with a duration before alerting
- ✅ Shared status - Show WSO2 runtime health in Monitor Views and route alerts with Alarm Plugins
- ✅ Logging too - Combine JVM monitoring with WSO2 Enterprise Integrator - Logging for business transaction visibility
How It Works
The Monitoring Service polls the JMX Monitoring Agent, the Spring Boot JMX Gateway reads each WSO2 JVM over JMX, and every Resource gets an OK (green), Warning (yellow), or Error (red) state from your thresholds. Ports for every hop are in the JMX firewall section.
What You Can Monitor
The JMX Monitoring Agent reads JVM-level values, so it sees each WSO2 server as a JVM. Per WSO2 server (an Application Host in the agent's Configuration) you can monitor:
- CPU - Warning and Error thresholds in percent, with a duration before the state changes
- Heap Size - Warning and Error thresholds on free heap in percent, with a duration before the state changes
The agent groups the Resources by Application and Category, so you can put each WSO2 environment in its own Monitor View and give each environment its own thresholds (Environment-Specific Thresholds).
What JMX Monitoring Doesn't Cover
The JMX Monitoring Agent doesn't read WSO2 artifacts. It doesn't list or change the state of proxy services, APIs, sequences, endpoints, or message processors, it doesn't use the WSO2 Management API or the Carbon management console, and it can't start, stop, or restart WSO2 artifacts or servers. To cover more than JVM health, combine it with:
- Web Services Monitoring Agent - Call WSO2 proxy services and APIs over HTTP(S) and alert when they don't respond as expected
- Windows Server Monitoring Agent - Watch the Windows service and the host when WSO2 runs as a Windows service
- Non-Events - Alert on missing or unexpected message volumes, based on events from WSO2 Enterprise Integrator - Logging
Enable JMX Remote on WSO2
JMX must be reachable from the Spring Boot JMX Gateway. The general steps, JVM options, and security guidance are in Enable JMX Remote Monitoring; the WSO2-specific points are below. Verify the file names and defaults for your WSO2 version.
WSO2 Enterprise Integrator 6.x (Carbon-based)
WSO2 Carbon products start their own JMX server. According to the WSO2 Carbon administration guide:
- The default ports are
RMIRegistryPort9999 andRMIServerPort11111, set in<PRODUCT_HOME>/repository/conf/carbon.xml; a client behind a firewall needs both ports. <StartRMIServer>in<PRODUCT_HOME>/repository/conf/etc/jmx.xmlturns the built-in JMX server on or off.- Remote clients sign in with a WSO2 user in the admin role, and
-Djava.rmi.server.hostname=<IP_ADDRESS>binds the JMX service to an external address.
The JMX Monitoring Agent's Application Host settings hold an address and a port, so the simplest setup is to give the WSO2 JVM a standard JMX remote port with the options in Enable JMX Remote Monitoring: add them to the JVM options of the startup script (for example <EI_HOME>/bin/integrator.sh or integrator.bat), and set com.sun.management.jmxremote.rmi.port to the same value as com.sun.management.jmxremote.port so only one port needs to be open.
WSO2 Micro Integrator (EI 7.x and MI 4.x)
The Micro Integrator exposes JMX MBeans as well (WSO2 EI 7.0 JMX Monitoring, WSO2 MI 4.2 JMX Monitoring). WSO2 documents local JConsole access and no remote JMX port, so add the standard JMX remote options to the JVM options of <MI_HOME>/bin/micro-integrator.sh or micro-integrator.bat, the same way as for EI 6.x.
Warning
An unauthenticated JMX port without TLS gives anyone who can reach it control over the JVM. Restrict it with the firewall to the Agent Server, and follow the security guidance in Enable JMX Remote Monitoring.
Get Started
- Check the JMX Monitoring Agent prerequisites, including the firewall rules between the agent, the Spring Boot JMX Gateway, and each WSO2 server.
- Install the JMX Monitoring Agent.
- Enable JMX remote on each WSO2 server (see above).
- Add each WSO2 server as an Application Host and set the CPU and Heap Size thresholds in the JMX Monitoring Agent configuration, done from the Web Client with Remote Configuration.
- Add the Resources to Monitor Views and connect Alarm Plugins.
WSO2 in Docker or Kubernetes works the same way once the JMX port is published; see Docker Container Monitoring.
Common Questions
See the WSO2 monitoring FAQ for answers about credentials, permissions, supported versions, containers, detection speed, and licensing.
Next Steps
- JMX Monitoring Agent prerequisites
- Install the JMX Monitoring Agent
- Configure the JMX Monitoring Agent
- WSO2 monitoring FAQ
Related Topics
- JMX Monitoring Agent
- WSO2 Enterprise Integrator - Logging
- Monitor Views
- Alarm Plugins
- POC
- Monitoring Agents Troubleshooting – Install, diagnostics, and multiple instances for any Monitoring Agent