The JMX standard is the dedicated interface for monitoring purposes on the Java platform. It provides generic metrics for the health of the Java runtime as well as allow third-party software to transmit custom health data.
OpenWGA provides support for this interface in three ways:
- OpenWGA offers an integrated JMX server with static ports which can be used through firewalls
- The official OpenWGA server packages contain remote JMX monitoring support out of the box
- OpenWGA exposes some application data to JMX, for example regarding Connection pools
Embedded JMX Server
The embedded JMX server of OpenWGA should is the default choice for monitoring, as it provides some advantages over the debian package server. By default it is disabled but can be enabled using OpenWGA Admin Client, Menu "Configuration" > "Basic Settings". There on section "services" activate the service called "Integrated JMX server".
The embedded JMX Server of OpenWGA can be monitored through a firewall as it uses static ports for both, the RMI registry (1558) and the JMX service (29802). Both ports can be altered using optional settings for the JMX server on the "services" section.
If you configured the RMI registry port to be different from 1558 you need to specify your alternative port here.
The embedded JMX Server uses OpenWGA administrator logins for authentication. So specify a valid admin login for your server when connecting. When using VisualVM your login screen might look like this:
If you have trouble connecting here are some hints:
- Start jconsole with console parameter "-debug" to see the real error messages behind connection issues
- Ensure that the ports used by the JMX server - normally 1558 and 29802 - are accessible via telnet.
- If you cannot connect because of errors that no JMX server can be found on IP "127.0.1.1" or another address not resolvable from your client then you should try to configure a specific host name for your JMX server:
- Click "Show/hide more options" on the "services" section where you enabled the JMX server previously
- Find option "Integrated JMX Server: Hostname/IP" and add it
- Set it to a hostname/IP which you will use to connect to the server. Important: The server itself must be able to resolve this hostname/IP to point to itself.
- Sometimes it is necessary to restart OpenWGA to have this setting effective as the Java runtime may keep the old registry hostname
Now you should be able to connect and see metrics of OpenWGA and the Java runtime it runs on. This is what it looks like on VisualVM:
Specific OpenWGA metrics can be found on the "MBeans" tab of VisualVM there under path "de.innovationgate.WGAMonitor" you find:
- General status metrics of OpenWGA under subnode "WGAPublisher"
- The state of database connection pools for relational databases under subnode "DBCP-Connection-Pooling", most prominently the following ones per pool:
- NumActive - The currently active connections
- NumIdle - The currently idle connections
- MaxActive - The maximum allowed active connections. If NumActive is close to this then the pool is nearly exhausted.
Configured JMX Server of debian packages
The OpenWGA debian packages and linux installer provide the JMX interface for remote monitoring on port 1557. This does use a dynamic high-port for JMX service and is therefor not usable through firewalls.
This server is the predecessor of the integrated JMX server and now disabled by default on new installations. It can be re-enabled by adding the following Java system variable declarations to variabie CATALINA_OPTS in file /etc/openwga/server.conf.local:
-Dcom.sun.management.jmxremote.port=1557 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.password.file=/etc/openwga/jmx.passwd -Dcom.sun.management.jmxremote.access.file=/etc/openwga/jmx.access
The logins for this JMX server are managed externally in installed files on the server. The default login is username admin, password wga. This can be altered:
- When installed via OpenWGA debian packages you find logins under /etc/openwga/jmx.passwd and access rights under /etc/openwga/jmx.access
- When installed via OpenWGA linux installer you find logins under /opt/wga/jmx.passwd and access rights under /opt/wga/jmx.access
This service can be disabled if the embedded JMX server is satisfying.