Tips & Tricks - Intrexx server monitoring

In this article, we would like to take a closer look at the so-called JMX console. With the Java Management Extensions (JMX), it provides a technology that lets monitor and manage applications programmed in Java. The various tasks are performed by so-called MBeans. This gives administrators even more comprehensive options for monitoring and maintaining the Intrexx server.

For security reasons, JMX is deactivated by default for your Intrexx portal.



You can activate JMX in the portal properties. Enter a free port for communications between JConsole and the Intrexx server. Press F1 if you need help with the other settings in the dialog. After making changes, restart the portal service.



To start the JMX console, execute the "jconsole.bat" file (Linux: "jconsole.sh") in the installation directory bin/windows (Linux: opt/xtreme/bin/linux). On the login screen, log in with "servername:port". You do not need a username and password for this connection. This type of login should not be used long-term because if the server address and port are known, users can establish a JMX connection at any time. However, it is not unreasonable for development and diagnostic purposes. So if you do not need the JMX console, deactivate the corresponding setting in the portal properties and restart the portal service.

After calling the JMX console, the monitoring window is opened with various tabs. On the first tab, you will see a number of graphs showing various values such as CPU usage and the number of live threads. The graphs are updated every second. This helps you to track the resource usage accurately.

The "Memory", "Threads", "Classes" and "VM Summary" tabs provide you with more information for analysis. The last tab "MBeans" provides 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 United Planet that provide special portal analyses and methods for administration tasks.

Overview / Memory






You can monitor the memory usage of the server here like in the syste mmonitor in the Portal Manager. In the JMX console, however, these values can be read more accurately. The memory consumption is usually displayed as a zigzag curve. The Java machine performs automatic garbage collections in order to keep sufficient memory available. If necessary, you can also perform manual garbage collections (GC) to free up memory. The information includes the current memory usage of the heap, the maximum allocated memory for the heap, maximum memory usage by the heap and information about the garbage collector.

Threads




The WebConnectorWorker threads are most important when it comes to the threads. They can be recognized by the port number of the web connector in the thread name (e.g. http-nio-0.0.0.0-8102-exec-123, 8102 is the port number of the web connector assigned in the portal properties). The information here can be helpful for 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 WebConnectorWorker thread is "waiting" - i.e. it is ready to answer requests from the browser. The graph shows the current number of live threads and the highest number of live threads since the last portal service start.

Classes




Here the number of classes currently loaded into the memory is displayed as well as the total number of loaded or unloaded classes.

VM Summary




Here you will find information about your portal server, such as uptime, loaded Java classes, memory consumption, live threads, etc.

MBeans




To mention all MBeans here would go beyond the scope of this article. Therefore, we have listed and explained some specific logging MBeans from United Planet.

de.uplanet.lucy.server.management - Logging


Attribute Data type Description
JdbcTrace Boolean If "true", all database queries will be logged in the portal.log. This information helps to determine the speed of database queries if a portal has performance issues, for example.
JdbcDumpOnClose Boolean If "true", information (origin, creator etc.) about unclosed DB connections is written to the portal.log.
ThrowExceptionOn-DeprecatedCall Boolean If "true", an error message is written to the portal.log if a deprecated method is called.
BpeeDumpContext Boolean If "true", the Bpee context variables and their values are written to the portal.log

Operation Description
logSeparator / logString Adds separators or text to the portal.log to make the log easier to read when troubleshooting.
logThreadStacks Writes the stacktrace of the WebConnectorWorker threads to the portal.log. This is helpful, for example, if you want to determine the cause of a portal shutdown in the browser.

de.uplanet.lucy.server.management - WebConnector


Attribute Data type Description
Timeout Long Timeout of the web connector (in ms, default 10 min).
Running Boolean Is the web connector running?
WorkerThreadCount Int Number of available worker threads.
AliveWorkerThreadCount Int How many worker threads can be used at the moment?
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 processed.
LogRequestProcessingTime Boolean If "true", the time taken to execute a request from the browser to the WebConnector thread is written to the portal.log in milliseconds. This helps you investigate performance problems.

Operation Description
startConnector Starts the web connector
stopConnector Stops the web connector

More information

JMX console