Java Management Extensions (JMX)

Axway Decision Insight embeds a JMX server for monitoring the status and health of a node in real-time. It also helps diagnose problems or performance issues.

To access the JMX server, you can either use the JMX REST API provided by Jolokia (recommended way) or use a JMX JSR160 client such as jconsole (bundled with the JDK) or VisualVM

REST API access

The Jolokia connector is accessible on the following URL: <node url>/rest/jmx

The connection requires authentication through HTTP basic authentication. Access is granted to the following authenticated user roles:

Access Required permission
Read-only access: only Get operations are authorized on the MBeans Access platform monitoring tools
Read-write access: Get, Set and all method calls are authorized Access platform administration tools

For more information about user permissions, see Managing rights.

For more information about this REST API, see the Jolokia protocol documentation.

JSR 160 access (eg JConsole)

Configuration

Default configuration

Except if you explicitly configured it during installation, the JMX server is not activated by default: no port number is provided in configuration.

To activate it, the listening JMX port must be configured. Modify the com.systar.boson.jmx.port property in conf/platform.properties.

By default, the JMX server only listens on the local network interface (127.0.0.1). It means that a connection can be established only from within the local server of the node.

You can configure the JMX server to listen on a different port and for external incoming connections. In this case, you should configure the JMX server to encrypt the connections using TLS.

To configure the JMX server, read JMX server settings


The connection requires authentication. Access to the JMX server is granted only if the authenticated user has the Access platform administration tools permission. See Managing rights for more details on permissions.

Ad hoc interactive monitoring

To connect to the JMX interface with jconsole you can either connect using the configured host / port or using the pid of the node. To identify the pid of a node, see How to identify the node process ID?

Connect using the host / port

To connect to the JMX server, follow these steps:

  1. Launch jconsole

    When the JMX connection is encrypted with SSL and you try to connect to the node using jconsole, you might not be able to connect because jconsole does not trust the certificate installed on the server.

    In this case, you should add the certificate to the default truststore (commonly named "cacert"), or you should provide a keystore containing the certificate to jconsole.

    To add a certificate to a keystore (including the default truststore), follow the procedure described in How to add a certificate into a key store?

    To start jconsole using a custom keystore, use the following command line:

    jconsole -J-Djavax.net.ssl.trustStore=<path to keystore> -J-Djavax.net.ssl.trustStorePassword=<keystore password>
  2. Select Remote process and enter the name of the server hostname and port, separated with semicolons

     

    Alternatively you can enter the full URL of the JMX server. This URL is available in var/run/jmx

  3. Enter your credentials and click Connect.

    Only users with the "Access platform API remotely" permission are allowed to connect the JMX server.

Connect using the PID

Due to the way the JMX server is started, the node process is never listed in the jconsole user interface. As a consequence, to connect to a node using its PID, launch jconsole using the following command line.

jconsole <pid>

Please note that you must have sufficient operating system privileges to connect the JMX server using the PID. If you do not have the required rights, connect using the configured host / port.

When you connect using the PID you do not need to provide additional credentials.

Read MBeans values

The essentials metrics to watch are documented in How to monitor the system health & performance.

Background monitoring

You can also monitor the health and performance of a node by regularly collecting JMX information using a tool such as jmxtrans.

Read Collect JMX beans into a tab-delimited file using jmxtrans to setup the jmxtrans tool. 

The essentials metrics to watch are documented in How to monitor the system health & performance.

Related Links