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 system monitor 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.
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.
Here the number of classes currently loaded into the memory is displayed as well as the total number of loaded or unloaded classes.
Here you will find information about your portal server, such as uptime, loaded Java classes, memory consumption, live threads, etc.
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
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. This information helps to determine the speed of database queries if a portal has performance issues, for example.
If "true", information (origin, creator etc.) about unclosed DB connections is written to the portal.log.
If "true", an error message is written to the portal.log if a deprecated method is called.
If "true", the Bpee context variables and their values are written to the portal.log
logSeparator / logString
Adds separators or text to the portal.log to make the log easier to read when troubleshooting.
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
Timeout of the web connector (in ms, default 10 min).
Is the web connector running?
Number of available worker threads.
How many worker threads can be used at the moment?
Monitors threads for activity. When the timeout is reached, the worker thread is recycled.
Number of open requests.
Number of tasks currently processed.
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.
Starts the web connector
Stops the web connector