Tips & Tricks - Intrexx Server Monitoring
In this post, we'd like to give you a better understanding of the JMX console. With the Java Management Extensions (JMX), it provides a technology that allows users to monitor and manage applications written in Java. These various tasks are handled by what are known as MBeans. This provides administrators with even more comprehensive options for monitoring and maintaining the Intrexx server.
For security reasons, JMX is disabled by default for your Intrexx portal.
JMX can be enabled in the portal properties. Enter a free port there for communication between JConsole and the Intrexx server. Press F1 to access help for additional settings in the dialog box. After making the changes, restart the portal.
To start the JMX console, run the "jconsole.exe" file (Linux: "jconsole.exe" for a graphical interface; for headless mode, run it remotely) in the installation directory java\packaged\windows\amd64\bin (or the equivalent directory on Linux).
On the login screen, log in using "servername:port". A username and password are not required for this connection. This type of authentication should not be used on a permanent basis, since it is possible to establish a JMX connection at any time if the server address and port are known. However, this is acceptable for development and diagnostic purposes. So, if you don't need the JMX console, disable the corresponding setting in the portal properties and restart the portal service.
After launching the JMX console, the monitoring window opens with various tabs. On the first tab, you'll see a variety of charts displaying various metrics, such as CPU usage and the number of live threads. The charts are updated every second. This makes it possible to accurately track resource utilization.
On the other tabs—Memory, Threads, Classes, and VM Summary—you can view and analyze additional information on the corresponding topics. On the last tab, "MBeans," you'll find an overview of the implemented MBeans that are integrated into JMX by default. In addition, the "de.uplanet.lucy.server.management" folder contains specific MBeans implemented by the INTREXX GmbH that provide specialized portal analyses and methods for administrative tasks.
Overview / Memory
In this overview, you can monitor the server's memory usage, similar to the System Monitor. However, these values can be read more accurately in the JMX console. Memory usage is usually represented as a zigzag curve. The Java Virtual Machine performs automatic garbage collection to ensure that there is always sufficient free memory. If necessary, you can also perform manual garbage collections (GC) here to free up memory. The information includes, for example, the current heap memory usage, the maximum memory allocated to the heap, the maximum memory occupied by the heap, and information about the garbage collector.
Threads
When it comes to threads, the WebConnectorWorkerThreads are of primary interest. A distinguishing feature is the Web Connector's port number in the thread name (e.g., http-nio-0.0.0.0-8102-exec-123, where 8102 is the Web Connector's port number specified in the portal settings ). The information here may be helpful in troubleshooting if the portal is no longer accessible in the browser, but the web server (IIS / Tomcat) is running correctly. Ideally, the status of a WebConnectorThread is "waiting"—which means it is ready to respond to requests from the browser. The graph displays the current number of live threads as well as the highest number of live threads since the portal service was last started.
Classes
This displays the number of classes currently loaded into memory, as well as the total number of classes that have been loaded or unloaded.
VM Summary
Here you'll find information about your portal server, such as uptime, loaded Java classes, memory usage, active threads, etc.
MBeans
Mentioning all the MBeans here would go beyond the scope of this post. The following section therefore introduces and explains several specific logging MBeans from the INTREXX GmbH.
de.uplanet.lucy.server.management - Logging
|
Attribute |
Data Type |
Description |
|---|---|---|
|
JdbcTrace |
Boolean |
If true, all queries made to the data source are written to portal log. This allows you to check the duration of database queries in the log file, for example, if there is a performance issue with a portal. |
|
JdbcDumpOnClose |
Boolean |
If true, information (source, producer, etc.) about open database connections is written to portal.log. |
|
ThrowExceptionOn-DeprecatedCall |
Boolean |
If true, an error message is written to portal.log when a deprecated method is called. |
|
BpeeDumpContext |
Boolean |
If true, the Bpee context variables and their values are written to portal.log. |
|
Operation |
Description |
|---|---|
|
logSeparator / logString |
Writes "Separator" or "Text" to the portal.log file, thereby improving the readability of the log during troubleshooting. |
|
logThreadStacks |
Write the stack trace of the WebConnectorWorkerThreads to portal.log. Useful, for example, for determining the cause of a portal outage in the browser. |
de.uplanet.lucy.server.management - WebConnector
|
Attribute |
Data Type |
Description |
|---|---|---|
|
Timeout |
Long |
Web Connector timeout (in ms, default 10 min). |
|
Running |
Boolean |
Is the Web Connector active? |
|
WorkerThreadCount |
Int |
Number of available worker threads. |
|
AliveWorkerThreadCount |
Int |
How many worker threads are currently available? |
|
WatchdogInterval |
Long |
Monitors threads for activity. When the timeout is reached, the worker thread is recycled. |
|
RequestCount |
Int |
Number of open requests. |
|
BusyCount |
Int |
Number of tasks currently being processed. |
|
LogRequestProcessingTime |
Boolean |
If true, the duration in milliseconds of a request's execution from the browser to the WebConnectorThread is written to portal.log. Useful for investigating performance issues. |
|
Operation |
Description |
|---|---|
|
startConnector |
Starting the Web Connector |
|
stopConnector |
Stopping the Web Connector |







